@nutanix-scratch/dataprotection-js-client 4.0.1 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (694) hide show
  1. package/README.md +55 -48
  2. package/dist/Ntnx-Dataprotection-js-client-prod.js +1 -1
  3. package/dist/Ntnx-Dataprotection-js-client.js +1327 -540
  4. package/dist/es/ApiClient.d.ts +35 -7
  5. package/dist/es/ApiClient.js +862 -684
  6. package/dist/es/Paginable.d.ts +1 -1
  7. package/dist/es/Paginable.js +144 -183
  8. package/dist/es/apis/consistencygroups-endpoints.d.ts +84 -0
  9. package/dist/es/apis/consistencygroups-endpoints.js +267 -0
  10. package/dist/es/apis/dataprotectionclustercapabilities-endpoints.d.ts +46 -0
  11. package/dist/es/apis/dataprotectionclustercapabilities-endpoints.js +107 -0
  12. package/dist/es/apis/protectedresources-endpoints.d.ts +7 -7
  13. package/dist/es/apis/protectedresources-endpoints.js +129 -147
  14. package/dist/es/apis/recoveryplanactions-endpoints.d.ts +76 -0
  15. package/dist/es/apis/recoveryplanactions-endpoints.js +282 -0
  16. package/dist/es/apis/recoveryplanjobs-endpoints.d.ts +108 -0
  17. package/dist/es/apis/recoveryplanjobs-endpoints.js +291 -0
  18. package/dist/es/apis/recoverypoints-endpoints.d.ts +7 -27
  19. package/dist/es/apis/recoverypoints-endpoints.js +530 -571
  20. package/dist/es/index.d.ts +149 -7
  21. package/dist/es/index.js +883 -315
  22. package/dist/es/models/common/v1/config/EntityReference.d.ts +79 -0
  23. package/dist/es/models/common/v1/config/EntityReference.js +355 -0
  24. package/dist/es/models/common/v1/config/EntityType.d.ts +19 -0
  25. package/dist/es/models/common/v1/config/EntityType.js +239 -0
  26. package/dist/es/models/common/v1/config/Flag.d.ts +2 -8
  27. package/dist/es/models/common/v1/config/Flag.js +170 -211
  28. package/dist/es/models/common/v1/config/IPAddress.d.ts +2 -20
  29. package/dist/es/models/common/v1/config/IPAddress.js +170 -217
  30. package/dist/es/models/common/v1/config/IPv4Address.d.ts +2 -8
  31. package/dist/es/models/common/v1/config/IPv4Address.js +174 -215
  32. package/dist/es/models/common/v1/config/IPv6Address.d.ts +2 -8
  33. package/dist/es/models/common/v1/config/IPv6Address.js +174 -215
  34. package/dist/es/models/common/v1/config/KVPair.d.ts +2 -8
  35. package/dist/es/models/common/v1/config/KVPair.js +225 -270
  36. package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +2 -7
  37. package/dist/es/models/common/v1/config/MapOfStringWrapper.js +139 -178
  38. package/dist/es/models/common/v1/config/Message.d.ts +2 -10
  39. package/dist/es/models/common/v1/config/Message.js +213 -258
  40. package/dist/es/models/common/v1/config/MessageSeverity.js +7 -9
  41. package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +5 -10
  42. package/dist/es/models/common/v1/config/TenantAwareModel.js +138 -178
  43. package/dist/es/models/common/v1/response/ApiLink.d.ts +2 -8
  44. package/dist/es/models/common/v1/response/ApiLink.js +165 -206
  45. package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +2 -40
  46. package/dist/es/models/common/v1/response/ApiResponseMetadata.js +281 -344
  47. package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -15
  48. package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +155 -203
  49. package/dist/es/models/dataprotection/v4/common/BackupType.js +7 -9
  50. package/dist/es/models/dataprotection/v4/common/BaseRecoveryPoint.d.ts +12 -21
  51. package/dist/es/models/dataprotection/v4/common/BaseRecoveryPoint.js +281 -302
  52. package/dist/es/models/dataprotection/v4/common/BaseVmRecoveryPoint.d.ts +1 -32
  53. package/dist/es/models/dataprotection/v4/common/BaseVmRecoveryPoint.js +295 -336
  54. package/dist/es/models/dataprotection/v4/common/ClusterInfo.d.ts +5 -29
  55. package/dist/es/models/dataprotection/v4/common/ClusterInfo.js +166 -207
  56. package/dist/es/models/dataprotection/v4/common/DiskRecoveryPoint.d.ts +2 -8
  57. package/dist/es/models/dataprotection/v4/common/DiskRecoveryPoint.js +163 -206
  58. package/dist/es/models/dataprotection/v4/common/RecoveryPointStatus.js +7 -9
  59. package/dist/es/models/dataprotection/v4/common/RecoveryPointType.js +7 -9
  60. package/dist/es/models/dataprotection/v4/common/VssProperties.d.ts +2 -10
  61. package/dist/es/models/dataprotection/v4/common/VssProperties.js +222 -267
  62. package/dist/es/models/dataprotection/v4/config/AhvVmOverrideSpec.d.ts +4 -46
  63. package/dist/es/models/dataprotection/v4/config/AhvVmOverrideSpec.js +72 -226
  64. package/dist/es/models/dataprotection/v4/config/AmazonS3Bucket.d.ts +2 -8
  65. package/dist/es/models/dataprotection/v4/config/AmazonS3Bucket.js +171 -212
  66. package/dist/es/models/dataprotection/v4/config/AzureBlobStorageContainer.d.ts +2 -8
  67. package/dist/es/models/dataprotection/v4/config/AzureBlobStorageContainer.js +171 -212
  68. package/dist/es/models/dataprotection/v4/config/Capability.d.ts +71 -0
  69. package/dist/es/models/dataprotection/v4/config/Capability.js +279 -0
  70. package/dist/es/models/dataprotection/v4/config/ClusterInfoApiResponse.d.ts +2 -43
  71. package/dist/es/models/dataprotection/v4/config/ClusterInfoApiResponse.js +187 -242
  72. package/dist/es/models/dataprotection/v4/config/ConsistencyGroup.d.ts +1 -26
  73. package/dist/es/models/dataprotection/v4/config/ConsistencyGroup.js +247 -303
  74. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMember.d.ts +2 -8
  75. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMember.js +166 -207
  76. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMemberType.js +7 -9
  77. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.d.ts +2 -8
  78. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.js +171 -212
  79. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupProjection.d.ts +1 -1
  80. package/dist/es/models/dataprotection/v4/config/ConsistencyGroupProjection.js +74 -103
  81. package/dist/es/models/dataprotection/v4/config/CreateConsistencyGroupApiResponse.d.ts +2 -43
  82. package/dist/es/models/dataprotection/v4/config/CreateConsistencyGroupApiResponse.js +187 -242
  83. package/dist/es/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.d.ts +2 -43
  84. package/dist/es/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.js +187 -242
  85. package/dist/es/models/dataprotection/v4/config/CreationTimeRange.d.ts +58 -0
  86. package/dist/es/models/dataprotection/v4/config/CreationTimeRange.js +272 -0
  87. package/dist/es/models/dataprotection/v4/config/DataProtectionCapabilityName.d.ts +19 -0
  88. package/dist/es/models/dataprotection/v4/config/DataProtectionCapabilityName.js +77 -0
  89. package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapability.d.ts +34 -0
  90. package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapability.js +277 -0
  91. package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.d.ts +10 -0
  92. package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.js +124 -0
  93. package/dist/es/models/dataprotection/v4/config/DataProtectionSiteReference.d.ts +12 -18
  94. package/dist/es/models/dataprotection/v4/config/DataProtectionSiteReference.js +178 -219
  95. package/dist/es/models/dataprotection/v4/config/DeleteConsistencyGroupApiResponse.d.ts +2 -43
  96. package/dist/es/models/dataprotection/v4/config/DeleteConsistencyGroupApiResponse.js +190 -245
  97. package/dist/{lib/models/dataprotection/v4/config/MigrateConsistencyGroupApiResponse.d.ts → es/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.d.ts} +9 -50
  98. package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.js +288 -0
  99. package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.d.ts +2 -43
  100. package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.js +187 -242
  101. package/dist/es/models/dataprotection/v4/config/DisasterRecoveryLocation.d.ts +72 -0
  102. package/dist/es/models/dataprotection/v4/config/DisasterRecoveryLocation.js +292 -0
  103. package/dist/es/models/dataprotection/v4/config/EntityRecoveryResult.d.ts +79 -0
  104. package/dist/es/models/dataprotection/v4/config/EntityRecoveryResult.js +352 -0
  105. package/dist/es/models/dataprotection/v4/config/{IpAddress.d.ts → EntityReference.d.ts} +21 -26
  106. package/dist/es/models/dataprotection/v4/config/EntityReference.js +243 -0
  107. package/dist/es/models/dataprotection/v4/config/ErrorGroup.d.ts +19 -0
  108. package/dist/es/models/dataprotection/v4/config/ErrorGroup.js +113 -0
  109. package/dist/es/models/dataprotection/v4/config/ErrorMessage.d.ts +53 -0
  110. package/dist/es/models/dataprotection/v4/config/ErrorMessage.js +335 -0
  111. package/dist/es/models/dataprotection/v4/config/EsxiVmOverrideSpec.d.ts +2 -7
  112. package/dist/es/models/dataprotection/v4/config/EsxiVmOverrideSpec.js +146 -183
  113. package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityReference.d.ts +68 -0
  114. package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityReference.js +311 -0
  115. package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityType.d.ts +19 -0
  116. package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityType.js +143 -0
  117. package/dist/es/models/dataprotection/v4/config/ExecutionStepResult.d.ts +58 -0
  118. package/dist/es/models/dataprotection/v4/config/ExecutionStepResult.js +253 -0
  119. package/dist/es/models/dataprotection/v4/config/ExpirationTimeSpec.d.ts +7 -12
  120. package/dist/es/models/dataprotection/v4/config/ExpirationTimeSpec.js +143 -182
  121. package/dist/es/models/dataprotection/v4/config/FailoverDirection.d.ts +90 -0
  122. package/dist/es/models/dataprotection/v4/config/FailoverDirection.js +354 -0
  123. package/dist/es/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.d.ts +55 -0
  124. package/dist/es/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.js +274 -0
  125. package/dist/es/models/dataprotection/v4/config/GetConsistencyGroupApiResponse.d.ts +58 -0
  126. package/dist/es/models/dataprotection/v4/config/GetConsistencyGroupApiResponse.js +288 -0
  127. package/dist/es/models/dataprotection/v4/config/GetProtectedResourceApiResponse.d.ts +3 -44
  128. package/dist/es/models/dataprotection/v4/config/GetProtectedResourceApiResponse.js +187 -242
  129. package/dist/es/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.d.ts +58 -0
  130. package/dist/es/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.js +288 -0
  131. package/dist/es/models/dataprotection/v4/config/GetRecoveryPointApiResponse.d.ts +2 -43
  132. package/dist/es/models/dataprotection/v4/config/GetRecoveryPointApiResponse.js +187 -242
  133. package/dist/es/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.d.ts +2 -45
  134. package/dist/es/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.js +187 -242
  135. package/dist/es/models/dataprotection/v4/config/HostReference.d.ts +1 -17
  136. package/dist/es/models/dataprotection/v4/config/HostReference.js +154 -198
  137. package/dist/es/models/dataprotection/v4/config/HostType.js +7 -9
  138. package/dist/es/models/dataprotection/v4/config/HypervisorType.d.ts +19 -0
  139. package/dist/es/models/dataprotection/v4/config/HypervisorType.js +83 -0
  140. package/dist/es/models/dataprotection/v4/config/ListConsistencyGroupsApiResponse.d.ts +59 -0
  141. package/dist/es/models/dataprotection/v4/config/ListConsistencyGroupsApiResponse.js +315 -0
  142. package/dist/es/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.d.ts +59 -0
  143. package/dist/es/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.js +315 -0
  144. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.d.ts +59 -0
  145. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.js +315 -0
  146. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.d.ts +59 -0
  147. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.js +315 -0
  148. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.d.ts +59 -0
  149. package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.js +315 -0
  150. package/dist/es/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.d.ts +2 -43
  151. package/dist/es/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.js +213 -268
  152. package/dist/es/models/dataprotection/v4/config/LocationReference.d.ts +2 -7
  153. package/dist/es/models/dataprotection/v4/config/LocationReference.js +142 -181
  154. package/dist/es/models/dataprotection/v4/config/NutanixObjectsBucket.d.ts +2 -7
  155. package/dist/es/models/dataprotection/v4/config/NutanixObjectsBucket.js +140 -179
  156. package/dist/es/models/dataprotection/v4/config/ObjectStorageType.js +7 -9
  157. package/dist/es/models/dataprotection/v4/config/OperationType.d.ts +19 -0
  158. package/dist/es/models/dataprotection/v4/config/OperationType.js +251 -0
  159. package/dist/es/models/dataprotection/v4/config/PhaseSummary.d.ts +33 -0
  160. package/dist/es/models/dataprotection/v4/config/PhaseSummary.js +274 -0
  161. package/dist/es/models/dataprotection/v4/config/ProtectedEntityType.js +7 -9
  162. package/dist/es/models/dataprotection/v4/config/ProtectedResource.d.ts +7 -75
  163. package/dist/es/models/dataprotection/v4/config/ProtectedResource.js +309 -371
  164. package/dist/es/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.d.ts +2 -43
  165. package/dist/es/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.js +187 -242
  166. package/dist/es/models/dataprotection/v4/config/ProtectedResourceReplicationStatus.js +10 -12
  167. package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.d.ts +2 -43
  168. package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.js +187 -242
  169. package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.d.ts +10 -16
  170. package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.js +172 -213
  171. package/dist/es/models/dataprotection/v4/config/RecoveryInfo.d.ts +2 -13
  172. package/dist/es/models/dataprotection/v4/config/RecoveryInfo.js +150 -193
  173. package/dist/es/models/dataprotection/v4/config/RecoveryPlanActionType.d.ts +19 -0
  174. package/dist/es/models/dataprotection/v4/config/RecoveryPlanActionType.js +95 -0
  175. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJob.d.ts +166 -0
  176. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJob.js +738 -0
  177. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.d.ts +19 -0
  178. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.js +107 -0
  179. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.d.ts +132 -0
  180. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.js +624 -0
  181. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.d.ts +10 -0
  182. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.js +129 -0
  183. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.d.ts +19 -0
  184. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.js +89 -0
  185. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobProjection.d.ts +10 -0
  186. package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobProjection.js +128 -0
  187. package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationError.d.ts +32 -0
  188. package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationError.js +322 -0
  189. package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.d.ts +10 -0
  190. package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.js +126 -0
  191. package/dist/es/models/dataprotection/v4/config/RecoveryPoint.d.ts +34 -96
  192. package/dist/es/models/dataprotection/v4/config/RecoveryPoint.js +348 -323
  193. package/dist/es/models/dataprotection/v4/config/RecoveryPointProjection.d.ts +1 -1
  194. package/dist/es/models/dataprotection/v4/config/RecoveryPointProjection.js +75 -103
  195. package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.d.ts +2 -43
  196. package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.js +187 -242
  197. package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicationSpec.d.ts +5 -11
  198. package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicationSpec.js +172 -213
  199. package/dist/es/models/dataprotection/v4/config/RecoveryPointRepository.d.ts +1 -18
  200. package/dist/es/models/dataprotection/v4/config/RecoveryPointRepository.js +197 -247
  201. package/dist/es/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.d.ts +1 -1
  202. package/dist/es/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.js +73 -102
  203. package/dist/es/models/dataprotection/v4/config/RecoveryPointRestorationSpec.d.ts +8 -31
  204. package/dist/es/models/dataprotection/v4/config/RecoveryPointRestorationSpec.js +222 -273
  205. package/dist/es/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.d.ts +2 -43
  206. package/dist/es/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.js +187 -242
  207. package/dist/es/models/dataprotection/v4/config/RecycleBinEntry.d.ts +77 -0
  208. package/dist/es/models/dataprotection/v4/config/RecycleBinEntry.js +405 -0
  209. package/dist/es/models/dataprotection/v4/config/RecycleBinVm.d.ts +44 -0
  210. package/dist/es/models/dataprotection/v4/config/RecycleBinVm.js +352 -0
  211. package/dist/es/models/dataprotection/v4/config/RecycleBinVmProjection.d.ts +10 -0
  212. package/dist/es/models/dataprotection/v4/config/RecycleBinVmProjection.js +124 -0
  213. package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroup.d.ts +44 -0
  214. package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroup.js +352 -0
  215. package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.d.ts +10 -0
  216. package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.js +124 -0
  217. package/dist/es/models/dataprotection/v4/config/ReplicationState.d.ts +2 -16
  218. package/dist/es/models/dataprotection/v4/config/ReplicationState.js +222 -267
  219. package/dist/es/models/dataprotection/v4/config/RestorableTimeRange.d.ts +2 -8
  220. package/dist/es/models/dataprotection/v4/config/RestorableTimeRange.js +167 -208
  221. package/dist/es/models/dataprotection/v4/config/RootCauseAnalysis.d.ts +69 -0
  222. package/dist/es/models/dataprotection/v4/config/RootCauseAnalysis.js +329 -0
  223. package/dist/es/models/dataprotection/v4/config/Severity.d.ts +19 -0
  224. package/dist/es/models/dataprotection/v4/config/Severity.js +83 -0
  225. package/dist/es/models/dataprotection/v4/config/SiteProtectionInfo.d.ts +2 -26
  226. package/dist/es/models/dataprotection/v4/config/SiteProtectionInfo.js +185 -228
  227. package/dist/es/models/dataprotection/v4/config/SiteReference.d.ts +2 -8
  228. package/dist/es/models/dataprotection/v4/config/SiteReference.js +171 -212
  229. package/dist/es/models/dataprotection/v4/config/StageSummary.d.ts +22 -0
  230. package/dist/es/models/dataprotection/v4/config/StageSummary.js +230 -0
  231. package/dist/es/models/dataprotection/v4/config/Summary.d.ts +59 -0
  232. package/dist/es/models/dataprotection/v4/config/Summary.js +277 -0
  233. package/dist/es/models/dataprotection/v4/config/SynchronousReplicationRole.js +11 -13
  234. package/dist/es/models/dataprotection/v4/config/UpdateConsistencyGroupApiResponse.d.ts +2 -43
  235. package/dist/es/models/dataprotection/v4/config/UpdateConsistencyGroupApiResponse.js +209 -264
  236. package/dist/es/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.d.ts +2 -43
  237. package/dist/es/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.js +187 -242
  238. package/dist/es/models/dataprotection/v4/config/VmRecoveryPoint.d.ts +12 -1
  239. package/dist/es/models/dataprotection/v4/config/VmRecoveryPoint.js +291 -102
  240. package/dist/es/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.d.ts +26 -7
  241. package/dist/es/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.js +232 -181
  242. package/dist/es/models/dataprotection/v4/config/VolumeGroupOverrideSpec.d.ts +2 -7
  243. package/dist/es/models/dataprotection/v4/config/VolumeGroupOverrideSpec.js +143 -182
  244. package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.d.ts +18 -32
  245. package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.js +284 -307
  246. package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.d.ts +2 -13
  247. package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.js +166 -207
  248. package/dist/es/models/dataprotection/v4/config/VolumeGroupSyncContext.d.ts +1 -29
  249. package/dist/es/models/dataprotection/v4/config/VolumeGroupSyncContext.js +149 -193
  250. package/dist/es/models/dataprotection/v4/config/Witness.d.ts +1 -34
  251. package/dist/es/models/dataprotection/v4/config/Witness.js +227 -279
  252. package/dist/es/models/dataprotection/v4/config/WitnessAvailabilityStatus.js +7 -9
  253. package/dist/es/models/dataprotection/v4/content/BaseRecoveryPointSpec.d.ts +2 -8
  254. package/dist/es/models/dataprotection/v4/content/BaseRecoveryPointSpec.js +171 -212
  255. package/dist/es/models/dataprotection/v4/content/ChangedRegion.d.ts +2 -9
  256. package/dist/es/models/dataprotection/v4/content/ChangedRegion.js +189 -232
  257. package/dist/es/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.d.ts +2 -43
  258. package/dist/es/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.js +209 -264
  259. package/dist/es/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.d.ts +2 -43
  260. package/dist/es/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.js +209 -264
  261. package/dist/es/models/dataprotection/v4/content/ClusterDiscoverOperation.js +9 -11
  262. package/dist/es/models/dataprotection/v4/content/ClusterDiscoverSpec.d.ts +3 -9
  263. package/dist/es/models/dataprotection/v4/content/ClusterDiscoverSpec.js +180 -225
  264. package/dist/es/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.d.ts +11 -17
  265. package/dist/es/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.js +201 -250
  266. package/dist/es/models/dataprotection/v4/content/DiskRecoveryPointReference.d.ts +2 -8
  267. package/dist/es/models/dataprotection/v4/content/DiskRecoveryPointReference.js +172 -213
  268. package/dist/es/models/dataprotection/v4/content/FileWrapper.d.ts +36 -0
  269. package/dist/es/models/dataprotection/v4/content/FileWrapper.js +200 -0
  270. package/dist/es/models/dataprotection/v4/content/GetVssMetadataApiResponse.d.ts +8 -48
  271. package/dist/es/models/dataprotection/v4/content/GetVssMetadataApiResponse.js +188 -242
  272. package/dist/es/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.d.ts +3 -8
  273. package/dist/es/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.js +143 -182
  274. package/dist/es/models/dataprotection/v4/content/RegionType.js +7 -9
  275. package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
  276. package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.js +130 -169
  277. package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointReference.d.ts +1 -9
  278. package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointReference.js +131 -170
  279. package/dist/es/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.d.ts +10 -21
  280. package/dist/es/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.js +192 -233
  281. package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.d.ts +4 -12
  282. package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.js +131 -170
  283. package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.d.ts +4 -12
  284. package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.js +132 -171
  285. package/dist/es/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.d.ts +10 -21
  286. package/dist/es/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.js +193 -234
  287. package/dist/es/models/dataprotection/v4/error/AppMessage.d.ts +5 -15
  288. package/dist/es/models/dataprotection/v4/error/AppMessage.js +265 -314
  289. package/dist/es/models/dataprotection/v4/error/ErrorResponse.d.ts +2 -7
  290. package/dist/es/models/dataprotection/v4/error/ErrorResponse.js +192 -224
  291. package/dist/es/models/dataprotection/v4/error/SchemaValidationError.d.ts +2 -18
  292. package/dist/es/models/dataprotection/v4/error/SchemaValidationError.js +249 -300
  293. package/dist/es/models/dataprotection/v4/error/SchemaValidationErrorMessage.d.ts +2 -9
  294. package/dist/es/models/dataprotection/v4/error/SchemaValidationErrorMessage.js +191 -234
  295. package/dist/es/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.d.ts +73 -0
  296. package/dist/es/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.js +297 -0
  297. package/dist/es/models/dataprotection/v4/{config/MigrateConsistencyGroupApiResponse.d.ts → operations/CleanupRecoveryPlanResourcesApiResponse.d.ts} +9 -50
  298. package/dist/es/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.js +288 -0
  299. package/dist/es/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
  300. package/dist/es/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.js +288 -0
  301. package/dist/es/models/dataprotection/v4/operations/PlannedFailoverSpec.d.ts +37 -0
  302. package/dist/es/models/dataprotection/v4/operations/PlannedFailoverSpec.js +274 -0
  303. package/dist/es/models/dataprotection/v4/{config/SynchronousReplicaPromoteApiResponse.d.ts → operations/TestFailoverRecoveryPlanApiResponse.d.ts} +9 -50
  304. package/dist/es/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.js +288 -0
  305. package/dist/es/models/dataprotection/v4/operations/TestFailoverSpec.d.ts +26 -0
  306. package/dist/es/models/dataprotection/v4/operations/TestFailoverSpec.js +237 -0
  307. package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
  308. package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.js +288 -0
  309. package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverSpec.d.ts +37 -0
  310. package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverSpec.js +274 -0
  311. package/dist/es/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.d.ts +58 -0
  312. package/dist/es/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.js +288 -0
  313. package/dist/es/models/dataprotection/v4/operations/ValidateSpec.d.ts +24 -0
  314. package/dist/es/models/dataprotection/v4/operations/ValidateSpec.js +129 -0
  315. package/dist/es/models/prism/v4/config/TaskReference.d.ts +5 -10
  316. package/dist/es/models/prism/v4/config/TaskReference.js +151 -186
  317. package/dist/es/models/validation/ValidationError.js +26 -42
  318. package/dist/es/models/validation/ValidationScopes.js +3 -3
  319. package/dist/es/models/vmm/v4/ahv/config/CategoryReference.d.ts +47 -0
  320. package/dist/es/models/vmm/v4/ahv/config/CategoryReference.js +238 -0
  321. package/dist/es/models/vmm/v4/ahv/config/GuestStaticIpSpec.d.ts +57 -0
  322. package/dist/es/models/vmm/v4/ahv/config/GuestStaticIpSpec.js +277 -0
  323. package/dist/es/models/vmm/v4/ahv/config/OwnerReference.d.ts +47 -0
  324. package/dist/es/models/vmm/v4/ahv/config/OwnerReference.js +238 -0
  325. package/dist/es/models/vmm/v4/ahv/config/OwnershipInfo.d.ts +46 -0
  326. package/dist/es/models/vmm/v4/ahv/config/OwnershipInfo.js +233 -0
  327. package/dist/es/models/vmm/v4/ahv/config/SubnetReference.d.ts +47 -0
  328. package/dist/es/models/vmm/v4/ahv/config/SubnetReference.js +238 -0
  329. package/dist/es/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.d.ts +100 -0
  330. package/dist/es/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.js +422 -0
  331. package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.d.ts +48 -0
  332. package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.js +245 -0
  333. package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.d.ts +47 -0
  334. package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.js +236 -0
  335. package/dist/es/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.d.ts +57 -0
  336. package/dist/es/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.js +278 -0
  337. package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.d.ts +91 -0
  338. package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.js +374 -0
  339. package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.d.ts +59 -0
  340. package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.js +289 -0
  341. package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.d.ts +56 -0
  342. package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.js +269 -0
  343. package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.d.ts +47 -0
  344. package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.js +238 -0
  345. package/dist/es/utils/ValidationUtils.js +39 -69
  346. package/dist/lib/ApiClient.d.ts +35 -7
  347. package/dist/lib/ApiClient.js +862 -684
  348. package/dist/lib/Paginable.d.ts +1 -1
  349. package/dist/lib/Paginable.js +144 -183
  350. package/dist/lib/apis/consistencygroups-endpoints.d.ts +84 -0
  351. package/dist/lib/apis/consistencygroups-endpoints.js +267 -0
  352. package/dist/lib/apis/dataprotectionclustercapabilities-endpoints.d.ts +46 -0
  353. package/dist/lib/apis/dataprotectionclustercapabilities-endpoints.js +107 -0
  354. package/dist/lib/apis/protectedresources-endpoints.d.ts +7 -7
  355. package/dist/lib/apis/protectedresources-endpoints.js +129 -147
  356. package/dist/lib/apis/recoveryplanactions-endpoints.d.ts +76 -0
  357. package/dist/lib/apis/recoveryplanactions-endpoints.js +282 -0
  358. package/dist/lib/apis/recoveryplanjobs-endpoints.d.ts +108 -0
  359. package/dist/lib/apis/recoveryplanjobs-endpoints.js +291 -0
  360. package/dist/lib/apis/recoverypoints-endpoints.d.ts +7 -27
  361. package/dist/lib/apis/recoverypoints-endpoints.js +530 -571
  362. package/dist/lib/index.d.ts +149 -7
  363. package/dist/lib/index.js +883 -315
  364. package/dist/lib/models/common/v1/config/EntityReference.d.ts +79 -0
  365. package/dist/lib/models/common/v1/config/EntityReference.js +355 -0
  366. package/dist/lib/models/common/v1/config/EntityType.d.ts +19 -0
  367. package/dist/lib/models/common/v1/config/EntityType.js +239 -0
  368. package/dist/lib/models/common/v1/config/Flag.d.ts +2 -8
  369. package/dist/lib/models/common/v1/config/Flag.js +170 -211
  370. package/dist/lib/models/common/v1/config/IPAddress.d.ts +2 -20
  371. package/dist/lib/models/common/v1/config/IPAddress.js +170 -217
  372. package/dist/lib/models/common/v1/config/IPv4Address.d.ts +2 -8
  373. package/dist/lib/models/common/v1/config/IPv4Address.js +174 -215
  374. package/dist/lib/models/common/v1/config/IPv6Address.d.ts +2 -8
  375. package/dist/lib/models/common/v1/config/IPv6Address.js +174 -215
  376. package/dist/lib/models/common/v1/config/KVPair.d.ts +2 -8
  377. package/dist/lib/models/common/v1/config/KVPair.js +225 -270
  378. package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +2 -7
  379. package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +139 -178
  380. package/dist/lib/models/common/v1/config/Message.d.ts +2 -10
  381. package/dist/lib/models/common/v1/config/Message.js +213 -258
  382. package/dist/lib/models/common/v1/config/MessageSeverity.js +7 -9
  383. package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +5 -10
  384. package/dist/lib/models/common/v1/config/TenantAwareModel.js +138 -178
  385. package/dist/lib/models/common/v1/response/ApiLink.d.ts +2 -8
  386. package/dist/lib/models/common/v1/response/ApiLink.js +165 -206
  387. package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +2 -40
  388. package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +281 -344
  389. package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -15
  390. package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +155 -203
  391. package/dist/lib/models/dataprotection/v4/common/BackupType.js +7 -9
  392. package/dist/lib/models/dataprotection/v4/common/BaseRecoveryPoint.d.ts +12 -21
  393. package/dist/lib/models/dataprotection/v4/common/BaseRecoveryPoint.js +281 -302
  394. package/dist/lib/models/dataprotection/v4/common/BaseVmRecoveryPoint.d.ts +1 -32
  395. package/dist/lib/models/dataprotection/v4/common/BaseVmRecoveryPoint.js +295 -336
  396. package/dist/lib/models/dataprotection/v4/common/ClusterInfo.d.ts +5 -29
  397. package/dist/lib/models/dataprotection/v4/common/ClusterInfo.js +166 -207
  398. package/dist/lib/models/dataprotection/v4/common/DiskRecoveryPoint.d.ts +2 -8
  399. package/dist/lib/models/dataprotection/v4/common/DiskRecoveryPoint.js +163 -206
  400. package/dist/lib/models/dataprotection/v4/common/RecoveryPointStatus.js +7 -9
  401. package/dist/lib/models/dataprotection/v4/common/RecoveryPointType.js +7 -9
  402. package/dist/lib/models/dataprotection/v4/common/VssProperties.d.ts +2 -10
  403. package/dist/lib/models/dataprotection/v4/common/VssProperties.js +222 -267
  404. package/dist/lib/models/dataprotection/v4/config/AhvVmOverrideSpec.d.ts +4 -46
  405. package/dist/lib/models/dataprotection/v4/config/AhvVmOverrideSpec.js +72 -226
  406. package/dist/lib/models/dataprotection/v4/config/AmazonS3Bucket.d.ts +2 -8
  407. package/dist/lib/models/dataprotection/v4/config/AmazonS3Bucket.js +171 -212
  408. package/dist/lib/models/dataprotection/v4/config/AzureBlobStorageContainer.d.ts +2 -8
  409. package/dist/lib/models/dataprotection/v4/config/AzureBlobStorageContainer.js +171 -212
  410. package/dist/lib/models/dataprotection/v4/config/Capability.d.ts +71 -0
  411. package/dist/lib/models/dataprotection/v4/config/Capability.js +279 -0
  412. package/dist/lib/models/dataprotection/v4/config/ClusterInfoApiResponse.d.ts +2 -43
  413. package/dist/lib/models/dataprotection/v4/config/ClusterInfoApiResponse.js +187 -242
  414. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroup.d.ts +1 -26
  415. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroup.js +247 -303
  416. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMember.d.ts +2 -8
  417. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMember.js +166 -207
  418. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMemberType.js +7 -9
  419. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.d.ts +2 -8
  420. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.js +171 -212
  421. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupProjection.d.ts +1 -1
  422. package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupProjection.js +74 -103
  423. package/dist/lib/models/dataprotection/v4/config/CreateConsistencyGroupApiResponse.d.ts +2 -43
  424. package/dist/lib/models/dataprotection/v4/config/CreateConsistencyGroupApiResponse.js +187 -242
  425. package/dist/lib/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.d.ts +2 -43
  426. package/dist/lib/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.js +187 -242
  427. package/dist/lib/models/dataprotection/v4/config/CreationTimeRange.d.ts +58 -0
  428. package/dist/lib/models/dataprotection/v4/config/CreationTimeRange.js +272 -0
  429. package/dist/lib/models/dataprotection/v4/config/DataProtectionCapabilityName.d.ts +19 -0
  430. package/dist/lib/models/dataprotection/v4/config/DataProtectionCapabilityName.js +77 -0
  431. package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapability.d.ts +34 -0
  432. package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapability.js +277 -0
  433. package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.d.ts +10 -0
  434. package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.js +124 -0
  435. package/dist/lib/models/dataprotection/v4/config/DataProtectionSiteReference.d.ts +12 -18
  436. package/dist/lib/models/dataprotection/v4/config/DataProtectionSiteReference.js +178 -219
  437. package/dist/lib/models/dataprotection/v4/config/DeleteConsistencyGroupApiResponse.d.ts +2 -43
  438. package/dist/lib/models/dataprotection/v4/config/DeleteConsistencyGroupApiResponse.js +190 -245
  439. package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.d.ts +58 -0
  440. package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.js +288 -0
  441. package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.d.ts +2 -43
  442. package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.js +187 -242
  443. package/dist/lib/models/dataprotection/v4/config/DisasterRecoveryLocation.d.ts +72 -0
  444. package/dist/lib/models/dataprotection/v4/config/DisasterRecoveryLocation.js +292 -0
  445. package/dist/lib/models/dataprotection/v4/config/EntityRecoveryResult.d.ts +79 -0
  446. package/dist/lib/models/dataprotection/v4/config/EntityRecoveryResult.js +352 -0
  447. package/dist/lib/models/dataprotection/v4/config/{IpAddress.d.ts → EntityReference.d.ts} +21 -26
  448. package/dist/lib/models/dataprotection/v4/config/EntityReference.js +243 -0
  449. package/dist/lib/models/dataprotection/v4/config/ErrorGroup.d.ts +19 -0
  450. package/dist/lib/models/dataprotection/v4/config/ErrorGroup.js +113 -0
  451. package/dist/lib/models/dataprotection/v4/config/ErrorMessage.d.ts +53 -0
  452. package/dist/lib/models/dataprotection/v4/config/ErrorMessage.js +335 -0
  453. package/dist/lib/models/dataprotection/v4/config/EsxiVmOverrideSpec.d.ts +2 -7
  454. package/dist/lib/models/dataprotection/v4/config/EsxiVmOverrideSpec.js +146 -183
  455. package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityReference.d.ts +68 -0
  456. package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityReference.js +311 -0
  457. package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityType.d.ts +19 -0
  458. package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityType.js +143 -0
  459. package/dist/lib/models/dataprotection/v4/config/ExecutionStepResult.d.ts +58 -0
  460. package/dist/lib/models/dataprotection/v4/config/ExecutionStepResult.js +253 -0
  461. package/dist/lib/models/dataprotection/v4/config/ExpirationTimeSpec.d.ts +7 -12
  462. package/dist/lib/models/dataprotection/v4/config/ExpirationTimeSpec.js +143 -182
  463. package/dist/lib/models/dataprotection/v4/config/FailoverDirection.d.ts +90 -0
  464. package/dist/lib/models/dataprotection/v4/config/FailoverDirection.js +354 -0
  465. package/dist/lib/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.d.ts +55 -0
  466. package/dist/lib/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.js +274 -0
  467. package/dist/lib/models/dataprotection/v4/config/GetConsistencyGroupApiResponse.d.ts +58 -0
  468. package/dist/lib/models/dataprotection/v4/config/GetConsistencyGroupApiResponse.js +288 -0
  469. package/dist/lib/models/dataprotection/v4/config/GetProtectedResourceApiResponse.d.ts +3 -44
  470. package/dist/lib/models/dataprotection/v4/config/GetProtectedResourceApiResponse.js +187 -242
  471. package/dist/lib/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.d.ts +58 -0
  472. package/dist/lib/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.js +288 -0
  473. package/dist/lib/models/dataprotection/v4/config/GetRecoveryPointApiResponse.d.ts +2 -43
  474. package/dist/lib/models/dataprotection/v4/config/GetRecoveryPointApiResponse.js +187 -242
  475. package/dist/lib/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.d.ts +2 -45
  476. package/dist/lib/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.js +187 -242
  477. package/dist/lib/models/dataprotection/v4/config/HostReference.d.ts +1 -17
  478. package/dist/lib/models/dataprotection/v4/config/HostReference.js +154 -198
  479. package/dist/lib/models/dataprotection/v4/config/HostType.js +7 -9
  480. package/dist/lib/models/dataprotection/v4/config/HypervisorType.d.ts +19 -0
  481. package/dist/lib/models/dataprotection/v4/config/HypervisorType.js +83 -0
  482. package/dist/lib/models/dataprotection/v4/config/ListConsistencyGroupsApiResponse.d.ts +59 -0
  483. package/dist/lib/models/dataprotection/v4/config/ListConsistencyGroupsApiResponse.js +315 -0
  484. package/dist/lib/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.d.ts +59 -0
  485. package/dist/lib/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.js +315 -0
  486. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.d.ts +59 -0
  487. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.js +315 -0
  488. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.d.ts +59 -0
  489. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.js +315 -0
  490. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.d.ts +59 -0
  491. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.js +315 -0
  492. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.d.ts +2 -43
  493. package/dist/lib/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.js +213 -268
  494. package/dist/lib/models/dataprotection/v4/config/LocationReference.d.ts +2 -7
  495. package/dist/lib/models/dataprotection/v4/config/LocationReference.js +142 -181
  496. package/dist/lib/models/dataprotection/v4/config/NutanixObjectsBucket.d.ts +2 -7
  497. package/dist/lib/models/dataprotection/v4/config/NutanixObjectsBucket.js +140 -179
  498. package/dist/lib/models/dataprotection/v4/config/ObjectStorageType.js +7 -9
  499. package/dist/lib/models/dataprotection/v4/config/OperationType.d.ts +19 -0
  500. package/dist/lib/models/dataprotection/v4/config/OperationType.js +251 -0
  501. package/dist/lib/models/dataprotection/v4/config/PhaseSummary.d.ts +33 -0
  502. package/dist/lib/models/dataprotection/v4/config/PhaseSummary.js +274 -0
  503. package/dist/lib/models/dataprotection/v4/config/ProtectedEntityType.js +7 -9
  504. package/dist/lib/models/dataprotection/v4/config/ProtectedResource.d.ts +7 -75
  505. package/dist/lib/models/dataprotection/v4/config/ProtectedResource.js +309 -371
  506. package/dist/lib/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.d.ts +2 -43
  507. package/dist/lib/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.js +187 -242
  508. package/dist/lib/models/dataprotection/v4/config/ProtectedResourceReplicationStatus.js +10 -12
  509. package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.d.ts +2 -43
  510. package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.js +187 -242
  511. package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.d.ts +10 -16
  512. package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.js +172 -213
  513. package/dist/lib/models/dataprotection/v4/config/RecoveryInfo.d.ts +2 -13
  514. package/dist/lib/models/dataprotection/v4/config/RecoveryInfo.js +150 -193
  515. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanActionType.d.ts +19 -0
  516. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanActionType.js +95 -0
  517. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJob.d.ts +166 -0
  518. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJob.js +738 -0
  519. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.d.ts +19 -0
  520. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.js +107 -0
  521. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.d.ts +132 -0
  522. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.js +624 -0
  523. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.d.ts +10 -0
  524. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.js +129 -0
  525. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.d.ts +19 -0
  526. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.js +89 -0
  527. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobProjection.d.ts +10 -0
  528. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobProjection.js +128 -0
  529. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationError.d.ts +32 -0
  530. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationError.js +322 -0
  531. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.d.ts +10 -0
  532. package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.js +126 -0
  533. package/dist/lib/models/dataprotection/v4/config/RecoveryPoint.d.ts +34 -96
  534. package/dist/lib/models/dataprotection/v4/config/RecoveryPoint.js +348 -323
  535. package/dist/lib/models/dataprotection/v4/config/RecoveryPointProjection.d.ts +1 -1
  536. package/dist/lib/models/dataprotection/v4/config/RecoveryPointProjection.js +75 -103
  537. package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.d.ts +2 -43
  538. package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.js +187 -242
  539. package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicationSpec.d.ts +5 -11
  540. package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicationSpec.js +172 -213
  541. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepository.d.ts +1 -18
  542. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepository.js +197 -247
  543. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.d.ts +1 -1
  544. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.js +73 -102
  545. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestorationSpec.d.ts +8 -31
  546. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestorationSpec.js +222 -273
  547. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.d.ts +2 -43
  548. package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.js +187 -242
  549. package/dist/lib/models/dataprotection/v4/config/RecycleBinEntry.d.ts +77 -0
  550. package/dist/lib/models/dataprotection/v4/config/RecycleBinEntry.js +405 -0
  551. package/dist/lib/models/dataprotection/v4/config/RecycleBinVm.d.ts +44 -0
  552. package/dist/lib/models/dataprotection/v4/config/RecycleBinVm.js +352 -0
  553. package/dist/lib/models/dataprotection/v4/config/RecycleBinVmProjection.d.ts +10 -0
  554. package/dist/lib/models/dataprotection/v4/config/RecycleBinVmProjection.js +124 -0
  555. package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroup.d.ts +44 -0
  556. package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroup.js +352 -0
  557. package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.d.ts +10 -0
  558. package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.js +124 -0
  559. package/dist/lib/models/dataprotection/v4/config/ReplicationState.d.ts +2 -16
  560. package/dist/lib/models/dataprotection/v4/config/ReplicationState.js +222 -267
  561. package/dist/lib/models/dataprotection/v4/config/RestorableTimeRange.d.ts +2 -8
  562. package/dist/lib/models/dataprotection/v4/config/RestorableTimeRange.js +167 -208
  563. package/dist/lib/models/dataprotection/v4/config/RootCauseAnalysis.d.ts +69 -0
  564. package/dist/lib/models/dataprotection/v4/config/RootCauseAnalysis.js +329 -0
  565. package/dist/lib/models/dataprotection/v4/config/Severity.d.ts +19 -0
  566. package/dist/lib/models/dataprotection/v4/config/Severity.js +83 -0
  567. package/dist/lib/models/dataprotection/v4/config/SiteProtectionInfo.d.ts +2 -26
  568. package/dist/lib/models/dataprotection/v4/config/SiteProtectionInfo.js +185 -228
  569. package/dist/lib/models/dataprotection/v4/config/SiteReference.d.ts +2 -8
  570. package/dist/lib/models/dataprotection/v4/config/SiteReference.js +171 -212
  571. package/dist/lib/models/dataprotection/v4/config/StageSummary.d.ts +22 -0
  572. package/dist/lib/models/dataprotection/v4/config/StageSummary.js +230 -0
  573. package/dist/lib/models/dataprotection/v4/config/Summary.d.ts +59 -0
  574. package/dist/lib/models/dataprotection/v4/config/Summary.js +277 -0
  575. package/dist/lib/models/dataprotection/v4/config/SynchronousReplicationRole.js +11 -13
  576. package/dist/lib/models/dataprotection/v4/config/UpdateConsistencyGroupApiResponse.d.ts +2 -43
  577. package/dist/lib/models/dataprotection/v4/config/UpdateConsistencyGroupApiResponse.js +209 -264
  578. package/dist/lib/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.d.ts +2 -43
  579. package/dist/lib/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.js +187 -242
  580. package/dist/lib/models/dataprotection/v4/config/VmRecoveryPoint.d.ts +12 -1
  581. package/dist/lib/models/dataprotection/v4/config/VmRecoveryPoint.js +291 -102
  582. package/dist/lib/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.d.ts +26 -7
  583. package/dist/lib/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.js +232 -181
  584. package/dist/lib/models/dataprotection/v4/config/VolumeGroupOverrideSpec.d.ts +2 -7
  585. package/dist/lib/models/dataprotection/v4/config/VolumeGroupOverrideSpec.js +143 -182
  586. package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.d.ts +18 -32
  587. package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.js +284 -307
  588. package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.d.ts +2 -13
  589. package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.js +166 -207
  590. package/dist/lib/models/dataprotection/v4/config/VolumeGroupSyncContext.d.ts +1 -29
  591. package/dist/lib/models/dataprotection/v4/config/VolumeGroupSyncContext.js +149 -193
  592. package/dist/lib/models/dataprotection/v4/config/Witness.d.ts +1 -34
  593. package/dist/lib/models/dataprotection/v4/config/Witness.js +227 -279
  594. package/dist/lib/models/dataprotection/v4/config/WitnessAvailabilityStatus.js +7 -9
  595. package/dist/lib/models/dataprotection/v4/content/BaseRecoveryPointSpec.d.ts +2 -8
  596. package/dist/lib/models/dataprotection/v4/content/BaseRecoveryPointSpec.js +171 -212
  597. package/dist/lib/models/dataprotection/v4/content/ChangedRegion.d.ts +2 -9
  598. package/dist/lib/models/dataprotection/v4/content/ChangedRegion.js +189 -232
  599. package/dist/lib/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.d.ts +2 -43
  600. package/dist/lib/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.js +209 -264
  601. package/dist/lib/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.d.ts +2 -43
  602. package/dist/lib/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.js +209 -264
  603. package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverOperation.js +9 -11
  604. package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverSpec.d.ts +3 -9
  605. package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverSpec.js +180 -225
  606. package/dist/lib/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.d.ts +11 -17
  607. package/dist/lib/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.js +201 -250
  608. package/dist/lib/models/dataprotection/v4/content/DiskRecoveryPointReference.d.ts +2 -8
  609. package/dist/lib/models/dataprotection/v4/content/DiskRecoveryPointReference.js +172 -213
  610. package/dist/lib/models/dataprotection/v4/content/FileWrapper.d.ts +36 -0
  611. package/dist/lib/models/dataprotection/v4/content/FileWrapper.js +200 -0
  612. package/dist/lib/models/dataprotection/v4/content/GetVssMetadataApiResponse.d.ts +8 -48
  613. package/dist/lib/models/dataprotection/v4/content/GetVssMetadataApiResponse.js +188 -242
  614. package/dist/lib/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.d.ts +3 -8
  615. package/dist/lib/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.js +143 -182
  616. package/dist/lib/models/dataprotection/v4/content/RegionType.js +7 -9
  617. package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
  618. package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.js +130 -169
  619. package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointReference.d.ts +1 -9
  620. package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointReference.js +131 -170
  621. package/dist/lib/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.d.ts +10 -21
  622. package/dist/lib/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.js +192 -233
  623. package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.d.ts +4 -12
  624. package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.js +131 -170
  625. package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.d.ts +4 -12
  626. package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.js +132 -171
  627. package/dist/lib/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.d.ts +10 -21
  628. package/dist/lib/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.js +193 -234
  629. package/dist/lib/models/dataprotection/v4/error/AppMessage.d.ts +5 -15
  630. package/dist/lib/models/dataprotection/v4/error/AppMessage.js +265 -314
  631. package/dist/lib/models/dataprotection/v4/error/ErrorResponse.d.ts +2 -7
  632. package/dist/lib/models/dataprotection/v4/error/ErrorResponse.js +192 -224
  633. package/dist/lib/models/dataprotection/v4/error/SchemaValidationError.d.ts +2 -18
  634. package/dist/lib/models/dataprotection/v4/error/SchemaValidationError.js +249 -300
  635. package/dist/lib/models/dataprotection/v4/error/SchemaValidationErrorMessage.d.ts +2 -9
  636. package/dist/lib/models/dataprotection/v4/error/SchemaValidationErrorMessage.js +191 -234
  637. package/dist/lib/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.d.ts +73 -0
  638. package/dist/lib/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.js +297 -0
  639. package/dist/lib/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.d.ts +58 -0
  640. package/dist/lib/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.js +288 -0
  641. package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
  642. package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.js +288 -0
  643. package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverSpec.d.ts +37 -0
  644. package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverSpec.js +274 -0
  645. package/dist/lib/models/dataprotection/v4/{config/SynchronousReplicaPromoteApiResponse.d.ts → operations/TestFailoverRecoveryPlanApiResponse.d.ts} +9 -50
  646. package/dist/lib/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.js +288 -0
  647. package/dist/lib/models/dataprotection/v4/operations/TestFailoverSpec.d.ts +26 -0
  648. package/dist/lib/models/dataprotection/v4/operations/TestFailoverSpec.js +237 -0
  649. package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
  650. package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.js +288 -0
  651. package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverSpec.d.ts +37 -0
  652. package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverSpec.js +274 -0
  653. package/dist/lib/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.d.ts +58 -0
  654. package/dist/lib/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.js +288 -0
  655. package/dist/lib/models/dataprotection/v4/operations/ValidateSpec.d.ts +24 -0
  656. package/dist/lib/models/dataprotection/v4/operations/ValidateSpec.js +129 -0
  657. package/dist/lib/models/prism/v4/config/TaskReference.d.ts +5 -10
  658. package/dist/lib/models/prism/v4/config/TaskReference.js +151 -186
  659. package/dist/lib/models/validation/ValidationError.js +26 -42
  660. package/dist/lib/models/validation/ValidationScopes.js +3 -3
  661. package/dist/lib/models/vmm/v4/ahv/config/CategoryReference.d.ts +47 -0
  662. package/dist/lib/models/vmm/v4/ahv/config/CategoryReference.js +238 -0
  663. package/dist/lib/models/vmm/v4/ahv/config/GuestStaticIpSpec.d.ts +57 -0
  664. package/dist/lib/models/vmm/v4/ahv/config/GuestStaticIpSpec.js +277 -0
  665. package/dist/lib/models/vmm/v4/ahv/config/OwnerReference.d.ts +47 -0
  666. package/dist/lib/models/vmm/v4/ahv/config/OwnerReference.js +238 -0
  667. package/dist/lib/models/vmm/v4/ahv/config/OwnershipInfo.d.ts +46 -0
  668. package/dist/lib/models/vmm/v4/ahv/config/OwnershipInfo.js +233 -0
  669. package/dist/lib/models/vmm/v4/ahv/config/SubnetReference.d.ts +47 -0
  670. package/dist/lib/models/vmm/v4/ahv/config/SubnetReference.js +238 -0
  671. package/dist/lib/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.d.ts +100 -0
  672. package/dist/lib/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.js +422 -0
  673. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.d.ts +48 -0
  674. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.js +245 -0
  675. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.d.ts +47 -0
  676. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.js +236 -0
  677. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.d.ts +57 -0
  678. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.js +278 -0
  679. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.d.ts +91 -0
  680. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.js +374 -0
  681. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.d.ts +59 -0
  682. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.js +289 -0
  683. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.d.ts +56 -0
  684. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.js +269 -0
  685. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.d.ts +47 -0
  686. package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.js +238 -0
  687. package/dist/lib/utils/ValidationUtils.js +39 -69
  688. package/package.json +2 -2
  689. package/dist/es/models/dataprotection/v4/config/IpAddress.js +0 -282
  690. package/dist/es/models/dataprotection/v4/config/MigrateConsistencyGroupApiResponse.js +0 -343
  691. package/dist/es/models/dataprotection/v4/config/SynchronousReplicaPromoteApiResponse.js +0 -343
  692. package/dist/lib/models/dataprotection/v4/config/IpAddress.js +0 -282
  693. package/dist/lib/models/dataprotection/v4/config/MigrateConsistencyGroupApiResponse.js +0 -343
  694. package/dist/lib/models/dataprotection/v4/config/SynchronousReplicaPromoteApiResponse.js +0 -343
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Dataprotection=t())}("undefined"==typeof self?this:self,(()=>(()=>{var e={960:e=>{function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},340:e=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=s,s.default=s,s.stable=f,s.stableStringify=f;var n="[...]",r="[Circular]",o=[],i=[];function a(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,n,r){var s;void 0===r&&(r=a()),c(e,"",0,[],void 0,0,r);try{s=0===i.length?JSON.stringify(e,t,n):JSON.stringify(e,d(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==o.length;){var u=o.pop();4===u.length?Object.defineProperty(u[0],u[1],u[3]):u[0][u[1]]=u[2]}}return s}function u(e,t,n,r){var a=Object.getOwnPropertyDescriptor(r,n);void 0!==a.get?a.configurable?(Object.defineProperty(r,n,{value:e}),o.push([r,n,t,a])):i.push([t,n,e]):(r[n]=e,o.push([r,n,t]))}function c(e,o,i,a,s,l,f){var p;if(l+=1,"object"===t(e)&&null!==e){for(p=0;p<a.length;p++)if(a[p]===e)return void u(r,e,o,s);if(void 0!==f.depthLimit&&l>f.depthLimit)return void u(n,e,o,s);if(void 0!==f.edgesLimit&&i+1>f.edgesLimit)return void u(n,e,o,s);if(a.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,a,e,l,f);else{var d=Object.keys(e);for(p=0;p<d.length;p++){var y=d[p];c(e[y],y,p,a,e,l,f)}}a.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function f(e,t,n,r){void 0===r&&(r=a());var s,u=p(e,"",0,[],void 0,0,r)||e;try{s=0===i.length?JSON.stringify(u,t,n):JSON.stringify(u,d(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==o.length;){var c=o.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return s}function p(e,i,a,s,c,f,d){var y;if(f+=1,"object"===t(e)&&null!==e){for(y=0;y<s.length;y++)if(s[y]===e)return void u(r,e,i,c);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==d.depthLimit&&f>d.depthLimit)return void u(n,e,i,c);if(void 0!==d.edgesLimit&&a+1>d.edgesLimit)return void u(n,e,i,c);if(s.push(e),Array.isArray(e))for(y=0;y<e.length;y++)p(e[y],y,y,s,e,f,d);else{var v={},h=Object.keys(e).sort(l);for(y=0;y<h.length;y++){var b=h[y];p(e[b],b,y,s,e,f,d),v[b]=e[b]}if(void 0===c)return v;o.push([c,i,e]),c[i]=v}s.pop()}}function d(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(i.length>0)for(var r=0;r<i.length;r++){var o=i[r];if(o[1]===t&&o[0]===n){n=o[2],i.splice(r,1);break}}return e.call(this,t,n)}}},784:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o="win32"===process.platform,i=n(818);function a(e,t){for(var n=[],r=0;r<e.length;r++){var o=e[r];o&&"."!==o&&(".."===o?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(o))}return n}function s(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var r=t;r>=0&&!e[r];r--);return 0===n&&r===t?e:n>r?[]:e.slice(n,r+1)}var u=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,c=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function f(e){var t=u.exec(e),n=(t[1]||"")+(t[2]||""),r=t[3]||"",o=c.exec(r);return[n,o[1],o[2],o[3]]}function p(e){var t=u.exec(e),n=t[1]||"",r=!!n&&":"!==n[1];return{device:n,isUnc:r,isAbsolute:r||!!t[2],tail:t[3]}}function d(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,r=arguments.length-1;r>=-1;r--){var o;if(r>=0?o=arguments[r]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!i.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var s=p(o),u=s.device,c=s.isUnc,l=s.isAbsolute,f=s.tail;if((!u||!e||u.toLowerCase()===e.toLowerCase())&&(e||(e=u),n||(t=f+"\\"+t,n=l),e&&n))break}}return c&&(e=d(e)),e+(n?"\\":"")+(t=a(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=p(e),n=t.device,r=t.isUnc,o=t.isAbsolute,i=t.tail,s=/[\\\/]$/.test(i);return(i=a(i.split(/[\\\/]+/),!o).join("\\"))||o||(i="."),i&&s&&(i+="\\"),r&&(n=d(n)),n+(o?"\\":"")+i},l.isAbsolute=function(e){return p(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!i.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var r=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(r=r.replace(/^[\\\/]{2,}/,"\\")),l.normalize(r)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),r=t.toLowerCase(),o=s(t.split("\\")),i=s(n.split("\\")),a=s(r.split("\\")),u=Math.min(i.length,a.length),c=u,f=0;f<u;f++)if(i[f]!==a[f]){c=f;break}if(0==c)return t;var p=[];for(f=c;f<i.length;f++)p.push("..");return(p=p.concat(o.slice(c))).join("\\")},l._makeLong=function(e){if(!i.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=f(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},l.basename=function(e,t){var n=f(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return f(e)[3]},l.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+r(e));var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+r(e.root));var n=e.dir,o=e.base||"";return n?n[n.length-1]===l.sep?n+o:n+l.sep+o:o},l.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+r(e));var t=f(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var y=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,v={};function h(e){return y.exec(e).slice(1)}v.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:process.cwd();if(!i.isString(r))throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r[0])}return(t?"/":"")+(e=a(e.split("/"),!t).join("/"))||"."},v.normalize=function(e){var t=v.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=a(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},v.isAbsolute=function(e){return"/"===e.charAt(0)},v.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!i.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return v.normalize(e)},v.relative=function(e,t){e=v.resolve(e).substr(1),t=v.resolve(t).substr(1);for(var n=s(e.split("/")),r=s(t.split("/")),o=Math.min(n.length,r.length),i=o,a=0;a<o;a++)if(n[a]!==r[a]){i=a;break}var u=[];for(a=i;a<n.length;a++)u.push("..");return(u=u.concat(r.slice(i))).join("/")},v._makeLong=function(e){return e},v.dirname=function(e){var t=h(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},v.basename=function(e,t){var n=h(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},v.extname=function(e){return h(e)[3]},v.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+r(e));var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+r(e.root));return(e.dir?e.dir+v.sep:"")+(e.base||"")},v.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+r(e));var t=h(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},v.sep="/",v.delimiter=":",e.exports=o?l:v,e.exports.posix=v,e.exports.win32=l},540:e=>{function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,r){if(r)return r(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){var o=t.status;if(o>=500)return!0;if((o>=400||o<200)&&-1===n.indexOf(o))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){var n;n=this._retries?this._retryDelays[this._retries-1]:0;var r=this;return setTimeout((function(){return r._retry()}),n)}var o=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),o(e,t)}function n(e,t,n,r){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);var o=t.length,i=e-o;if(0!==i){if(i<0)throw new Error("Cannot have more delays than retries");for(var a=t[o-1],s=0;s<i+1;s++)t.push(a)}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=r,this}e.exports=function(e){var r=e.Request;return r.prototype.oldRetry=r.prototype.retry,r.prototype.retry=n,r.prototype.callback=t,e}},619:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach((function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return this._defaults.push({fn:e,args:n}),this}})),n.prototype._setDefaults=function(e){this._defaults.forEach((function(n){var r;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(r=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(r)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}))},e.exports=n},585:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o;"undefined"!=typeof window?o=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),o=void 0):o=self;var i=n(960),a=n(340),s=n(695),u=n(388),c=n(19),l=n(619);function f(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var p=t=e.exports;t.Request=g,p.getXHR=function(){if(o.XMLHttpRequest&&(!o.location||"file:"!==o.location.protocol||!o.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var d="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!u(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&v(t,n,e[n]);return t.join("&")}function v(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach((function(n){v(e,t,n)}));else if(u(n))for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&v(e,"".concat(t,"[").concat(r,"]"),n[r]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function h(e){for(var t,n,r={},o=e.split("&"),i=0,a=o.length;i<a;++i)-1===(n=(t=o[i]).indexOf("="))?r[decodeURIComponent(t)]="":r[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return r}function b(e){return/[/+]json($|[^-\w])/.test(e)}function m(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,r,o,i=e.split(/\r?\n/),a={},s=0,u=i.length;s<u;++s)-1!==(t=(n=i[s]).indexOf(":"))&&(r=n.slice(0,t).toLowerCase(),o=d(n.slice(t+1)),a[r]=o);return a}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function g(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",(function(){var e,t=null,r=null;try{r=new m(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",r);try{n._isResponseOK(r)||(e=new Error(r.statusText||r.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=r,e.status=r.status,n.callback(e,r)):n.callback(null,r)}))}function w(e,t,n){var r=p("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}p.serializeObject=y,p.parseString=h,p.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},p.serialize={"application/x-www-form-urlencoded":y,"application/json":a},p.parse={"application/x-www-form-urlencoded":h,"application/json":JSON.parse},c(m.prototype),m.prototype._parseBody=function(e){var t=p.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&b(this.type)&&(t=p.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},m.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,r="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),o=new Error(r);return o.status=this.status,o.method=t,o.url=n,o},p.Response=m,i(g.prototype),s(g.prototype),g.prototype.type=function(e){return this.set("Content-Type",p.types[e]||e),this},g.prototype.accept=function(e){return this.set("Accept",p.types[e]||e),this},g.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===r(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,(function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")}))},g.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},g.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},g.prototype._getFormData=function(){return this._formData||(this._formData=new o.FormData),this._formData},g.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},g.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},g.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},g.prototype.ca=g.prototype.agent,g.prototype.buffer=g.prototype.ca,g.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},g.prototype.pipe=g.prototype.write,g.prototype._isHost=function(e){return e&&"object"===r(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},g.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||f,this._finalizeQueryString(),this._end()},g.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},g.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=p.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",r.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",r.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var o=this._header["content-type"],i=this._serializer||p.serialize[o?o.split(";")[0]:""];!i&&b(o)&&(i=p.serialize["application/json"]),i&&(n=i(n))}for(var a in this.header)null!==this.header[a]&&Object.prototype.hasOwnProperty.call(this.header,a)&&t.setRequestHeader(a,this.header[a]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},p.agent=function(){return new l},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach((function(e){l.prototype[e.toLowerCase()]=function(t,n){var r=new p.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}})),l.prototype.del=l.prototype.delete,p.get=function(e,t,n){var r=p("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},p.head=function(e,t,n){var r=p("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},p.options=function(e,t,n){var r=p("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.del=w,p.delete=w,p.patch=function(e,t,n){var r=p("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.post=function(e,t,n){var r=p("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.put=function(e,t,n){var r=p("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}},388:e=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},695:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o=n(388);function i(e){if(e)return function(e){for(var t in i.prototype)Object.prototype.hasOwnProperty.call(i.prototype,t)&&(e[t]=i.prototype[t]);return e}(e)}e.exports=i,i.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},i.prototype.parse=function(e){return this._parser=e,this},i.prototype.responseType=function(e){return this._responseType=e,this},i.prototype.serialize=function(e){return this._serializer=e,this},i.prototype.timeout=function(e){if(!e||"object"!==r(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},i.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var a=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];i.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&a.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},i.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},i.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var r=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise((function(e,t){r.on("abort",(function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}})),r.end((function(n,r){n?t(n):e(r)}))}))}return this._fullfilledPromise.then(e,t)},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.use=function(e){return e(this),this},i.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},i.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},i.prototype.get=function(e){return this._header[e.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(e,t){if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},i.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},i.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&this.field(e,t[r]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},i.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},i.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(r("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},i.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},i.prototype.redirects=function(e){return this._maxRedirects=e,this},i.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(e){var t=o(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&o(this._data))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._data[r]=e[r]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},i.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},i.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},i.prototype._appendQueryString=function(){console.warn("Unsupported")},i.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error("".concat(e+t,"ms exceeded"));r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.timedoutError=r,this.abort(),this.callback(r)}},i.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},19:(e,t,n)=>{"use strict";var r=n(897);function o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=r.type(t);var n=r.params(t);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(this[o]=n[o]);this.links={};try{e.link&&(this.links=r.parseLinks(e.link))}catch(e){}},o.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},897:(e,t)=>{"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce((function(e,t){var n=t.split(/ *= */),r=n.shift(),o=n.shift();return r&&o&&(e[r]=o),e}),{})},t.parseLinks=function(e){return e.split(/ *, */).reduce((function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e}),{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},597:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},98:e=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return e&&"object"===t(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o=/%[sdj%]/g;t.format=function(e){if(!b(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),u=r[n];n<i;u=r[++n])v(u)||!w(u)?a+=" "+u:a+=" "+s(u);return a},t.deprecate=function(e,r){if(m(n.g.process))return function(){return t.deprecate(e,r).apply(this,arguments)};if(!0===process.noDeprecation)return e;var o=!1;return function(){if(!o){if(process.throwDeprecation)throw new Error(r);process.traceDeprecation?console.trace(r):console.error(r),o=!0}return e.apply(this,arguments)}};var i,a={};function s(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&t._extend(r,n),m(r.showHidden)&&(r.showHidden=!1),m(r.depth)&&(r.depth=2),m(r.colors)&&(r.colors=!1),m(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function c(e,t){return e}function l(e,n,r){if(e.customInspect&&n&&k(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return b(o)||(o=l(e,o,r)),o}var i=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(b(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return h(t)?e.stylize(""+t,"number"):y(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,n);if(i)return i;var a=Object.keys(n),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),j(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(k(n)){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(g(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(O(n))return e.stylize(Date.prototype.toString.call(n),"date");if(j(n))return f(n)}var c,w="",$=!1,P=["{","}"];return d(n)&&($=!0,P=["[","]"]),k(n)&&(w=" [Function"+(n.name?": "+n.name:"")+"]"),g(n)&&(w=" "+RegExp.prototype.toString.call(n)),O(n)&&(w=" "+Date.prototype.toUTCString.call(n)),j(n)&&(w=" "+f(n)),0!==a.length||$&&0!=n.length?r<0?g(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=$?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)E(t,String(a))?i.push(p(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(p(e,t,n,r,o,!0))})),i}(e,n,r,s,a):a.map((function(t){return p(e,n,r,s,t,$)})),e.seen.pop(),function(e,t,n){return e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(c,w,P)):P[0]+w+P[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),E(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=v(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),m(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function d(e){return Array.isArray(e)}function y(e){return"boolean"==typeof e}function v(e){return null===e}function h(e){return"number"==typeof e}function b(e){return"string"==typeof e}function m(e){return void 0===e}function g(e){return w(e)&&"[object RegExp]"===$(e)}function w(e){return"object"===r(e)&&null!==e}function O(e){return w(e)&&"[object Date]"===$(e)}function j(e){return w(e)&&("[object Error]"===$(e)||e instanceof Error)}function k(e){return"function"==typeof e}function $(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(i)&&(i=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var n=process.pid;a[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else a[e]=function(){};return a[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=y,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=h,t.isString=b,t.isSymbol=function(e){return"symbol"===r(e)},t.isUndefined=m,t.isRegExp=g,t.isObject=w,t.isDate=O,t.isError=j,t.isFunction=k,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===r(e)||void 0===e},t.isBuffer=n(98);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[P((e=new Date).getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":"),[e.getDate(),T[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}},548:()=>{},799:()=>{},545:()=>{},965:()=>{}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>lm});var e=n(585),t=n.n(e);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function s(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var u,c=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,n=[{key:"getFirstPage",value:function(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}},{key:"getPrevPage",value:function(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}},{key:"getNextPage",value:function(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}},{key:"getLastPage",value:function(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}},{key:"currentPage",value:function(){return null===this.page?0:this.page}},{key:"countPages",value:function(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}},{key:"isFirstPage",value:function(){return 0===this.currentPage()}},{key:"isLastPage",value:function(){return this.currentPage()===this.countPages()-1}},{key:"populatePaginationMetadata",value:function(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}},{key:"_getLink",value:function(e){null===this.apiClient&&(this.apiClient=ct.instance);var t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}],r=[{key:"constructFromObject",value:function(t,n){if(t){if(n=n||new e,t.hasOwnProperty("links")&&null!==t.links&&void 0!==t.links){var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){u=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}(t.links);try{for(o.s();!(r=o.n()).done;){var a=r.value;if(a.hasOwnProperty("rel")&&a.hasOwnProperty("href"))switch(a.rel){case"first":n.linkFirst=a.href;break;case"prev":n.linkPrev=a.href;break;case"next":n.linkNext=a.href;break;case"last":n.linkLast=a.href}}}catch(e){o.e(e)}finally{o.f()}}t.hasOwnProperty("totalAvailableResults")&&(n.resultsTotal=t.totalAvailableResults)}return n}}],n&&a(t.prototype,n),r&&a(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();c.prototype.linkFirst=null,c.prototype.linkPrev=null,c.prototype.linkNext=null,c.prototype.linkLast=null,c.prototype.apiClient=null,c.prototype.page=null,c.prototype.resultsPerPage=null,c.prototype.resultsTotal=null;var l=new Uint8Array(16);function f(){if(!u&&!(u="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return u(l)}const p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var d=[],y=0;y<256;++y)d.push((y+256).toString(16).substr(1));const v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&p.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=function(e,t,n){var r=(e=e||{}).random||(e.rng||f)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return v(r)};var b=n(540),m=n.n(b),g=n(545),w=n.n(g),O=n(799),j=n.n(O),k=n(784),$=n.n(k),P=n(548),T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const E=T;function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function S(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,R(r.key),r)}}function R(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}var I=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"validateMaximum",value:function(e,t){return!(null===t||e>t)}},{key:"validateMinimum",value:function(e,t){return!(null===t||e<t)}},{key:"validateExclusiveMaximum",value:function(e,t){return!(null===t||e>t)}},{key:"validateExclusiveMinimum",value:function(e,t){return!(null===t||e>t)}},{key:"validateMultipleOf",value:function(e,t){return!(null===t||e%t==0)}},{key:"validateMaxLength",value:function(e,t){return!(null===t||e.length>t)}},{key:"validateMinLength",value:function(e,t){return!(null===t||e.length<t)}},{key:"validatePattern",value:function(e,t){return!(null===t||null===e.match(t))}},{key:"validateMaxItems",value:function(e,t){return!(null===t||e.length>t)}},{key:"validateMinItems",value:function(e,t){return!(null===t||e.length<t)}},{key:"validateUniqueItems",value:function(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}],null&&S(e.prototype,null),t&&S(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function A(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,D(r.key),r)}}function D(e){var t=function(e){if("object"!=x(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=x(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==x(t)?t:t+""}var C=function(){return e=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.message=n},(t=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"toJson",value:function(){return{name:this.getName(),message:this.getMessage()}}}])&&A(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){M(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function M(e,t,n){return(t=G(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,G(r.key),r)}}function G(e){var t=function(e){if("object"!=_(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_(t)?t:t+""}var L=new WeakSet,V=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,L),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return J(J(J({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,128))return new C("name","does not satisfy required maxLength constraint: 128");if(!I.validateMinLength(this.name,3))return new C("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("value","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=J({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&U(t.prototype,n),r&&U(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function K(e,t,n){return(t=Z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Z(r.key),r)}}function Z(e){var t=function(e){if("object"!=W(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==W(t)?t:t+""}function X(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}V.prototype.name=void 0,V.prototype.value=!1,V.prototype.$reserved=void 0,V.prototype.$objectType=void 0,V.prototype.$unknownFields=void 0;var Y=new WeakSet,Q=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Y),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getMap",value:function(){return this.map}},{key:"setMap",value:function(e){this.map=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return q(q({},!1===e?void 0!==this.getMap()&&null!==this.getMap()?{map:X(Y,this,ee).call(this,this.getMap(),!1)}:{}:void 0!==this.getMap()&&null!==this.getMap()?{map:X(Y,this,ee).call(this,this.getMap())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("map","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("map")&&null!==t.map&&void 0!==t.map&&n.setMap(t.map),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=q({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&H(t.prototype,n),r&&H(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ee(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===W(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ne(e){return ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ne(e)}function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(Object(n),!0).forEach((function(t){ie(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e,t,n){return(t=se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,se(r.key),r)}}function se(e){var t=function(e){if("object"!=ne(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ne(t)?t:t+""}function ue(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Q.prototype.map=void 0,Q.prototype.$reserved=void 0,Q.prototype.$objectType=void 0,Q.prototype.$unknownFields=void 0;var ce=new WeakSet,le=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ce),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return oe(oe(oe({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),!1===e?void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):ue(ce,this,fe).call(this,this.getValue(),!1)}:{}:void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map((function(e){return void 0!==e.toJson?e.toJson():e})):ue(ce,this,fe).call(this,this.getValue())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,128))return new C("name","does not satisfy required maxLength constraint: 128");if(!I.validateMinLength(this.name,3))return new C("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("value","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&s.setName(t.name),t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value)if(Array.isArray(t.value))if(0===t.value.length)s.setValue([]);else{for(i=[],a=(n=t.value)[0].hasOwnProperty("$objectType")?n[0].$objectType:ne(n[0]),o=0;o<n.length;o++)switch(a){case"string":case"integer":case"number":i.push(n[o]);break;case"common.v1.config.MapOfStringWrapper":r=Q.constructFromObject(n[o],void 0),i.push(r);break;default:throw"Unknown list of type "+a+" in data"}s.setValue(i)}else switch(a=t.value.hasOwnProperty("$objectType")?t.value.$objectType:ne(t.value)){case"string":case"boolean":case"number":s.setValue(t.value);break;case"object":s.setValue(new Map(Object.entries(t.value)));break;default:throw"Unknown datatype "+a+" in data"}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!u)for(var c in s.$unknownFields=oe({},t.$unknownFields),t)Object.keys(s).includes(c)||Object.keys(s).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(s.$unknownFields[c]=t[c])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&ae(t.prototype,n),r&&ae(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function fe(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===ne(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}le.prototype.name=void 0,le.prototype.value=void 0,le.prototype.$reserved=void 0,le.prototype.$objectType=void 0,le.prototype.$unknownFields=void 0;var pe={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(pe).find((function(t){return pe[t]===e}));return null==t?pe.$UNKNOWN:pe[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pe.$UNKNOWN:case pe.$REDACTED:case pe.INFO:case pe.WARNING:case pe.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(pe);const de=pe;function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ve(Object(n),!0).forEach((function(t){be(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ve(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function be(e,t,n){return(t=ge(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ge(r.key),r)}}function ge(e){var t=function(e){if("object"!=ye(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ye(t)?t:t+""}var we=new WeakSet,Oe=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,we),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getCode",value:function(){return this.code}},{key:"setCode",value:function(e){this.code=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getLocale",value:function(){return this.locale}},{key:"setLocale",value:function(e){this.locale=e}},{key:"getSeverity",value:function(){return this.severity}},{key:"setSeverity",value:function(e){this.severity=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return he(he(he(he(he({},void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{}),void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{}),void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("severity","undefined or null"):new C("locale","undefined or null"):new C("message","undefined or null"):new C("code","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("code")&&null!==t.code&&void 0!==t.code&&n.setCode(t.code),t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("locale")&&null!==t.locale&&void 0!==t.locale&&n.setLocale(t.locale),t.hasOwnProperty("severity")&&null!==t.severity&&void 0!==t.severity&&n.setSeverity(de.constructFromObject(t.severity)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=he({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&me(t.prototype,n),r&&me(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $e(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach((function(t){Pe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Pe(e,t,n){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ee(r.key),r)}}function Ee(e){var t=function(e){if("object"!=je(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=je(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==je(t)?t:t+""}Oe.prototype.code=void 0,Oe.prototype.message=void 0,Oe.prototype.locale="en_US",Oe.prototype.severity=void 0,Oe.prototype.$reserved=void 0,Oe.prototype.$objectType=void 0,Oe.prototype.$unknownFields=void 0;var Fe=new WeakSet,Se=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fe),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getHref",value:function(){return this.href}},{key:"setHref",value:function(e){this.href=e}},{key:"getRel",value:function(){return this.rel}},{key:"setRel",value:function(e){this.rel=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $e($e($e({},void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{}),void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("rel","undefined or null"):new C("href","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("href")&&null!==t.href&&void 0!==t.href&&n.setHref(t.href),t.hasOwnProperty("rel")&&null!==t.rel&&void 0!==t.rel&&n.setRel(t.rel),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=$e({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Te(t.prototype,n),r&&Te(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Re(e){return Re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Re(e)}function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(n),!0).forEach((function(t){Ae(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ae(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function De(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}function Ce(e){var t=function(e){if("object"!=Re(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Re(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Re(t)?t:t+""}Se.prototype.href=void 0,Se.prototype.rel=void 0,Se.prototype.$reserved=void 0,Se.prototype.$objectType=void 0,Se.prototype.$unknownFields=void 0;var _e,Ne=new WeakSet,Je=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ne),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getFlags",value:function(){return this.flags}},{key:"setFlags",value:function(e){this.flags=e}},{key:"getLinks",value:function(){return this.links}},{key:"setLinks",value:function(e){this.links=e}},{key:"getTotalAvailableResults",value:function(){return this.totalAvailableResults}},{key:"setTotalAvailableResults",value:function(e){this.totalAvailableResults=e}},{key:"getMessages",value:function(){return this.messages}},{key:"setMessages",value:function(e){this.messages=e}},{key:"getExtraInfo",value:function(){return this.extraInfo}},{key:"setExtraInfo",value:function(e){this.extraInfo=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return xe(xe(xe(xe(xe(xe({},void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{}),void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map((function(e){return e.toJson(!1)}))}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new C("flags","undefined or null");if(!I.validateMaxItems(this.flags,20))return new C("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new C("links","undefined or null");if(!I.validateMaxItems(this.links,20))return new C("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new C("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new C("messages","undefined or null");if(!I.validateMaxItems(this.messages,20))return new C("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new C("extraInfo","undefined or null");if(!I.validateMaxItems(this.extraInfo,20))return new C("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("flags")&&null!==t.flags&&void 0!==t.flags){for(i=[],n=t.flags,o=0;o<n.length;o++)r=V.constructFromObject(n[o],void 0),i.push(r);a.setFlags(i)}if(t.hasOwnProperty("links")&&null!==t.links&&void 0!==t.links){for(i=[],n=t.links,o=0;o<n.length;o++)r=Se.constructFromObject(n[o],void 0),i.push(r);a.setLinks(i)}if(t.hasOwnProperty("totalAvailableResults")&&null!==t.totalAvailableResults&&void 0!==t.totalAvailableResults&&a.setTotalAvailableResults(t.totalAvailableResults),t.hasOwnProperty("messages")&&null!==t.messages&&void 0!==t.messages){for(i=[],n=t.messages,o=0;o<n.length;o++)r=Oe.constructFromObject(n[o],void 0),i.push(r);a.setMessages(i)}if(t.hasOwnProperty("extraInfo")&&null!==t.extraInfo&&void 0!==t.extraInfo){for(i=[],n=t.extraInfo,o=0;o<n.length;o++)r=le.constructFromObject(n[o],void 0),i.push(r);a.setExtraInfo(i)}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!s)for(var u in a.$unknownFields=xe({},t.$unknownFields),t)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=t[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&De(t.prototype,n),r&&De(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Me(){Me=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,o){var i=RegExp(e,r);return t.set(i,o||t.get(e)),Ue(i,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce((function(t,n){var o=r[n];if("number"==typeof o)t[n]=e[o];else{for(var i=0;void 0===e[o[i]]&&i+1<o.length;)i++;t[n]=e[o[i]]}return t}),Object.create(null))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ue(e,t)}(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);if(n){n.groups=r(n,this);var o=n.indices;o&&(o.groups=r(o,this))}return n},n.prototype[Symbol.replace]=function(n,o){if("string"==typeof o){var i=t.get(this);return e[Symbol.replace].call(this,n,o.replace(/\$<([^>]+)>/g,(function(e,t){var n=i[t];return"$"+(Array.isArray(n)?n.join("$"):n)})))}if("function"==typeof o){var a=this;return e[Symbol.replace].call(this,n,(function(){var e=arguments;return"object"!=We(e[e.length-1])&&(e=[].slice.call(e)).push(r(e,a)),o.apply(this,e)}))}return e[Symbol.replace].call(this,n,o)},Me.apply(this,arguments)}function Ue(e,t){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ue(e,t)}function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){Ve(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ve(e,t,n){return(t=Ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function We(e){return We="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},We(e)}function Be(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ze(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ze(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function qe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ke(r.key),r)}}function Ke(e){var t=function(e){if("object"!=We(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=We(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==We(t)?t:t+""}function He(e,t,n){Ze(e,t),t.set(e,n)}function Ze(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Xe(e,t){return e.get(Qe(e,t))}function Ye(e,t,n){return e.set(Qe(e,t),n),n}function Qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Je.prototype.flags=void 0,Je.prototype.links=void 0,Je.prototype.totalAvailableResults=void 0,Je.prototype.messages=void 0,Je.prototype.extraInfo=void 0,Je.prototype.$reserved=void 0,Je.prototype.$objectType=void 0,Je.prototype.$unknownFields=void 0,m()(t());var et=new WeakMap,tt=new WeakMap,nt=new WeakMap,rt=new WeakMap,ot=new WeakMap,it=new WeakMap,at=new WeakMap,st=new WeakMap,ut=new WeakSet,ct=function(){function e(){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ze(this,n=ut),n.add(this),He(this,et,void 0),He(this,tt,void 0),He(this,nt,void 0),He(this,rt,void 0),He(this,ot,void 0),He(this,it,void 0),He(this,at,void 0),He(this,st,void 0),Ye(st,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",this.host="undefined"==typeof self?"localhost":self.location.hostname,this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},Ye(ot,this,3e4),Ye(it,this,3e4),Ye(at,this,108e5),this.readTimeout=Xe(it,this),this.connectTimeout=Xe(ot,this),this.cache=!0,Ye(tt,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,"undefined"==typeof self&&(this.agent=new(t().agent)),this.requestAgent=null,this.debug=!1,Ye(nt,this,null),this.username=null,this.password=null,Ye(rt,this,!0),this.downloadDestination=null,this.loggerFile=null}return r=e,o=[{key:"verifySsl",get:function(){return Xe(rt,this)},set:function(e){this.requestAgent=e?null:new(w().Agent)({rejectUnauthorized:!1}),Ye(rt,this,e)}},{key:"loggerFile",set:function(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=j().createWriteStream(e,{flags:"a"})),Ye(nt,this,new console.Console({stdout:e,stderr:e})))}},{key:"addDefaultHeader",value:function(e,t){"Authorization"===e&&Ye(tt,this,null),this.defaultHeaders[e]=t}},{key:"paramToString",value:function(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}},{key:"buildUrl",value:function(e,t){var n=this;e.match(/^\//)||(e="/"+e),Ye(et,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);var r="";""!==Xe(et,this)&&""!==this.host&&""!==this.port?r=Xe(et,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(r=self.origin);var o=r+e;return o.replace(/\{([\w-]+)\}/g,(function(e,r){var o;return o=t.hasOwnProperty(r)?n.paramToString(t[r]):e,encodeURIComponent(o)}))}},{key:"buildCollectionParam",value:function(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}},{key:"setApiKey",value:function(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}},{key:"addEtagToReservedMap",value:function(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){var n=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0){var r,o=Be(t.getData());try{for(o.s();!(r=o.n()).done;){var i=r.value;i.hasOwnProperty("$reserved")&&void 0!==i.get$Reserved()&&(i.get$Reserved().ETag=n)}}catch(e){o.e(e)}finally{o.f()}}else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=n)}return t}},{key:"callApi",value:function(e,r,o,i,a,s,u,c,l,f,p){var d=this,y=this.buildUrl(e,o),v=t()(r,y);if(v.oldCallback=v.callback,v.callback=function(e,t){if(t&&t.status){var n=t.status;if(n>=400&&401!==n&&408!==n&&429!==n&&503!==n&&504!==n&&(this._maxRetries=0),401===t.status&&(this.unset("Cookie"),this._maxRetries=1),429===n){var r=t.headers["retry-after"];if(r){var o=1e3*parseInt(r,10);this._retryDelays[this._retries]=o}}}this.oldCallback(e,t)},Qe(ut,this,yt).call(this,v,c),"GET"===r.toUpperCase()&&!1===this.cache&&(i._=(new Date).getTime()),v.query(Qe(ut,this,dt).call(this,i)),v.set(this.defaultHeaders).set(Qe(ut,this,dt).call(this,a)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==a["NTNX-Request-Id"]&&void 0!==a["NTNX-Request-Id"])){var b=h();v.set(Qe(ut,this,dt).call(this,{"NTNX-Request-Id":b}))}var m="undefined"!=typeof window&&void 0!==window.document;m||(this.downloadDestination=".",v.set(Qe(ut,this,dt).call(this,{"User-Agent":"Nutanix-dataprotection-js-client/4.0.1"}))),this.requestAgent&&v.agent(this.requestAgent);var g={};g.response=Qe(ut,this,mt).call(this,this.connectTimeout,Xe(ot,this)),g.deadline=Qe(ut,this,mt).call(this,this.readTimeout,Xe(it,this)),v.timeout(g);var w=a.hasOwnProperty("Content-Type")?a["Content-Type"]:Qe(ut,this,ft).call(this,l);if(w?"multipart/form-data"!=w&&v.type(w):v.header["Content-Type"]||v.type("application/json"),Qe(ut,this,Ot).call(this,Xe(st,this).INFO,null,"Request URL :",r,y),Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,Qe(ut,this,$t),"Request Headers :",void 0===v.header?"":v.header),"application/x-www-form-urlencoded"===w)v.send(Qe(ut,this,dt).call(this,s));else if("multipart/form-data"==w){var O=Qe(ut,this,dt).call(this,s);for(var k in O)O.hasOwnProperty(k)&&(Qe(ut,this,pt).call(this,O[k])?v.attach(k,O[k]):v.field(k,O[k]))}else{if("application/octet-stream"===w&&null!=u&&"function"==typeof u.pipe){if(Qe(ut,this,Ot).call(this,Xe(st,this).INFO,null,"Piping octet-stream request"),"function"==typeof u.pipe)u.pipe(v);else{var $;try{$=n(965)}catch(e){Qe(ut,this,Ot).call(this,Xe(st,this).ERROR,null,"Error fetching steam/web")}u instanceof $.ReadableStream?u.pipeTo(new $.WritableStream({write:function(e){v.write(e)},close:function(){Qe(ut,this,Ot).call(this,Xe(st,this).INFO,null,"READABLE STREAM CLOSED")},abort:function(e){Qe(ut,this,Ot).call(this,Xe(st,this).ERROR,null,"READABLE STREAM ABORTED")}})):v.send(u)}return new Promise((function(t,n){v.on("error",(function(e){Qe(ut,d,Ot).call(d,Xe(st,d).DEBUG,null,"Caught the following error :",e),n(e)})).on("response",(function(r){Qe(ut,d,Pt).call(d,r,e,i,p,t,n)}))}))}u&&v.send(u)}"Blob"==typeof p?v.responseType("blob"):"String"===p&&v.responseType("string"),Qe(ut,this,wt).call(this,v),Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,null,"Request Body :",void 0===v._data?"":v._data);var P=a.hasOwnProperty("Accept")&&null!=a.Accept?a.Accept:f.join(", "),T=["application/octet-stream","application/pdf","application/zip"];return P&&v.accept(P),new Promise((function(o,a){v.buffer(!1).redirects(0).retry(d.maxRetryAttempts,d.retryInterval,[]).on("error",(function(e){Qe(ut,d,Ot).call(d,Xe(st,d).DEBUG,null,"Caught the following error :",e)})).end((function(s,u){if(s)Qe(ut,d,Ot).call(d,Xe(st,d).DEBUG,null,"Caught error during the request!"),Qe(ut,d,Ot).call(d,Xe(st,d).ERROR,null,s),null!==s.response&&void 0!==s.response?s.data=Qe(ut,d,ht).call(d,s.response,p):s.data=Qe(ut,d,vt).call(d,s),a(s);else{Qe(ut,d,Ot).call(d,Xe(st,d).INFO,null,"Response Status :",u.status),Qe(ut,d,Ot).call(d,Xe(st,d).DEBUG,Qe(ut,d,$t),"Response Headers :",u.headers);var c="";if(u.headers.hasOwnProperty("content-type")&&(c=u.headers["content-type"]),T.some((function(e){return c.includes(e)})))if(m){var l;try{l=n(965)}catch(e){Qe(ut,d,Ot).call(d,Xe(st,d).ERROR,null,"Error fetching steam/web")}if(d.downloadDestination instanceof l.WritableStream){var f=d.downloadDestination.getWriter();try{u.on("data",(function(e){f.write(e)}))}catch(e){Qe(ut,d,Ot).call(d,Xe(st,d).ERROR,null,"Issue while downloading file",e)}u.on("end",(function(){Qe(ut,d,Ot).call(d,Xe(st,d).INFO,null,"Finished streaming response"),f.close();var e=Qe(ut,d,ht).call(d,u,p);o({data:e,response:u})})).on("error",(function(e){Qe(ut,d,Ot).call(d,Xe(st,d).ERROR,null,"Caught the following error :",e),e.data=Qe(ut,d,vt).call(d,e),a(e)}))}else{var y="Incompatible downloadDestination for Browser Environment, must be WritableStream";Qe(ut,d,Ot).call(d,Xe(st,d).ERROR,null,y),a(y)}}else{var h=d.downloadDestination+"/downloaded_file_"+Date.now()+".txt",b=j().createWriteStream(h);Qe(ut,d,Tt).call(d,u,b,h,o,a,p)}else if(302==u.status){var g=d.downloadDestination+"/downloaded_file_"+Date.now()+".txt",w=d;Qe(ut,d,Ot).call(d,Xe(st,d).INFO,null,"Redirecting to :",u.headers.location);var O=t()(r,u.headers.location);O.set(v.header),u.headers.hasOwnProperty("x-redirect-token")&&(Qe(ut,d,Ot).call(d,Xe(st,d).INFO,null,"Writing X-Redirect-Token into Cookie"),O.set("Cookie",u.headers["x-redirect-token"])),O.redirects(0),O.buffer(!1);var k=j().createWriteStream(g);O.pipe(k),O.on("response",(function(e){Qe(ut,w,Ot).call(w,Xe(st,w).INFO,null,"Received response after redirection :",e.status),Qe(ut,w,Tt).call(w,e,k,g,o,a,p)}))}else Qe(ut,d,Pt).call(d,u,e,i,p,o,a)}}))}))}}],i=[{key:"getEtag",value:function(e){var t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}},{key:"getValueForCaseInsensitiveKeyMatch",value:function(e,t){if(e&&t){var n=t.toLowerCase(),r=Object.keys(e).find((function(e){return e.toLowerCase()===n}));return r?e[r]:null}return null}},{key:"addEtagReferenceToHeader",value:function(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){var n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}},{key:"parseDate",value:function(e){return new Date(e)}},{key:"parseQueryParam",value:function(e,t,n,r){var o=null;if(void 0!==t&&t.hasOwnProperty(n)&&(o=t[n]),null===o&&("string"==typeof e||e instanceof String)){var i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),a=e.match(new RegExp("".concat(i,"=([0-9]+)")));a&&(o=a[1])}return null===o&&(o=r),o}},{key:"convertToType",value:function(t,n){if(null==t)return t;switch(n){case"Boolean":return Boolean(t);case"Integer":return parseInt(t,10);case"Number":return parseFloat(t);case"String":return String(t);case"Date":return e.parseDate(String(t));case"Blob":return t;default:if(n===Object)return t;if("function"==typeof n)return n.constructFromObject(t);if(Array.isArray(n)){var r=n[0];return t.map((function(t){return e.convertToType(t,r)}))}if("object"===We(n)){var o,i;for(var a in n)if(n.hasOwnProperty(a)){o=a,i=n[a];break}var s={};for(var a in t)if(t.hasOwnProperty(a)){var u=e.convertToType(a,o),c=e.convertToType(t[a],i);s[u]=c}return s}return t}}},{key:"constructFromObject",value:function(t,n,r){if(Array.isArray(t))for(var o=0;o<t.length;o++)t.hasOwnProperty(o)&&(n[o]=e.convertToType(t[o],r));else for(var i in t)t.hasOwnProperty(i)&&(n[i]=e.convertToType(t[i],r))}}],o&&qe(r.prototype,o),i&&qe(r,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,o,i}();function lt(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ft(e){for(var t=0;t<e.length;t++)if(Qe(ut,this,lt).call(this,e[t]))return e[t];return e[0]}function pt(e){var t;try{t=n(799)}catch(e){}return!!(t&&t.ReadStream&&e instanceof t.ReadStream)||"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof P.Blob&&e instanceof P.Blob||"function"==typeof File&&e instanceof File}function dt(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var r=e[n];Qe(ut,this,pt).call(this,r)||Array.isArray(r)?t[n]=r:t[n]=this.paramToString(r)}return t}function yt(e,t){var n=this;t.forEach((function(t){var r=n.authentications[t];switch(r.type){case"basic":r.username||r.password?e.auth(r.username||"",r.password||""):(n.username||n.password)&&e.auth(n.username||"",n.password||""),Qe(ut,n,Ot).call(n,Xe(st,n).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(r.apiKey){var o={};r.apiKeyPrefix?o[r.name]=r.apiKeyPrefix+" "+r.apiKey:o[r.name]=r.apiKey,"header"===r.in?e.set(o):e.query(o)}Qe(ut,n,Ot).call(n,Xe(st,n).DEBUG,null,"apiKey applied to request");break;case"oauth2":r.accessToken&&e.set({Authorization:"Bearer "+r.accessToken}),Qe(ut,n,Ot).call(n,Xe(st,n).DEBUG,null,"oauth2 applied to request");break;default:throw Qe(ut,n,Ot).call(n,Xe(st,n).ERROR,null,"Unknown authentication type:",r.type),new Error("Unknown authentication type: "+r.type)}}))}function vt(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ht(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(i=new t).data=new P.Blob([e.text],{type:e.headers["content-type"]});var n=new V;n.name="hasError",n.value=!1;var r=[n],o=new Je;return o.flags=r,i.metadata=o,i}var i;return(null==(i=e.body)||"object"===We(i)&&void 0===i.length&&!Object.keys(i).length)&&(i=e.text),_e.convertToType(i,t)}function bt(e,t,n){if(e instanceof c){var r=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),o=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,r,o)}}function mt(e,t){return e<=0?e=t:e>Xe(at,this)&&(e=Xe(at,this)),e}function gt(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){var t="",n=e.headers["set-cookie"];if(n.length>0){var r,o=Be(n);try{for(o.s();!(r=o.n()).done;){var i=r.value;(i=i.split(";")[0]).includes("=")&&(i.trim(),t=t.concat(i).concat(";"))}}catch(e){o.e(e)}finally{o.f()}""!==t&&(t=t.substr(0,t.length-1))}Ye(tt,this,t),Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,null,"Retained cookie :",t)}else Ye(tt,this,null)}function wt(e){null!=Xe(tt,this)&&e.set(Qe(ut,this,dt).call(this,{Cookie:Xe(tt,this)}))}function Ot(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];if("object"===We(e)&&"key"in e&&"value"in e&&"symbol"===We(e.value)||(e=Xe(st,this).INFO),!Qe(ut,this,jt).call(this,e)){r=r.map((function(e){return"string"==typeof e?e:t?t(e):JSON.stringify(e)}));var i=r.join(" ");i=Qe(ut,this,kt).call(this)+" "+e.key+" - "+i,void 0!==Xe(nt,this)&&null!==Xe(nt,this)&&"function"==typeof Xe(nt,this).log?Xe(nt,this).log(i):console.log(i)}}function jt(e){return!this.debug&&e===Xe(st,this).DEBUG}function kt(){var e=Date.now(),t=(new Date).getTimezoneOffset();return new Date(e-60*t*1e3).toISOString().slice(0,23)}function $t(e){if("object"!==We(e))return e;var t="\n";return e&&Object.keys(e).forEach((function(n){t+=n+"=["+e[n]+"]\n"})),"\n"===t?e:t}function Pt(e,t,n,r,o,i){try{var a=Qe(ut,this,ht).call(this,e,r);Qe(ut,this,Ot).call(this,Xe(st,this).INFO,null,"Response Status :",e.status),Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,Qe(ut,this,$t),"Response Headers :",e.headers),Qe(ut,this,gt).call(this,e||{}),Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,null,"Response Body :",a),204==e.status&&null==a?o({data:a,response:e}):e.ok&&null!=a?(this.addEtagToReservedMap(e,a),Qe(ut,this,bt).call(this,a,t,n),o({data:a,response:e})):(Qe(ut,this,Ot).call(this,Xe(st,this).ERROR,null,a),i(Le(Le({},e.error),{},{data:a})))}catch(e){Qe(ut,this,Ot).call(this,Xe(st,this).DEBUG,null,"Caught error while processing response!"),Qe(ut,this,Ot).call(this,Xe(st,this).ERROR,null,e),e.data=Qe(ut,this,vt).call(this,e),i(e)}}function Tt(e,t,n,r,o,i){var a=this;Qe(ut,this,Ot).call(this,Xe(st,this).INFO,null,"Streaming response to : ",n);try{e.on("data",(function(e){t.write(e)}))}catch(e){Qe(ut,this,Ot).call(this,Xe(st,this).ERROR,null,"Issue while downloading file",e)}var s=new i,u="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){var c=e.headers["content-disposition"].match(Me(/.*filename="(.*)".*/,{filename:1})),l=$().parse(c.groups.filename);u=this.downloadDestination+"/"+l.name+"_"+Date.now()+l.ext,s.data={path:$().parse(u),$objectType:"Path"};var f=new V;f.name="hasError",f.value=!1;var p=[f],d=new Je;d.flags=p,s.metadata=d}e.on("end",(function(){Qe(ut,a,Ot).call(a,Xe(st,a).INFO,null,"Finished streaming response"),0!==u.length?(Qe(ut,a,Ot).call(a,Xe(st,a).INFO,null,"Content-Disposition header found [",u,"] is final filename"),t.close(),j().renameSync(n,u),r({data:s,response:e})):(Qe(ut,a,Ot).call(a,Xe(st,a).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),r({data:s,response:e}))})),e.on("error",(function(e){Qe(ut,a,Ot).call(a,Xe(st,a).ERROR,null,"Caught the following error :",e),error.data=Qe(ut,a,vt).call(a,error),o(e)}))}function Et(e){return Et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Et(e)}function Ft(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function St(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ft(Object(n),!0).forEach((function(t){Rt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ft(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rt(e,t,n){return(t=xt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function It(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xt(r.key),r)}}function xt(e){var t=function(e){if("object"!=Et(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Et(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Et(t)?t:t+""}_e=ct,ct.instance=new ct;var At=new WeakSet,Dt=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,At),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getTenantId",value:function(){return this.tenantId}},{key:"setTenantId",value:function(e){this.tenantId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return!1===e?St(St({},void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new C("tenantId","undefined or null");if(!I.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("tenantId")&&null!==t.tenantId&&void 0!==t.tenantId&&n.setTenantId(t.tenantId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=St({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&It(t.prototype,n),r&&It(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ct(e){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ct(e)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(n),!0).forEach((function(t){Jt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Jt(e,t,n){return(t=Ut(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ut(r.key),r)}}function Ut(e){var t=function(e){if("object"!=Ct(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ct(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ct(t)?t:t+""}function Gt(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Gt=function(){return!!e})()}function Lt(e){return Lt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lt(e)}function Vt(e,t){return Vt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vt(e,t)}Dt.prototype.tenantId=void 0,Dt.prototype.$reserved=void 0,Dt.prototype.$objectType=void 0,Dt.prototype.$unknownFields=void 0;var Wt=new WeakSet,Bt=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Lt(t),function(e,t){if(t&&("object"==Ct(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Gt()?Reflect.construct(t,n||[],Lt(e).constructor):t.apply(e,n))}(this,t),Wt),e.$objectType="common.v1.response.ExternalizableAbstractModel",e.$reserved={$fv:"v1.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vt(e,t)}(t,e),n=t,r=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"getLinks",value:function(){return this.links}},{key:"setLinks",value:function(e){this.links=e}},{key:"toJson",value:function(e){return!1===e?Nt(Nt(Nt(Nt({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(null==e){if(!I.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===E.update&&!I.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new C("links","undefined or null");if(!I.validateMaxItems(this.links,20))return new C("links","does not satisfy required maxItems constraint: 20")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,Dt.constructFromObject(e,a,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&a.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(i=[],n=e.links,o=0;o<n.length;o++)r=Se.constructFromObject(n[o],void 0),i.push(r);a.setLinks(i)}if(!s)for(var u in a.$unknownFields=Nt({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Mt(n.prototype,r),o&&Mt(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Dt);function zt(e){return zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zt(e)}function qt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qt(Object(n),!0).forEach((function(t){Ht(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ht(e,t,n){return(t=Xt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Xt(r.key),r)}}function Xt(e){var t=function(e){if("object"!=zt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=zt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==zt(t)?t:t+""}Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var Yt=new WeakSet,Qt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Yt),this.mgmtClusterExtId=t,this.$objectType="dataprotection.v4.config.DataProtectionSiteReference",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getMgmtClusterExtId",value:function(){return this.mgmtClusterExtId}},{key:"setMgmtClusterExtId",value:function(e){this.mgmtClusterExtId=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Kt(Kt(Kt({},void 0!==this.getMgmtClusterExtId()&&null!==this.getMgmtClusterExtId()?{mgmtClusterExtId:this.getMgmtClusterExtId()}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["mgmtClusterExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("mgmtClusterExtId"===t){if(void 0===this.mgmtClusterExtId||null===this.mgmtClusterExtId)return new C("mgmtClusterExtId","undefined or null");if(!I.validatePattern(this.mgmtClusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("mgmtClusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!I.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("mgmtClusterExtId")&&null!==t.mgmtClusterExtId&&void 0!==t.mgmtClusterExtId&&n.setMgmtClusterExtId(t.mgmtClusterExtId),t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Kt({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Zt(t.prototype,n),r&&Zt(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();Qt.prototype.mgmtClusterExtId=void 0,Qt.prototype.clusterExtId=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;var en={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(en).find((function(t){return en[t]===e}));return null==t?en.$UNKNOWN:en[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case en.$UNKNOWN:case en.$REDACTED:case en.VM:case en.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ProtectedEntityType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(en);const tn=en;var nn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IN_SYNC:"IN_SYNC",SYNCING:"SYNCING",OUT_OF_SYNC:"OUT_OF_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(nn).find((function(t){return nn[t]===e}));return null==t?nn.$UNKNOWN:nn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case nn.$UNKNOWN:case nn.$REDACTED:case nn.IN_SYNC:case nn.SYNCING:case nn.OUT_OF_SYNC:return;default:throw new Error("Invalid : must be ProtectedResourceReplicationStatus.{ $UNKNOWN|$REDACTED|IN_SYNC|SYNCING|OUT_OF_SYNC }")}}};Object.freeze(nn);const rn=nn;function on(e){return on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},on(e)}function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?an(Object(n),!0).forEach((function(t){un(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function un(e,t,n){return(t=ln(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ln(r.key),r)}}function ln(e){var t=function(e){if("object"!=on(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=on(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==on(t)?t:t+""}var fn=new WeakSet,pn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,fn),this.$objectType="dataprotection.v4.config.ReplicationState",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getProtectionPolicyExtId",value:function(){return this.protectionPolicyExtId}},{key:"setProtectionPolicyExtId",value:function(e){this.protectionPolicyExtId=e}},{key:"getRecoveryPointObjectiveSeconds",value:function(){return this.recoveryPointObjectiveSeconds}},{key:"setRecoveryPointObjectiveSeconds",value:function(e){this.recoveryPointObjectiveSeconds=e}},{key:"getReplicationStatus",value:function(){return this.replicationStatus}},{key:"setReplicationStatus",value:function(e){this.replicationStatus=e}},{key:"getTargetSiteReference",value:function(){return this.targetSiteReference}},{key:"setTargetSiteReference",value:function(e){this.targetSiteReference=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return sn(sn(sn(sn(sn({},void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{}),void 0!==this.getRecoveryPointObjectiveSeconds()&&null!==this.getRecoveryPointObjectiveSeconds()?{recoveryPointObjectiveSeconds:this.getRecoveryPointObjectiveSeconds()}:{}),void 0!==this.getReplicationStatus()&&null!==this.getReplicationStatus()?{replicationStatus:this.getReplicationStatus()}:{}),void 0!==this.getTargetSiteReference()&&null!==this.getTargetSiteReference()?{targetSiteReference:this.getTargetSiteReference().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new C("protectionPolicyExtId","undefined or null");if(!I.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveryPointObjectiveSeconds"===t){if(void 0===this.recoveryPointObjectiveSeconds||null===this.recoveryPointObjectiveSeconds)return new C("recoveryPointObjectiveSeconds","undefined or null");if(!I.validateMaximum(this.recoveryPointObjectiveSeconds,2419200))return new C("recoveryPointObjectiveSeconds","does not satisfy required maximum constraint: 2419200");if(!I.validateMinimum(this.recoveryPointObjectiveSeconds,0))return new C("recoveryPointObjectiveSeconds","does not satisfy required minimum constraint: 0")}return"replicationStatus"!==t||void 0!==this.replicationStatus&&null!==this.replicationStatus?"targetSiteReference"!==t||void 0!==this.targetSiteReference&&null!==this.targetSiteReference?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("targetSiteReference","undefined or null"):new C("replicationStatus","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("protectionPolicyExtId")&&null!==t.protectionPolicyExtId&&void 0!==t.protectionPolicyExtId&&n.setProtectionPolicyExtId(t.protectionPolicyExtId),t.hasOwnProperty("recoveryPointObjectiveSeconds")&&null!==t.recoveryPointObjectiveSeconds&&void 0!==t.recoveryPointObjectiveSeconds&&n.setRecoveryPointObjectiveSeconds(t.recoveryPointObjectiveSeconds),t.hasOwnProperty("replicationStatus")&&null!==t.replicationStatus&&void 0!==t.replicationStatus&&n.setReplicationStatus(rn.constructFromObject(t.replicationStatus)),t.hasOwnProperty("targetSiteReference")&&null!==t.targetSiteReference&&void 0!==t.targetSiteReference&&n.setTargetSiteReference(Qt.constructFromObject(t.targetSiteReference)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=sn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&cn(t.prototype,n),r&&cn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function dn(e){return dn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dn(e)}function yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yn(Object(n),!0).forEach((function(t){hn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hn(e,t,n){return(t=mn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,mn(r.key),r)}}function mn(e){var t=function(e){if("object"!=dn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=dn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dn(t)?t:t+""}function gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pn.prototype.protectionPolicyExtId=void 0,pn.prototype.recoveryPointObjectiveSeconds=void 0,pn.prototype.replicationStatus=void 0,pn.prototype.targetSiteReference=void 0,pn.prototype.$reserved=void 0,pn.prototype.$objectType=void 0,pn.prototype.$unknownFields=void 0;var wn=new WeakSet,On=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,wn),this.$objectType="dataprotection.v4.config.RestorableTimeRange",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getStartTime",value:function(){return this.startTime}},{key:"setStartTime",value:function(e){this.startTime=e}},{key:"getEndTime",value:function(){return this.endTime}},{key:"setEndTime",value:function(e){this.endTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return vn(vn(vn({},void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:gn(wn,this,jn).call(this,this.getStartTime(),!1)}:{}),void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:gn(wn,this,jn).call(this,this.getEndTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"startTime"!==t||void 0!==this.startTime&&null!==this.startTime?"endTime"!==t||void 0!==this.endTime&&null!==this.endTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("endTime","undefined or null"):new C("startTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("startTime")&&null!==t.startTime&&void 0!==t.startTime&&n.setStartTime(t.startTime),t.hasOwnProperty("endTime")&&null!==t.endTime&&void 0!==t.endTime&&n.setEndTime(t.endTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=vn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&bn(t.prototype,n),r&&bn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function jn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function kn(e){return kn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kn(e)}function $n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$n(Object(n),!0).forEach((function(t){Tn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$n(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Tn(e,t,n){return(t=Fn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function En(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Fn(r.key),r)}}function Fn(e){var t=function(e){if("object"!=kn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=kn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==kn(t)?t:t+""}On.prototype.startTime=void 0,On.prototype.endTime=void 0,On.prototype.$reserved=void 0,On.prototype.$objectType=void 0,On.prototype.$unknownFields=void 0;var Sn=new WeakSet,Rn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Sn),this.$objectType="dataprotection.v4.config.RecoveryInfo",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getRestorableTimeRanges",value:function(){return this.restorableTimeRanges}},{key:"setRestorableTimeRanges",value:function(e){this.restorableTimeRanges=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Pn(Pn({},void 0!==this.getRestorableTimeRanges()&&null!==this.getRestorableTimeRanges()?{restorableTimeRanges:this.getRestorableTimeRanges().map((function(e){return e.toJson(!1)}))}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("restorableTimeRanges"===t){if(void 0===this.restorableTimeRanges||null===this.restorableTimeRanges)return new C("restorableTimeRanges","undefined or null");if(!I.validateMaxItems(this.restorableTimeRanges,30))return new C("restorableTimeRanges","does not satisfy required maxItems constraint: 30")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("restorableTimeRanges")&&null!==t.restorableTimeRanges&&void 0!==t.restorableTimeRanges){for(i=[],n=t.restorableTimeRanges,o=0;o<n.length;o++)r=On.constructFromObject(n[o],void 0),i.push(r);a.setRestorableTimeRanges(i)}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!s)for(var u in a.$unknownFields=Pn({},t.$unknownFields),t)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=t[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&En(t.prototype,n),r&&En(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();Rn.prototype.restorableTimeRanges=void 0,Rn.prototype.$reserved=void 0,Rn.prototype.$objectType=void 0,Rn.prototype.$unknownFields=void 0;var In={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",SECONDARY:"SECONDARY",INDEPENDENT:"INDEPENDENT",DECOUPLED:"DECOUPLED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(In).find((function(t){return In[t]===e}));return null==t?In.$UNKNOWN:In[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case In.$UNKNOWN:case In.$REDACTED:case In.PRIMARY:case In.SECONDARY:case In.INDEPENDENT:case In.DECOUPLED:return;default:throw new Error("Invalid : must be SynchronousReplicationRole.{ $UNKNOWN|$REDACTED|PRIMARY|SECONDARY|INDEPENDENT|DECOUPLED }")}}};Object.freeze(In);const xn=In;function An(e){return An="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},An(e)}function Dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Cn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dn(Object(n),!0).forEach((function(t){_n(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _n(e,t,n){return(t=Jn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Jn(r.key),r)}}function Jn(e){var t=function(e){if("object"!=An(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=An(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==An(t)?t:t+""}var Mn=new WeakSet,Un=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Mn),this.$objectType="dataprotection.v4.config.SiteProtectionInfo",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getRecoveryInfo",value:function(){return this.recoveryInfo}},{key:"setRecoveryInfo",value:function(e){this.recoveryInfo=e}},{key:"getLocationReference",value:function(){return this.locationReference}},{key:"setLocationReference",value:function(e){this.locationReference=e}},{key:"getSynchronousReplicationRole",value:function(){return this.synchronousReplicationRole}},{key:"setSynchronousReplicationRole",value:function(e){this.synchronousReplicationRole=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Cn(Cn(Cn(Cn({},void 0!==this.getRecoveryInfo()&&null!==this.getRecoveryInfo()?{recoveryInfo:this.getRecoveryInfo().toJson(!1)}:{}),void 0!==this.getLocationReference()&&null!==this.getLocationReference()?{locationReference:this.getLocationReference().toJson(!1)}:{}),void 0!==this.getSynchronousReplicationRole()&&null!==this.getSynchronousReplicationRole()?{synchronousReplicationRole:this.getSynchronousReplicationRole()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"recoveryInfo"!==t||void 0!==this.recoveryInfo&&null!==this.recoveryInfo?"locationReference"!==t||void 0!==this.locationReference&&null!==this.locationReference?"synchronousReplicationRole"!==t||void 0!==this.synchronousReplicationRole&&null!==this.synchronousReplicationRole?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("synchronousReplicationRole","undefined or null"):new C("locationReference","undefined or null"):new C("recoveryInfo","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("recoveryInfo")&&null!==t.recoveryInfo&&void 0!==t.recoveryInfo&&n.setRecoveryInfo(Rn.constructFromObject(t.recoveryInfo)),t.hasOwnProperty("locationReference")&&null!==t.locationReference&&void 0!==t.locationReference&&n.setLocationReference(Qt.constructFromObject(t.locationReference)),t.hasOwnProperty("synchronousReplicationRole")&&null!==t.synchronousReplicationRole&&void 0!==t.synchronousReplicationRole&&n.setSynchronousReplicationRole(xn.constructFromObject(t.synchronousReplicationRole)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Cn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Nn(t.prototype,n),r&&Nn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Gn(e){return Gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gn(e)}function Ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ln(Object(n),!0).forEach((function(t){Wn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wn(e,t,n){return(t=zn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,zn(r.key),r)}}function zn(e){var t=function(e){if("object"!=Gn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Gn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Gn(t)?t:t+""}function qn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(qn=function(){return!!e})()}function Kn(e){return Kn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Kn(e)}function Hn(e,t){return Hn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Hn(e,t)}Un.prototype.recoveryInfo=void 0,Un.prototype.locationReference=void 0,Un.prototype.synchronousReplicationRole=void 0,Un.prototype.$reserved=void 0,Un.prototype.$objectType=void 0,Un.prototype.$unknownFields=void 0;var Zn=new WeakSet,Xn=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Kn(t),function(e,t){if(t&&("object"==Gn(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,qn()?Reflect.construct(t,n||[],Kn(e).constructor):t.apply(e,n))}(this,t),Zn),e.$objectType="dataprotection.v4.config.ProtectedResource",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Hn(e,t)}(t,e),n=t,r=[{key:"getEntityExtId",value:function(){return this.entityExtId}},{key:"setEntityExtId",value:function(e){this.entityExtId=e}},{key:"getEntityType",value:function(){return this.entityType}},{key:"setEntityType",value:function(e){this.entityType=e}},{key:"getSourceSiteReference",value:function(){return this.sourceSiteReference}},{key:"setSourceSiteReference",value:function(e){this.sourceSiteReference=e}},{key:"getSiteProtectionInfo",value:function(){return this.siteProtectionInfo}},{key:"setSiteProtectionInfo",value:function(e){this.siteProtectionInfo=e}},{key:"getReplicationStates",value:function(){return this.replicationStates}},{key:"setReplicationStates",value:function(e){this.replicationStates=e}},{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getCategoryFqNames",value:function(){return this.categoryFqNames}},{key:"setCategoryFqNames",value:function(e){this.categoryFqNames=e}},{key:"toJson",value:function(e){return Vn(!1===e?Vn(Vn(Vn(Vn(Vn(Vn(Vn(Vn(Vn(Vn({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{}),void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Vn(Vn(Vn(Vn(Vn(Vn(Vn({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{}),void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new C("entityExtId","undefined or null");if(!I.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new C("entityType","undefined or null");if("sourceSiteReference"===t&&(void 0===this.sourceSiteReference||null===this.sourceSiteReference))return new C("sourceSiteReference","undefined or null");if("siteProtectionInfo"===t){if(void 0===this.siteProtectionInfo||null===this.siteProtectionInfo)return new C("siteProtectionInfo","undefined or null");if(!I.validateMaxItems(this.siteProtectionInfo,20))return new C("siteProtectionInfo","does not satisfy required maxItems constraint: 20")}if("replicationStates"===t){if(void 0===this.replicationStates||null===this.replicationStates)return new C("replicationStates","undefined or null");if(!I.validateMaxItems(this.replicationStates,20))return new C("replicationStates","does not satisfy required maxItems constraint: 20")}if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!I.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("categoryFqNames"===t){if(void 0===this.categoryFqNames||null===this.categoryFqNames)return new C("categoryFqNames","undefined or null");if(!I.validateMaxItems(this.categoryFqNames,1200))return new C("categoryFqNames","does not satisfy required maxItems constraint: 1200")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,Bt.constructFromObject(e,a,!0),e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&a.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&a.setEntityType(tn.constructFromObject(e.entityType)),e.hasOwnProperty("sourceSiteReference")&&null!==e.sourceSiteReference&&void 0!==e.sourceSiteReference&&a.setSourceSiteReference(Qt.constructFromObject(e.sourceSiteReference)),e.hasOwnProperty("siteProtectionInfo")&&null!==e.siteProtectionInfo&&void 0!==e.siteProtectionInfo){for(i=[],n=e.siteProtectionInfo,o=0;o<n.length;o++)r=Un.constructFromObject(n[o],void 0),i.push(r);a.setSiteProtectionInfo(i)}if(e.hasOwnProperty("replicationStates")&&null!==e.replicationStates&&void 0!==e.replicationStates){for(i=[],n=e.replicationStates,o=0;o<n.length;o++)r=pn.constructFromObject(n[o],void 0),i.push(r);a.setReplicationStates(i)}if(e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&a.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("categoryFqNames")&&null!==e.categoryFqNames&&void 0!==e.categoryFqNames){for(i=[],n=e.categoryFqNames,o=0;o<n.length;o++)i.push(n[o]);a.setCategoryFqNames(i)}if(!s)for(var u in a.$unknownFields=Vn({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Bn(n.prototype,r),o&&Bn(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function Yn(e){return Yn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yn(e)}function Qn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function er(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?er(Object(n),!0).forEach((function(t){nr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):er(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function nr(e,t,n){return(t=or(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,or(r.key),r)}}function or(e){var t=function(e){if("object"!=Yn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Yn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Yn(t)?t:t+""}function ir(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xn.prototype.entityExtId=void 0,Xn.prototype.entityType=void 0,Xn.prototype.sourceSiteReference=void 0,Xn.prototype.siteProtectionInfo=void 0,Xn.prototype.replicationStates=void 0,Xn.prototype.consistencyGroupExtId=void 0,Xn.prototype.categoryFqNames=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var ar=new WeakSet,sr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ar),this.$objectType="dataprotection.v4.error.AppMessage",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getSeverity",value:function(){return this.severity}},{key:"setSeverity",value:function(e){this.severity=e}},{key:"getCode",value:function(){return this.code}},{key:"setCode",value:function(e){this.code=e}},{key:"getLocale",value:function(){return this.locale}},{key:"setLocale",value:function(e){this.locale=e}},{key:"getErrorGroup",value:function(){return this.errorGroup}},{key:"setErrorGroup",value:function(e){this.errorGroup=e}},{key:"getArgumentsMap",value:function(){return this.argumentsMap}},{key:"setArgumentsMap",value:function(e){this.argumentsMap=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return tr(tr(tr(tr(tr(tr(tr({},void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{}),void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{}),void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{}),void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{}),!1===e?void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:ir(ar,this,ur).call(this,this.getArgumentsMap(),!1)}:{}:void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:ir(ar,this,ur).call(this,this.getArgumentsMap())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("argumentsMap","undefined or null"):new C("errorGroup","undefined or null"):new C("locale","undefined or null"):new C("code","undefined or null"):new C("severity","undefined or null"):new C("message","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("severity")&&null!==t.severity&&void 0!==t.severity&&n.setSeverity(de.constructFromObject(t.severity)),t.hasOwnProperty("code")&&null!==t.code&&void 0!==t.code&&n.setCode(t.code),t.hasOwnProperty("locale")&&null!==t.locale&&void 0!==t.locale&&n.setLocale(t.locale),t.hasOwnProperty("errorGroup")&&null!==t.errorGroup&&void 0!==t.errorGroup&&n.setErrorGroup(t.errorGroup),t.hasOwnProperty("argumentsMap")&&null!==t.argumentsMap&&void 0!==t.argumentsMap&&n.setArgumentsMap(t.argumentsMap),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=tr({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&rr(t.prototype,n),r&&rr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ur(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Qn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qn(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Yn(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function cr(e){return cr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cr(e)}function lr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lr(Object(n),!0).forEach((function(t){pr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pr(e,t,n){return(t=yr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,yr(r.key),r)}}function yr(e){var t=function(e){if("object"!=cr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=cr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==cr(t)?t:t+""}sr.prototype.message=void 0,sr.prototype.severity=void 0,sr.prototype.code=void 0,sr.prototype.locale="en_US",sr.prototype.errorGroup=void 0,sr.prototype.argumentsMap=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var vr=new WeakSet,hr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,vr),this.$objectType="dataprotection.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getLocation",value:function(){return this.location}},{key:"setLocation",value:function(e){this.location=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getAttributePath",value:function(){return this.attributePath}},{key:"setAttributePath",value:function(e){this.attributePath=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return fr(fr(fr(fr({},void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{}),void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("attributePath","undefined or null"):new C("message","undefined or null"):new C("location","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("location")&&null!==t.location&&void 0!==t.location&&n.setLocation(t.location),t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("attributePath")&&null!==t.attributePath&&void 0!==t.attributePath&&n.setAttributePath(t.attributePath),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=fr({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&dr(t.prototype,n),r&&dr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function br(e){return br="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},br(e)}function mr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mr(Object(n),!0).forEach((function(t){wr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wr(e,t,n){return(t=jr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Or(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,jr(r.key),r)}}function jr(e){var t=function(e){if("object"!=br(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=br(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==br(t)?t:t+""}function kr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}hr.prototype.location=void 0,hr.prototype.message=void 0,hr.prototype.attributePath=void 0,hr.prototype.$reserved=void 0,hr.prototype.$objectType=void 0,hr.prototype.$unknownFields=void 0;var $r=new WeakSet,Pr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,$r),this.$objectType="dataprotection.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getTimestamp",value:function(){return this.timestamp}},{key:"setTimestamp",value:function(e){this.timestamp=e}},{key:"getStatusCode",value:function(){return this.statusCode}},{key:"setStatusCode",value:function(e){this.statusCode=e}},{key:"getError",value:function(){return this.error}},{key:"setError",value:function(e){this.error=e}},{key:"getPath",value:function(){return this.path}},{key:"setPath",value:function(e){this.path=e}},{key:"getValidationErrorMessages",value:function(){return this.validationErrorMessages}},{key:"setValidationErrorMessages",value:function(e){this.validationErrorMessages=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return gr(gr(gr(gr(gr(gr({},void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:kr($r,this,Tr).call(this,this.getTimestamp(),!1)}:{}),void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{}),void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{}),void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{}),void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map((function(e){return e.toJson(!1)}))}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("validationErrorMessages","undefined or null"):new C("path","undefined or null"):new C("error","undefined or null"):new C("statusCode","undefined or null"):new C("timestamp","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("timestamp")&&null!==t.timestamp&&void 0!==t.timestamp&&a.setTimestamp(t.timestamp),t.hasOwnProperty("statusCode")&&null!==t.statusCode&&void 0!==t.statusCode&&a.setStatusCode(t.statusCode),t.hasOwnProperty("error")&&null!==t.error&&void 0!==t.error&&a.setError(t.error),t.hasOwnProperty("path")&&null!==t.path&&void 0!==t.path&&a.setPath(t.path),t.hasOwnProperty("validationErrorMessages")&&null!==t.validationErrorMessages&&void 0!==t.validationErrorMessages){for(i=[],n=t.validationErrorMessages,o=0;o<n.length;o++)r=hr.constructFromObject(n[o],void 0),i.push(r);a.setValidationErrorMessages(i)}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!s)for(var u in a.$unknownFields=gr({},t.$unknownFields),t)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=t[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Or(t.prototype,n),r&&Or(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Tr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Er(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Fr(e){return Fr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fr(e)}function Sr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sr(Object(n),!0).forEach((function(t){Ir(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ir(e,t,n){return(t=Ar(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ar(r.key),r)}}function Ar(e){var t=function(e){if("object"!=Fr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Fr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Fr(t)?t:t+""}function Dr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pr.prototype.timestamp=void 0,Pr.prototype.statusCode=void 0,Pr.prototype.error=void 0,Pr.prototype.path=void 0,Pr.prototype.validationErrorMessages=void 0,Pr.prototype.$reserved=void 0,Pr.prototype.$objectType=void 0,Pr.prototype.$unknownFields=void 0;var Cr=new WeakSet,_r=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Cr),this.$objectType="dataprotection.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getError",value:function(){return this.error}},{key:"setError",value:function(e){this.error=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Rr(Rr({},!1===e?void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Dr(Cr,this,Nr).call(this,this.getError(),!1)}:{}:void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map((function(e){return void 0!==e.toJson?e.toJson():e})):Dr(Cr,this,Nr).call(this,this.getError())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("error","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("error")&&null!==t.error&&void 0!==t.error)if(Array.isArray(t.error))if(0===t.error.length)s.setError([]);else{for(i=[],a=(n=t.error)[0].hasOwnProperty("$objectType")?n[0].$objectType:Fr(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";r=sr.constructFromObject(n[o],void 0),i.push(r)}s.setError(i)}else{if("dataprotection.v4.error.SchemaValidationError"!==(a=t.error.hasOwnProperty("$objectType")?t.error.$objectType:Fr(t.error)))throw"Unknown datatype "+a+" in data";s.setError(Pr.constructFromObject(t.error,void 0))}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!u)for(var c in s.$unknownFields=Rr({},t.$unknownFields),t)Object.keys(s).includes(c)||Object.keys(s).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(s.$unknownFields[c]=t[c])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&xr(t.prototype,n),r&&xr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Nr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Er(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Er(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Fr(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Jr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Mr(e){return Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mr(e)}function Ur(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ur(Object(n),!0).forEach((function(t){Lr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ur(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lr(e,t,n){return(t=Wr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Wr(r.key),r)}}function Wr(e){var t=function(e){if("object"!=Mr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Mr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Mr(t)?t:t+""}function Br(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Br=function(){return!!e})()}function zr(e){return zr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zr(e)}function qr(e,t){return qr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},qr(e,t)}function Kr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_r.prototype.error=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;var Hr=new WeakSet,Zr=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=zr(t),function(e,t){if(t&&("object"==Mr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Br()?Reflect.construct(t,n||[],zr(e).constructor):t.apply(e,n))}(this,t),Hr),e.$objectType="dataprotection.v4.config.GetProtectedResourceApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qr(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Gr(Gr(Gr({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Kr(Hr,this,Xr).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Kr(Hr,this,Xr).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Mr(e.data)){case"dataprotection.v4.config.ProtectedResource":r.setData(Xn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Gr({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Vr(n.prototype,r),o&&Vr(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Xr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Jr(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jr(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Mr(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Yr(e){return Yr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yr(e)}function Qr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function eo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qr(Object(n),!0).forEach((function(t){to(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function to(e,t,n){return(t=ro(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function no(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ro(r.key),r)}}function ro(e){var t=function(e){if("object"!=Yr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Yr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Yr(t)?t:t+""}Zr.prototype.metadata=void 0,Zr.prototype.data=void 0,Zr.prototype.$reserved=void 0,Zr.prototype.$objectType=void 0,Zr.prototype.$unknownFields=void 0;var oo=new WeakSet,io=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,oo),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return eo(eo({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(!I.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/))return new C("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("extId")&&null!==t.extId&&void 0!==t.extId&&n.setExtId(t.extId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=eo({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&no(t.prototype,n),r&&no(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ao(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function so(e){return so="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},so(e)}function uo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function co(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uo(Object(n),!0).forEach((function(t){lo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lo(e,t,n){return(t=po(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,po(r.key),r)}}function po(e){var t=function(e){if("object"!=so(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=so(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==so(t)?t:t+""}function yo(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(yo=function(){return!!e})()}function vo(e){return vo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},vo(e)}function ho(e,t){return ho=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ho(e,t)}function bo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}io.prototype.extId=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;var mo=new WeakSet,go=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=vo(t),function(e,t){if(t&&("object"==so(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,yo()?Reflect.construct(t,n||[],vo(e).constructor):t.apply(e,n))}(this,t),mo),e.$objectType="dataprotection.v4.config.ProtectedResourceRestoreApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ho(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return co(co(co({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):bo(mo,this,wo).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):bo(mo,this,wo).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:so(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=co({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&fo(n.prototype,r),o&&fo(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function wo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return ao(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ao(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===so(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Oo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function jo(e){return jo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jo(e)}function ko(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ko(Object(n),!0).forEach((function(t){Po(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ko(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Po(e,t,n){return(t=Eo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function To(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Eo(r.key),r)}}function Eo(e){var t=function(e){if("object"!=jo(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=jo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==jo(t)?t:t+""}function Fo(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Fo=function(){return!!e})()}function So(e){return So=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},So(e)}function Ro(e,t){return Ro=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ro(e,t)}function Io(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}go.prototype.metadata=void 0,go.prototype.data=void 0,go.prototype.$reserved=void 0,go.prototype.$objectType=void 0,go.prototype.$unknownFields=void 0;var xo=new WeakSet,Ao=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=So(t),function(e,t){if(t&&("object"==jo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Fo()?Reflect.construct(t,n||[],So(e).constructor):t.apply(e,n))}(this,t),xo),e.$objectType="dataprotection.v4.config.ProtectedResourcePromoteApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ro(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $o($o($o({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Io(xo,this,Do).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Io(xo,this,Do).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:jo(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=$o({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&To(n.prototype,r),o&&To(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Do(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Oo(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Oo(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===jo(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Co(e){return Co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Co(e)}function _o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function No(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_o(Object(n),!0).forEach((function(t){Jo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Jo(e,t,n){return(t=Uo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Uo(r.key),r)}}function Uo(e){var t=function(e){if("object"!=Co(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Co(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Co(t)?t:t+""}function Go(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ao.prototype.metadata=void 0,Ao.prototype.data=void 0,Ao.prototype.$reserved=void 0,Ao.prototype.$objectType=void 0,Ao.prototype.$unknownFields=void 0;var Lo=new WeakSet,Vo=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Lo),this.clusterExtId=t,this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getRestoreTime",value:function(){return this.restoreTime}},{key:"setRestoreTime",value:function(e){this.restoreTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return No(No(No({},void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getRestoreTime()&&null!==this.getRestoreTime()?{restoreTime:Go(Lo,this,Wo).call(this,this.getRestoreTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["clusterExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!I.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"restoreTime"!==t||void 0!==this.restoreTime&&null!==this.restoreTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("restoreTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("restoreTime")&&null!==t.restoreTime&&void 0!==t.restoreTime&&n.setRestoreTime(t.restoreTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=No({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Mo(t.prototype,n),r&&Mo(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Wo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Bo(e){return Bo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bo(e)}function zo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zo(Object(n),!0).forEach((function(t){Ko(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ko(e,t,n){return(t=Zo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ho(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Zo(r.key),r)}}function Zo(e){var t=function(e){if("object"!=Bo(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Bo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Bo(t)?t:t+""}function Xo(e,t){return e.get(Yo(e,t))}function Yo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vo.prototype.clusterExtId=void 0,Vo.prototype.restoreTime=void 0,Vo.prototype.$reserved=void 0,Vo.prototype.$objectType=void 0,Vo.prototype.$unknownFields=void 0;var Qo=new WeakMap,ei=function(){return e=function e(t){var n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}(this,Qo,void 0),this.apiClient=t||ct.instance,n=Qo,r=new Set,n.set(Yo(n,this),r),Xo(Qo,this).add("authorization"),Xo(Qo,this).add("cookie"),Xo(Qo,this).add("host"),Xo(Qo,this).add("user-agent")},t=[{key:"getProtectedResourceById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getProtectedResourceById");var r={extId:e},o={};Object.keys(n).forEach((function(e){Xo(Qo,t).has(e.toLowerCase())||(o[e]=n[e])}));var i=qo({},o),a=Zr;return this.apiClient.callApi("/api/dataprotection/v4.0/config/protected-resources/{extId}","GET",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"promoteProtectedResource",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling promoteProtectedResource");var r={extId:e},o={};Object.keys(n).forEach((function(e){Xo(Qo,t).has(e.toLowerCase())||(o[e]=n[e])}));var i=qo({},o),a=Ao;return this.apiClient.callApi("/api/dataprotection/v4.0/config/protected-resources/{extId}/$actions/promote","POST",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"restoreProtectedResource",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Vo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreProtectedResource");if(null==n)throw new Error("Invalid body when calling restoreProtectedResource");var i={extId:e},a={};Object.keys(o).forEach((function(e){Xo(Qo,r).has(e.toLowerCase())||(a[e]=o[e])}));var s=qo({},a);ct.addEtagReferenceToHeader(t,s);var u=go;return this.apiClient.callApi("/api/dataprotection/v4.0/config/protected-resources/{extId}/$actions/restore","POST",i,{},s,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}}],n=[{key:"ApiClient",get:function(){return ct}}],t&&Ho(e.prototype,t),n&&Ho(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}();function ti(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ni(e){return ni="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ni(e)}function ri(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ri(Object(n),!0).forEach((function(t){ii(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ri(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ii(e,t,n){return(t=si(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ai(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,si(r.key),r)}}function si(e){var t=function(e){if("object"!=ni(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ni(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ni(t)?t:t+""}function ui(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ui=function(){return!!e})()}function ci(e){return ci=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ci(e)}function li(e,t){return li=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},li(e,t)}function fi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var pi=new WeakSet,di=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=ci(t),function(e,t){if(t&&("object"==ni(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ui()?Reflect.construct(t,n||[],ci(e).constructor):t.apply(e,n))}(this,t),pi),e.$objectType="dataprotection.v4.config.RecoveryPointReplicateApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&li(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return oi(oi(oi({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):fi(pi,this,yi).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):fi(pi,this,yi).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:ni(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=oi({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&ai(n.prototype,r),o&&ai(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function yi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return ti(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ti(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===ni(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}di.prototype.metadata=void 0,di.prototype.data=void 0,di.prototype.$reserved=void 0,di.prototype.$objectType=void 0,di.prototype.$unknownFields=void 0;var vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",GET_VSS_METADATA:"GET_VSS_METADATA",COMPUTE_CHANGED_REGIONS:"COMPUTE_CHANGED_REGIONS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(vi).find((function(t){return vi[t]===e}));return null==t?vi.$UNKNOWN:vi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case vi.$UNKNOWN:case vi.$REDACTED:case vi.GET_VSS_METADATA:case vi.COMPUTE_CHANGED_REGIONS:return;default:throw new Error("Invalid : must be ClusterDiscoverOperation.{ $UNKNOWN|$REDACTED|GET_VSS_METADATA|COMPUTE_CHANGED_REGIONS }")}}};Object.freeze(vi);const hi=vi;function bi(e){return bi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bi(e)}function mi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mi(Object(n),!0).forEach((function(t){wi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wi(e,t,n){return(t=ji(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ji(r.key),r)}}function ji(e){var t=function(e){if("object"!=bi(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=bi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==bi(t)?t:t+""}var ki=new WeakSet,$i=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ki),this.$objectType="dataprotection.v4.content.DiskRecoveryPointReference",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getRecoveryPointExtId",value:function(){return this.recoveryPointExtId}},{key:"setRecoveryPointExtId",value:function(e){this.recoveryPointExtId=e}},{key:"getDiskRecoveryPointExtId",value:function(){return this.diskRecoveryPointExtId}},{key:"setDiskRecoveryPointExtId",value:function(e){this.diskRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return gi(gi(gi({},void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("recoveryPointExtId"===t){if(void 0===this.recoveryPointExtId||null===this.recoveryPointExtId)return new C("recoveryPointExtId","undefined or null");if(!I.validatePattern(this.recoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("recoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new C("diskRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("recoveryPointExtId")&&null!==t.recoveryPointExtId&&void 0!==t.recoveryPointExtId&&n.setRecoveryPointExtId(t.recoveryPointExtId),t.hasOwnProperty("diskRecoveryPointExtId")&&null!==t.diskRecoveryPointExtId&&void 0!==t.diskRecoveryPointExtId&&n.setDiskRecoveryPointExtId(t.diskRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=gi({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Oi(t.prototype,n),r&&Oi(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Pi(e){return Pi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pi(e)}function Ti(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ei(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ti(Object(n),!0).forEach((function(t){Fi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ti(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Fi(e,t,n){return(t=Ri(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Si(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ri(r.key),r)}}function Ri(e){var t=function(e){if("object"!=Pi(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Pi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Pi(t)?t:t+""}function Ii(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ii=function(){return!!e})()}function xi(e){return xi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xi(e)}function Ai(e,t){return Ai=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ai(e,t)}$i.prototype.recoveryPointExtId=void 0,$i.prototype.diskRecoveryPointExtId=void 0,$i.prototype.$reserved=void 0,$i.prototype.$objectType=void 0,$i.prototype.$unknownFields=void 0;var Di=new WeakSet,Ci=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=xi(t),function(e,t){if(t&&("object"==Pi(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ii()?Reflect.construct(t,n||[],xi(e).constructor):t.apply(e,n))}(this,t),Di),e.$objectType="dataprotection.v4.content.VmDiskRecoveryPointReference",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ai(e,t)}(t,e),n=t,r=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Ei(Ei(Ei(Ei({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,$i.constructFromObject(e,n,!0),e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&n.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),!r))for(var o in n.$unknownFields=Ei({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Si(n.prototype,r),o&&Si(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}($i);function _i(e){return _i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_i(e)}function Ni(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ji(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ni(Object(n),!0).forEach((function(t){Mi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ni(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mi(e,t,n){return(t=Gi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ui(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Gi(r.key),r)}}function Gi(e){var t=function(e){if("object"!=_i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=_i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_i(t)?t:t+""}function Li(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Li=function(){return!!e})()}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vi(e)}function Wi(e,t){return Wi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Wi(e,t)}Ci.prototype.vmRecoveryPointExtId=void 0,$i.prototype.recoveryPointExtId=void 0,$i.prototype.diskRecoveryPointExtId=void 0;var Bi=new WeakSet,zi=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Vi(t),function(e,t){if(t&&("object"==_i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Li()?Reflect.construct(t,n||[],Vi(e).constructor):t.apply(e,n))}(this,t),Bi),e.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Wi(e,t)}(t,e),n=t,r=[{key:"getVolumeGroupRecoveryPointExtId",value:function(){return this.volumeGroupRecoveryPointExtId}},{key:"setVolumeGroupRecoveryPointExtId",value:function(e){this.volumeGroupRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Ji(Ji(Ji(Ji({},void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new C("volumeGroupRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,$i.constructFromObject(e,n,!0),e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&n.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),!r))for(var o in n.$unknownFields=Ji({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ui(n.prototype,r),o&&Ui(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}($i);function qi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ki(e){return Ki="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ki(e)}function Hi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hi(Object(n),!0).forEach((function(t){Xi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xi(e,t,n){return(t=Qi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qi(r.key),r)}}function Qi(e){var t=function(e){if("object"!=Ki(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ki(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ki(t)?t:t+""}function ea(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zi.prototype.volumeGroupRecoveryPointExtId=void 0,$i.prototype.recoveryPointExtId=void 0,$i.prototype.diskRecoveryPointExtId=void 0;var ta=new WeakSet,na=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ta),this.diskRecoveryPoint=t,this.$objectType="dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getDiskRecoveryPoint",value:function(){return this.diskRecoveryPoint}},{key:"setDiskRecoveryPoint",value:function(e){this.diskRecoveryPoint=e}},{key:"getReferenceDiskRecoveryPoint",value:function(){return this.referenceDiskRecoveryPoint}},{key:"setReferenceDiskRecoveryPoint",value:function(e){this.referenceDiskRecoveryPoint=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Zi(!1===e?Zi(Zi({},void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson(!1):Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):ea(ta,this,ra).call(this,this.getDiskRecoveryPoint(),!1)}:{}),void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson(!1):Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):ea(ta,this,ra).call(this,this.getReferenceDiskRecoveryPoint(),!1)}:{}):Zi(Zi({},void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson():Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map((function(e){return void 0!==e.toJson?e.toJson():e})):ea(ta,this,ra).call(this,this.getDiskRecoveryPoint())}:{}),void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson():Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map((function(e){return void 0!==e.toJson?e.toJson():e})):ea(ta,this,ra).call(this,this.getReferenceDiskRecoveryPoint())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["diskRecoveryPoint"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"diskRecoveryPoint"!==t||void 0!==this.diskRecoveryPoint&&null!==this.diskRecoveryPoint?"referenceDiskRecoveryPoint"!==t||void 0!==this.referenceDiskRecoveryPoint&&null!==this.referenceDiskRecoveryPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("referenceDiskRecoveryPoint","undefined or null"):new C("diskRecoveryPoint","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("diskRecoveryPoint")&&null!==t.diskRecoveryPoint&&void 0!==t.diskRecoveryPoint)switch(n=t.diskRecoveryPoint.hasOwnProperty("$objectType")?t.diskRecoveryPoint.$objectType:Ki(t.diskRecoveryPoint)){case"dataprotection.v4.content.VmDiskRecoveryPointReference":r.setDiskRecoveryPoint(Ci.constructFromObject(t.diskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":r.setDiskRecoveryPoint(zi.constructFromObject(t.diskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("referenceDiskRecoveryPoint")&&null!==t.referenceDiskRecoveryPoint&&void 0!==t.referenceDiskRecoveryPoint)switch(n=t.referenceDiskRecoveryPoint.hasOwnProperty("$objectType")?t.referenceDiskRecoveryPoint.$objectType:Ki(t.referenceDiskRecoveryPoint)){case"dataprotection.v4.content.VmDiskRecoveryPointReference":r.setReferenceDiskRecoveryPoint(Ci.constructFromObject(t.referenceDiskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":r.setReferenceDiskRecoveryPoint(zi.constructFromObject(t.referenceDiskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=Zi({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Yi(t.prototype,n),r&&Yi(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return qi(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qi(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Ki(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function oa(e){return oa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oa(e)}function ia(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ia(Object(n),!0).forEach((function(t){sa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ia(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sa(e,t,n){return(t=ca(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ua(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ca(r.key),r)}}function ca(e){var t=function(e){if("object"!=oa(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=oa(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==oa(t)?t:t+""}na.prototype.diskRecoveryPoint=void 0,na.prototype.referenceDiskRecoveryPoint=void 0,na.prototype.$reserved=void 0,na.prototype.$objectType=void 0,na.prototype.$unknownFields=void 0;var la=new WeakSet,fa=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,la),this.vmRecoveryPointExtId=t,this.$objectType="dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return aa(aa({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["vmRecoveryPointExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("vmRecoveryPointExtId")&&null!==t.vmRecoveryPointExtId&&void 0!==t.vmRecoveryPointExtId&&n.setVmRecoveryPointExtId(t.vmRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=aa({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&ua(t.prototype,n),r&&ua(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function pa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function da(e){return da="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},da(e)}function ya(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function va(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ya(Object(n),!0).forEach((function(t){ha(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ya(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ha(e,t,n){return(t=ma(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ba(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ma(r.key),r)}}function ma(e){var t=function(e){if("object"!=da(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=da(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==da(t)?t:t+""}function ga(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}fa.prototype.vmRecoveryPointExtId=void 0,fa.prototype.$reserved=void 0,fa.prototype.$objectType=void 0,fa.prototype.$unknownFields=void 0;var wa=new WeakSet,Oa=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,wa),this.operation=t,this.spec=n,this.$objectType="dataprotection.v4.content.ClusterDiscoverSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getOperation",value:function(){return this.operation}},{key:"setOperation",value:function(e){this.operation=e}},{key:"getSpec",value:function(){return this.spec}},{key:"setSpec",value:function(e){this.spec=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return va(va(va({},void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{}),!1===e?void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson(!1):Array.isArray(this.getSpec())?this.getSpec().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):ga(wa,this,ja).call(this,this.getSpec(),!1)}:{}:void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson():Array.isArray(this.getSpec())?this.getSpec().map((function(e){return void 0!==e.toJson?e.toJson():e})):ga(wa,this,ja).call(this,this.getSpec())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["operation","spec"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"operation"!==t||void 0!==this.operation&&null!==this.operation?"spec"!==t||void 0!==this.spec&&null!==this.spec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("spec","undefined or null"):new C("operation","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("operation")&&null!==t.operation&&void 0!==t.operation&&r.setOperation(hi.constructFromObject(t.operation)),t.hasOwnProperty("spec")&&null!==t.spec&&void 0!==t.spec)switch(n=t.spec.hasOwnProperty("$objectType")?t.spec.$objectType:da(t.spec)){case"dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec":r.setSpec(fa.constructFromObject(t.spec,void 0));break;case"dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec":r.setSpec(na.constructFromObject(t.spec,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=va({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&ba(t.prototype,n),r&&ba(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ja(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return pa(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pa(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===da(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function ka(e){return ka="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ka(e)}function $a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$a(Object(n),!0).forEach((function(t){Ta(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ta(e,t,n){return(t=Fa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ea(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Fa(r.key),r)}}function Fa(e){var t=function(e){if("object"!=ka(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ka(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ka(t)?t:t+""}Oa.prototype.operation=void 0,Oa.prototype.spec=void 0,Oa.prototype.$reserved=void 0,Oa.prototype.$objectType=void 0,Oa.prototype.$unknownFields=void 0;var Sa=new WeakSet,Ra=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Sa),this.$objectType="dataprotection.v4.content.BaseRecoveryPointSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getReferenceRecoveryPointExtId",value:function(){return this.referenceRecoveryPointExtId}},{key:"setReferenceRecoveryPointExtId",value:function(e){this.referenceRecoveryPointExtId=e}},{key:"getReferenceDiskRecoveryPointExtId",value:function(){return this.referenceDiskRecoveryPointExtId}},{key:"setReferenceDiskRecoveryPointExtId",value:function(e){this.referenceDiskRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Pa(Pa(Pa({},void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("referenceRecoveryPointExtId"===t){if(void 0===this.referenceRecoveryPointExtId||null===this.referenceRecoveryPointExtId)return new C("referenceRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.referenceRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("referenceDiskRecoveryPointExtId"===t){if(void 0===this.referenceDiskRecoveryPointExtId||null===this.referenceDiskRecoveryPointExtId)return new C("referenceDiskRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.referenceDiskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceDiskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("referenceRecoveryPointExtId")&&null!==t.referenceRecoveryPointExtId&&void 0!==t.referenceRecoveryPointExtId&&n.setReferenceRecoveryPointExtId(t.referenceRecoveryPointExtId),t.hasOwnProperty("referenceDiskRecoveryPointExtId")&&null!==t.referenceDiskRecoveryPointExtId&&void 0!==t.referenceDiskRecoveryPointExtId&&n.setReferenceDiskRecoveryPointExtId(t.referenceDiskRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Pa({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Ea(t.prototype,n),r&&Ea(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ia(e){return Ia="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ia(e)}function xa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xa(Object(n),!0).forEach((function(t){Da(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Da(e,t,n){return(t=_a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ca(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_a(r.key),r)}}function _a(e){var t=function(e){if("object"!=Ia(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ia(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ia(t)?t:t+""}function Na(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Na=function(){return!!e})()}function Ja(e){return Ja=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ja(e)}function Ma(e,t){return Ma=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ma(e,t)}Ra.prototype.referenceRecoveryPointExtId=void 0,Ra.prototype.referenceDiskRecoveryPointExtId=void 0,Ra.prototype.$reserved=void 0,Ra.prototype.$objectType=void 0,Ra.prototype.$unknownFields=void 0;var Ua=new WeakSet,Ga=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ja(t),function(e,t){if(t&&("object"==Ia(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Na()?Reflect.construct(t,n||[],Ja(e).constructor):t.apply(e,n))}(this,t),Ua),e.$objectType="dataprotection.v4.content.VmDiskRecoveryPointClusterDiscoverSpec",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ma(e,t)}(t,e),n=t,r=[{key:"getReferenceVmRecoveryPointExtId",value:function(){return this.referenceVmRecoveryPointExtId}},{key:"setReferenceVmRecoveryPointExtId",value:function(e){this.referenceVmRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Aa(Aa(Aa(Aa({},void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("referenceVmRecoveryPointExtId"===t){if(void 0===this.referenceVmRecoveryPointExtId||null===this.referenceVmRecoveryPointExtId)return new C("referenceVmRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.referenceVmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceVmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ra.constructFromObject(e,n,!0),e.hasOwnProperty("referenceVmRecoveryPointExtId")&&null!==e.referenceVmRecoveryPointExtId&&void 0!==e.referenceVmRecoveryPointExtId&&n.setReferenceVmRecoveryPointExtId(e.referenceVmRecoveryPointExtId),!r))for(var o in n.$unknownFields=Aa({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ca(n.prototype,r),o&&Ca(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ra);function La(e){return La="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},La(e)}function Va(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Va(Object(n),!0).forEach((function(t){Ba(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Va(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ba(e,t,n){return(t=qa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function za(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,qa(r.key),r)}}function qa(e){var t=function(e){if("object"!=La(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=La(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==La(t)?t:t+""}function Ka(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ka=function(){return!!e})()}function Ha(e){return Ha=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ha(e)}function Za(e,t){return Za=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Za(e,t)}Ga.prototype.referenceVmRecoveryPointExtId=void 0,Ra.prototype.referenceRecoveryPointExtId=void 0,Ra.prototype.referenceDiskRecoveryPointExtId=void 0;var Xa=new WeakSet,Ya=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ha(t),function(e,t){if(t&&("object"==La(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ka()?Reflect.construct(t,n||[],Ha(e).constructor):t.apply(e,n))}(this,t),Xa),e.$objectType="dataprotection.v4.content.VmRecoveryPointChangedRegionsComputeSpec",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Za(e,t)}(t,e),n=t,r=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getBlockSizeByte",value:function(){return this.blockSizeByte}},{key:"setBlockSizeByte",value:function(e){this.blockSizeByte=e}},{key:"toJson",value:function(e){return Wa(Wa(Wa(Wa(Wa(Wa(Wa({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{}),void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new C("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new C("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new C("blockSizeByte","undefined or null");if(!I.validateMaximum(this.blockSizeByte,262144))return new C("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!I.validateMinimum(this.blockSizeByte,32768))return new C("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ga.constructFromObject(e,n,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&n.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&n.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&n.setBlockSizeByte(e.blockSizeByte),!r))for(var o in n.$unknownFields=Wa({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&za(n.prototype,r),o&&za(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ga);function Qa(e){return Qa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qa(e)}function es(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ts(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?es(Object(n),!0).forEach((function(t){ns(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):es(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ns(e,t,n){return(t=os(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,os(r.key),r)}}function os(e){var t=function(e){if("object"!=Qa(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Qa(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qa(t)?t:t+""}Ya.prototype.offset=void 0,Ya.prototype.length=void 0,Ya.prototype.blockSizeByte=void 0,Ga.prototype.referenceVmRecoveryPointExtId=void 0,Ra.prototype.referenceRecoveryPointExtId=void 0,Ra.prototype.referenceDiskRecoveryPointExtId=void 0;var is=new WeakSet,as=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,is),this.value=t,this.$objectType="common.v1.config.IPv4Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"getPrefixLength",value:function(){return this.prefixLength}},{key:"setPrefixLength",value:function(e){this.prefixLength=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ts(ts(ts({},void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["value"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new C("value","undefined or null");if(!I.validatePattern(this.value,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))return new C("value","does not satisfy required pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new C("prefixLength","undefined or null");if(!I.validateMaximum(this.prefixLength,32))return new C("prefixLength","does not satisfy required maximum constraint: 32");if(!I.validateMinimum(this.prefixLength,0))return new C("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("prefixLength")&&null!==t.prefixLength&&void 0!==t.prefixLength&&n.setPrefixLength(t.prefixLength),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ts({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&rs(t.prototype,n),r&&rs(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ss(e){return ss="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss(e)}function us(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?us(Object(n),!0).forEach((function(t){ls(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):us(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ls(e,t,n){return(t=ps(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ps(r.key),r)}}function ps(e){var t=function(e){if("object"!=ss(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ss(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ss(t)?t:t+""}as.prototype.value=void 0,as.prototype.prefixLength=32,as.prototype.$reserved=void 0,as.prototype.$objectType=void 0,as.prototype.$unknownFields=void 0;var ds=new WeakSet,ys=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ds),this.value=t,this.$objectType="common.v1.config.IPv6Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"getPrefixLength",value:function(){return this.prefixLength}},{key:"setPrefixLength",value:function(e){this.prefixLength=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return cs(cs(cs({},void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["value"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new C("value","undefined or null");if(!I.validatePattern(this.value,/^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/))return new C("value","does not satisfy required pattern: /^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new C("prefixLength","undefined or null");if(!I.validateMaximum(this.prefixLength,128))return new C("prefixLength","does not satisfy required maximum constraint: 128");if(!I.validateMinimum(this.prefixLength,0))return new C("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("prefixLength")&&null!==t.prefixLength&&void 0!==t.prefixLength&&n.setPrefixLength(t.prefixLength),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=cs({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&fs(t.prototype,n),r&&fs(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function vs(e){return vs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vs(e)}function hs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hs(Object(n),!0).forEach((function(t){ms(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ms(e,t,n){return(t=ws(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ws(r.key),r)}}function ws(e){var t=function(e){if("object"!=vs(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vs(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vs(t)?t:t+""}ys.prototype.value=void 0,ys.prototype.prefixLength=128,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var Os=new WeakSet,js=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Os),this.$objectType="common.v1.config.IPAddress",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getIpv4",value:function(){return this.ipv4}},{key:"setIpv4",value:function(e){this.ipv4=e}},{key:"getIpv6",value:function(){return this.ipv6}},{key:"setIpv6",value:function(e){this.ipv6=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"hasIpv4",value:function(){return!(void 0===this.ipv4||null===this.ipv4)}},{key:"hasIpv6",value:function(){return!(void 0===this.ipv6||null===this.ipv6)}},{key:"isValid",value:function(){return this.hasIpv4()||this.hasIpv6()}},{key:"toJson",value:function(e){return bs(bs(bs({},void 0!==this.getIpv4()&&null!==this.getIpv4()?{ipv4:this.getIpv4().toJson(!1)}:{}),void 0!==this.getIpv6()&&null!==this.getIpv6()?{ipv6:this.getIpv6().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"ipv4"!==t||void 0!==this.ipv4&&null!==this.ipv4?"ipv6"!==t||void 0!==this.ipv6&&null!==this.ipv6?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("ipv6","undefined or null"):new C("ipv4","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("ipv4")&&null!==t.ipv4&&void 0!==t.ipv4&&n.setIpv4(as.constructFromObject(t.ipv4)),t.hasOwnProperty("ipv6")&&null!==t.ipv6&&void 0!==t.ipv6&&n.setIpv6(ys.constructFromObject(t.ipv6)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=bs({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&gs(t.prototype,n),r&&gs(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ks(e){return ks="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(e)}function $s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ps(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$s(Object(n),!0).forEach((function(t){Ts(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ts(e,t,n){return(t=Fs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Es(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Fs(r.key),r)}}function Fs(e){var t=function(e){if("object"!=ks(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ks(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ks(t)?t:t+""}js.prototype.ipv4=void 0,js.prototype.ipv6=void 0,js.prototype.$reserved=void 0,js.prototype.$objectType=void 0,js.prototype.$unknownFields=void 0;var Ss=new WeakSet,Rs=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ss),this.$objectType="dataprotection.v4.common.ClusterInfo",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getJwtToken",value:function(){return this.jwtToken}},{key:"setJwtToken",value:function(e){this.jwtToken=e}},{key:"getClusterIp",value:function(){return this.clusterIp}},{key:"setClusterIp",value:function(e){this.clusterIp=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ps(Ps(Ps({},void 0!==this.getJwtToken()&&null!==this.getJwtToken()?{jwtToken:this.getJwtToken()}:{}),void 0!==this.getClusterIp()&&null!==this.getClusterIp()?{clusterIp:this.getClusterIp().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"jwtToken"!==t||void 0!==this.jwtToken&&null!==this.jwtToken?"clusterIp"!==t||void 0!==this.clusterIp&&null!==this.clusterIp?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("clusterIp","undefined or null"):new C("jwtToken","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("jwtToken")&&null!==t.jwtToken&&void 0!==t.jwtToken&&n.setJwtToken(t.jwtToken),t.hasOwnProperty("clusterIp")&&null!==t.clusterIp&&void 0!==t.clusterIp&&n.setClusterIp(js.constructFromObject(t.clusterIp)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Ps({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Es(t.prototype,n),r&&Es(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Is(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function xs(e){return xs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xs(e)}function As(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ds(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?As(Object(n),!0).forEach((function(t){Cs(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):As(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Cs(e,t,n){return(t=Ns(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ns(r.key),r)}}function Ns(e){var t=function(e){if("object"!=xs(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=xs(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==xs(t)?t:t+""}function Js(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Js=function(){return!!e})()}function Ms(e){return Ms=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ms(e)}function Us(e,t){return Us=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Us(e,t)}function Gs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Rs.prototype.jwtToken=void 0,Rs.prototype.clusterIp=void 0,Rs.prototype.$reserved=void 0,Rs.prototype.$objectType=void 0,Rs.prototype.$unknownFields=void 0;var Ls=new WeakSet,Vs=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ms(t),function(e,t){if(t&&("object"==xs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Js()?Reflect.construct(t,n||[],Ms(e).constructor):t.apply(e,n))}(this,t),Ls),e.$objectType="dataprotection.v4.config.ClusterInfoApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Us(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ds(Ds(Ds({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Gs(Ls,this,Ws).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Gs(Ls,this,Ws).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:xs(e.data)){case"dataprotection.v4.common.ClusterInfo":r.setData(Rs.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Ds({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&_s(n.prototype,r),o&&_s(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ws(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Is(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Is(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===xs(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}Vs.prototype.metadata=void 0,Vs.prototype.data=void 0,Vs.prototype.$reserved=void 0,Vs.prototype.$objectType=void 0,Vs.prototype.$unknownFields=void 0;var Bs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",COMPLETE:"COMPLETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Bs).find((function(t){return Bs[t]===e}));return null==t?Bs.$UNKNOWN:Bs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bs.$UNKNOWN:case Bs.$REDACTED:case Bs.COMPLETE:return;default:throw new Error("Invalid : must be RecoveryPointStatus.{ $UNKNOWN|$REDACTED|COMPLETE }")}}};Object.freeze(Bs);const zs=Bs;var qs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CRASH_CONSISTENT:"CRASH_CONSISTENT",APPLICATION_CONSISTENT:"APPLICATION_CONSISTENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(qs).find((function(t){return qs[t]===e}));return null==t?qs.$UNKNOWN:qs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qs.$UNKNOWN:case qs.$REDACTED:case qs.CRASH_CONSISTENT:case qs.APPLICATION_CONSISTENT:return;default:throw new Error("Invalid : must be RecoveryPointType.{ $UNKNOWN|$REDACTED|CRASH_CONSISTENT|APPLICATION_CONSISTENT }")}}};Object.freeze(qs);const Ks=qs;function Hs(e){return Hs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hs(e)}function Zs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zs(Object(n),!0).forEach((function(t){Ys(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ys(e,t,n){return(t=eu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,eu(r.key),r)}}function eu(e){var t=function(e){if("object"!=Hs(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Hs(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Hs(t)?t:t+""}function tu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(tu=function(){return!!e})()}function nu(e){return nu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},nu(e)}function ru(e,t){return ru=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ru(e,t)}function ou(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var iu=new WeakSet,au=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=nu(t),function(e,t){if(t&&("object"==Hs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,tu()?Reflect.construct(t,n||[],nu(e).constructor):t.apply(e,n))}(this,t),iu),e.$objectType="dataprotection.v4.common.BaseRecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ru(e,t)}(t,e),n=t,r=[{key:"getLocationAgnosticId",value:function(){return this.locationAgnosticId}},{key:"setLocationAgnosticId",value:function(e){this.locationAgnosticId=e}},{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getCreationTime",value:function(){return this.creationTime}},{key:"setCreationTime",value:function(e){this.creationTime=e}},{key:"getExpirationTime",value:function(){return this.expirationTime}},{key:"setExpirationTime",value:function(e){this.expirationTime=e}},{key:"getStatus",value:function(){return this.status}},{key:"setStatus",value:function(e){this.status=e}},{key:"getRecoveryPointType",value:function(){return this.recoveryPointType}},{key:"setRecoveryPointType",value:function(e){this.recoveryPointType=e}},{key:"toJson",value:function(e){return Xs(!1===e?Xs(Xs(Xs(Xs(Xs(Xs(Xs(Xs(Xs({},void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:ou(iu,this,su).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ou(iu,this,su).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Xs(Xs(Xs(Xs({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ou(iu,this,su).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new C("locationAgnosticId","undefined or null");if(!I.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"creationTime"!==t||void 0!==this.creationTime&&null!==this.creationTime?"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"status"!==t||void 0!==this.status&&null!==this.status?"recoveryPointType"!==t||void 0!==this.recoveryPointType&&null!==this.recoveryPointType?new C(t,"no such property exists"):new C("recoveryPointType","undefined or null"):new C("status","undefined or null"):new C("expirationTime","undefined or null"):new C("creationTime","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Bt.constructFromObject(e,n,!0),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&n.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&n.setName(e.name),e.hasOwnProperty("creationTime")&&null!==e.creationTime&&void 0!==e.creationTime&&n.setCreationTime(e.creationTime),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&n.setExpirationTime(e.expirationTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&n.setStatus(zs.constructFromObject(e.status)),e.hasOwnProperty("recoveryPointType")&&null!==e.recoveryPointType&&void 0!==e.recoveryPointType&&n.setRecoveryPointType(Ks.constructFromObject(e.recoveryPointType)),!r))for(var o in n.$unknownFields=Xs({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Qs(n.prototype,r),o&&Qs(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function su(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function uu(e){return uu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},uu(e)}function cu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cu(Object(n),!0).forEach((function(t){fu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fu(e,t,n){return(t=du(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,du(r.key),r)}}function du(e){var t=function(e){if("object"!=uu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=uu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==uu(t)?t:t+""}au.prototype.locationAgnosticId=void 0,au.prototype.name=void 0,au.prototype.creationTime=void 0,au.prototype.expirationTime=void 0,au.prototype.status=void 0,au.prototype.recoveryPointType=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var yu=new WeakSet,vu=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,yu),this.$objectType="dataprotection.v4.config.LocationReference",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getLocationExtId",value:function(){return this.locationExtId}},{key:"setLocationExtId",value:function(e){this.locationExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return lu(lu({},void 0!==this.getLocationExtId()&&null!==this.getLocationExtId()?{locationExtId:this.getLocationExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("locationExtId"===t){if(void 0===this.locationExtId||null===this.locationExtId)return new C("locationExtId","undefined or null");if(!I.validatePattern(this.locationExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("locationExtId")&&null!==t.locationExtId&&void 0!==t.locationExtId&&n.setLocationExtId(t.locationExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=lu({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&pu(t.prototype,n),r&&pu(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function hu(e){return hu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hu(e)}function bu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bu(Object(n),!0).forEach((function(t){gu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gu(e,t,n){return(t=Ou(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ou(r.key),r)}}function Ou(e){var t=function(e){if("object"!=hu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hu(t)?t:t+""}vu.prototype.locationExtId=void 0,vu.prototype.$reserved=void 0,vu.prototype.$objectType=void 0,vu.prototype.$unknownFields=void 0;var ju=new WeakSet,ku=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ju),this.$objectType="dataprotection.v4.common.DiskRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getDiskRecoveryPointExtId",value:function(){return this.diskRecoveryPointExtId}},{key:"setDiskRecoveryPointExtId",value:function(e){this.diskRecoveryPointExtId=e}},{key:"getDiskExtId",value:function(){return this.diskExtId}},{key:"setDiskExtId",value:function(e){this.diskExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return!1===e?mu(mu(mu({},void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),void 0!==this.getDiskExtId()&&null!==this.getDiskExtId()?{diskExtId:this.getDiskExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new C("diskRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskExtId"===t){if(void 0===this.diskExtId||null===this.diskExtId)return new C("diskExtId","undefined or null");if(!I.validatePattern(this.diskExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("diskRecoveryPointExtId")&&null!==t.diskRecoveryPointExtId&&void 0!==t.diskRecoveryPointExtId&&n.setDiskRecoveryPointExtId(t.diskRecoveryPointExtId),t.hasOwnProperty("diskExtId")&&null!==t.diskExtId&&void 0!==t.diskExtId&&n.setDiskExtId(t.diskExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=mu({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&wu(t.prototype,n),r&&wu(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();ku.prototype.diskRecoveryPointExtId=void 0,ku.prototype.diskExtId=void 0,ku.prototype.$reserved=void 0,ku.prototype.$objectType=void 0,ku.prototype.$unknownFields=void 0;var $u={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_BACKUP:"FULL_BACKUP",COPY_BACKUP:"COPY_BACKUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys($u).find((function(t){return $u[t]===e}));return null==t?$u.$UNKNOWN:$u[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $u.$UNKNOWN:case $u.$REDACTED:case $u.FULL_BACKUP:case $u.COPY_BACKUP:return;default:throw new Error("Invalid : must be BackupType.{ $UNKNOWN|$REDACTED|FULL_BACKUP|COPY_BACKUP }")}}};Object.freeze($u);const Pu=$u;function Tu(e){return Tu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tu(e)}function Eu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Eu(Object(n),!0).forEach((function(t){Su(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Eu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Su(e,t,n){return(t=Iu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ru(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Iu(r.key),r)}}function Iu(e){var t=function(e){if("object"!=Tu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Tu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tu(t)?t:t+""}var xu=new WeakSet,Au=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,xu),this.backupType=t,this.$objectType="dataprotection.v4.common.VssProperties",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getBackupType",value:function(){return this.backupType}},{key:"setBackupType",value:function(e){this.backupType=e}},{key:"getShouldIncludeWriters",value:function(){return this.shouldIncludeWriters}},{key:"setShouldIncludeWriters",value:function(e){this.shouldIncludeWriters=e}},{key:"getWriters",value:function(){return this.writers}},{key:"setWriters",value:function(e){this.writers=e}},{key:"getShouldStoreVssMetadata",value:function(){return this.shouldStoreVssMetadata}},{key:"setShouldStoreVssMetadata",value:function(e){this.shouldStoreVssMetadata=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Fu(Fu(Fu(Fu(Fu({},void 0!==this.getBackupType()&&null!==this.getBackupType()?{backupType:this.getBackupType()}:{}),void 0!==this.getShouldIncludeWriters()&&null!==this.getShouldIncludeWriters()?{shouldIncludeWriters:this.getShouldIncludeWriters()}:{}),void 0!==this.getWriters()&&null!==this.getWriters()?{writers:this.getWriters()}:{}),void 0!==this.getShouldStoreVssMetadata()&&null!==this.getShouldStoreVssMetadata()?{shouldStoreVssMetadata:this.getShouldStoreVssMetadata()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["backupType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("backupType"===t&&(void 0===this.backupType||null===this.backupType))return new C("backupType","undefined or null");if("shouldIncludeWriters"===t&&(void 0===this.shouldIncludeWriters||null===this.shouldIncludeWriters))return new C("shouldIncludeWriters","undefined or null");if("writers"===t){if(void 0===this.writers||null===this.writers)return new C("writers","undefined or null");if(!I.validateMaxItems(this.writers,25))return new C("writers","does not satisfy required maxItems constraint: 25");if(!I.validateMinItems(this.writers,1))return new C("writers","does not satisfy required minItems constraint: 1")}return"shouldStoreVssMetadata"!==t||void 0!==this.shouldStoreVssMetadata&&null!==this.shouldStoreVssMetadata?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("shouldStoreVssMetadata","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(i=i||new e,t.hasOwnProperty("backupType")&&null!==t.backupType&&void 0!==t.backupType&&i.setBackupType(Pu.constructFromObject(t.backupType)),t.hasOwnProperty("shouldIncludeWriters")&&null!==t.shouldIncludeWriters&&void 0!==t.shouldIncludeWriters&&i.setShouldIncludeWriters(t.shouldIncludeWriters),t.hasOwnProperty("writers")&&null!==t.writers&&void 0!==t.writers){for(o=[],n=t.writers,r=0;r<n.length;r++)o.push(n[r]);i.setWriters(o)}if(t.hasOwnProperty("shouldStoreVssMetadata")&&null!==t.shouldStoreVssMetadata&&void 0!==t.shouldStoreVssMetadata&&i.setShouldStoreVssMetadata(t.shouldStoreVssMetadata),t.hasOwnProperty("$reserved")&&(i.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(i.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(i.$unknownFields=t.$unknownFields),!a)for(var s in i.$unknownFields=Fu({},t.$unknownFields),t)Object.keys(i).includes(s)||Object.keys(i).includes(this.snakeToCamel(s))||"$"===s[0]&&s.endsWith("ItemDiscriminator")||(i.$unknownFields[s]=t[s])}return i}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Ru(t.prototype,n),r&&Ru(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Du(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Cu(e){return Cu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cu(e)}function _u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_u(Object(n),!0).forEach((function(t){Ju(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ju(e,t,n){return(t=Uu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Uu(r.key),r)}}function Uu(e){var t=function(e){if("object"!=Cu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Cu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Cu(t)?t:t+""}function Gu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Gu=function(){return!!e})()}function Lu(e){return Lu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lu(e)}function Vu(e,t){return Vu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vu(e,t)}function Wu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Au.prototype.backupType=void 0,Au.prototype.shouldIncludeWriters=!1,Au.prototype.writers=void 0,Au.prototype.shouldStoreVssMetadata=!1,Au.prototype.$reserved=void 0,Au.prototype.$objectType=void 0,Au.prototype.$unknownFields=void 0;var Bu=new WeakSet,zu=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Lu(t),function(e,t){if(t&&("object"==Cu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Gu()?Reflect.construct(t,n||[],Lu(e).constructor):t.apply(e,n))}(this,t),Bu),e.$objectType="dataprotection.v4.common.BaseVmRecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vu(e,t)}(t,e),n=t,r=[{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getDiskRecoveryPoints",value:function(){return this.diskRecoveryPoints}},{key:"setDiskRecoveryPoints",value:function(e){this.diskRecoveryPoints=e}},{key:"getVmExtId",value:function(){return this.vmExtId}},{key:"setVmExtId",value:function(e){this.vmExtId=e}},{key:"getVmCategories",value:function(){return this.vmCategories}},{key:"setVmCategories",value:function(e){this.vmCategories=e}},{key:"getApplicationConsistentProperties",value:function(){return this.applicationConsistentProperties}},{key:"setApplicationConsistentProperties",value:function(e){this.applicationConsistentProperties=e}},{key:"toJson",value:function(e){return Nu(!1===e?Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu({},void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Wu(Bu,this,qu).call(this,this.getApplicationConsistentProperties(),!1)}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Wu(Bu,this,Ku).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Wu(Bu,this,Ku).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Nu(Nu(Nu(Nu(Nu(Nu({},void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map((function(e){return void 0!==e.toJson?e.toJson():e})):Wu(Bu,this,qu).call(this,this.getApplicationConsistentProperties())}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Wu(Bu,this,Ku).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!I.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new C("diskRecoveryPoints","undefined or null");if(!I.validateMaxItems(this.diskRecoveryPoints,1024))return new C("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!I.validateMinItems(this.diskRecoveryPoints,1))return new C("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new C("vmExtId","undefined or null");if(!I.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmCategories"===t){if(void 0===this.vmCategories||null===this.vmCategories)return new C("vmCategories","undefined or null");if(!I.validateMaxItems(this.vmCategories,256))return new C("vmCategories","does not satisfy required maxItems constraint: 256");if(!I.validateMinItems(this.vmCategories,1))return new C("vmCategories","does not satisfy required minItems constraint: 1")}return"applicationConsistentProperties"!==t||void 0!==this.applicationConsistentProperties&&null!==this.applicationConsistentProperties?new C(t,"no such property exists"):new C("applicationConsistentProperties","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,au.constructFromObject(e,s,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&s.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(i=[],n=e.diskRecoveryPoints,o=0;o<n.length;o++)r=ku.constructFromObject(n[o],void 0),i.push(r);s.setDiskRecoveryPoints(i)}if(e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&s.setVmExtId(e.vmExtId),e.hasOwnProperty("vmCategories")&&null!==e.vmCategories&&void 0!==e.vmCategories){for(i=[],n=e.vmCategories,o=0;o<n.length;o++)i.push(n[o]);s.setVmCategories(i)}if(e.hasOwnProperty("applicationConsistentProperties")&&null!==e.applicationConsistentProperties&&void 0!==e.applicationConsistentProperties){if("dataprotection.v4.common.VssProperties"!==(a=e.applicationConsistentProperties.hasOwnProperty("$objectType")?e.applicationConsistentProperties.$objectType:Cu(e.applicationConsistentProperties)))throw"Unknown datatype "+a+" in data";s.setApplicationConsistentProperties(Au.constructFromObject(e.applicationConsistentProperties,void 0))}if(!u)for(var c in s.$unknownFields=Nu({},e.$unknownFields),e)Object.keys(s).includes(c)||Object.keys(s).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(s.$unknownFields[c]=e[c])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Mu(n.prototype,r),o&&Mu(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(au);function qu(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Du(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Du(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Cu(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Ku(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Hu(e){return Hu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hu(e)}function Zu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xu(e,t,n){return(t=Qu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qu(r.key),r)}}function Qu(e){var t=function(e){if("object"!=Hu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Hu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Hu(t)?t:t+""}function ec(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ec=function(){return!!e})()}function tc(e){return tc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tc(e)}function nc(e,t){return nc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},nc(e,t)}zu.prototype.consistencyGroupExtId=void 0,zu.prototype.diskRecoveryPoints=void 0,zu.prototype.vmExtId=void 0,zu.prototype.vmCategories=void 0,zu.prototype.applicationConsistentProperties=void 0,au.prototype.locationAgnosticId=void 0,au.prototype.name=void 0,au.prototype.creationTime=void 0,au.prototype.expirationTime=void 0,au.prototype.status=void 0,au.prototype.recoveryPointType=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var rc=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=tc(t),function(e,t){if(t&&("object"==Hu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ec()?Reflect.construct(t,n||[],tc(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.VmRecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nc(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,zu.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zu(Object(n),!0).forEach((function(t){Xu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Yu(n.prototype,r),o&&Yu(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(zu);function oc(e){return oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oc(e)}function ic(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ac(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ic(Object(n),!0).forEach((function(t){sc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ic(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sc(e,t,n){return(t=cc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,cc(r.key),r)}}function cc(e){var t=function(e){if("object"!=oc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=oc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==oc(t)?t:t+""}function lc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(lc=function(){return!!e})()}function fc(e){return fc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},fc(e)}function pc(e,t){return pc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pc(e,t)}var dc=new WeakSet,yc=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(n=function(e,t,n){return t=fc(t),function(e,t){if(t&&("object"==oc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,lc()?Reflect.construct(t,n||[],fc(e).constructor):t.apply(e,n))}(this,t),dc),n.volumeGroupExtId=e,n.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPoint",n.$reserved={$fv:"v4.r0"},n.$unknownFields={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&pc(e,t)}(t,e),n=t,r=[{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getLocationAgnosticId",value:function(){return this.locationAgnosticId}},{key:"setLocationAgnosticId",value:function(e){this.locationAgnosticId=e}},{key:"getVolumeGroupExtId",value:function(){return this.volumeGroupExtId}},{key:"setVolumeGroupExtId",value:function(e){this.volumeGroupExtId=e}},{key:"getVolumeGroupCategories",value:function(){return this.volumeGroupCategories}},{key:"setVolumeGroupCategories",value:function(e){this.volumeGroupCategories=e}},{key:"getDiskRecoveryPoints",value:function(){return this.diskRecoveryPoints}},{key:"setDiskRecoveryPoints",value:function(e){this.diskRecoveryPoints=e}},{key:"toJson",value:function(e){return ac(!1===e?ac(ac(ac(ac(ac(ac(ac(ac({},void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{}),void 0!==this.getVolumeGroupCategories()&&null!==this.getVolumeGroupCategories()?{volumeGroupCategories:this.getVolumeGroupCategories()}:{}),void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):ac({},void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["volumeGroupExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!I.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new C("locationAgnosticId","undefined or null");if(!I.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new C("volumeGroupExtId","undefined or null");if(!I.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupCategories"===t){if(void 0===this.volumeGroupCategories||null===this.volumeGroupCategories)return new C("volumeGroupCategories","undefined or null");if(!I.validateMaxItems(this.volumeGroupCategories,20))return new C("volumeGroupCategories","does not satisfy required maxItems constraint: 20");if(!I.validateMinItems(this.volumeGroupCategories,1))return new C("volumeGroupCategories","does not satisfy required minItems constraint: 1")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new C("diskRecoveryPoints","undefined or null");if(!I.validateMaxItems(this.diskRecoveryPoints,1024))return new C("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!I.validateMinItems(this.diskRecoveryPoints,1))return new C("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,Bt.constructFromObject(e,a,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&a.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&a.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&a.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupCategories")&&null!==e.volumeGroupCategories&&void 0!==e.volumeGroupCategories){for(i=[],n=e.volumeGroupCategories,o=0;o<n.length;o++)i.push(n[o]);a.setVolumeGroupCategories(i)}if(e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(i=[],n=e.diskRecoveryPoints,o=0;o<n.length;o++)r=ku.constructFromObject(n[o],void 0),i.push(r);a.setDiskRecoveryPoints(i)}if(!s)for(var u in a.$unknownFields=ac({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&uc(n.prototype,r),o&&uc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function vc(e){return vc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vc(e)}function hc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hc(Object(n),!0).forEach((function(t){mc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mc(e,t,n){return(t=wc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wc(r.key),r)}}function wc(e){var t=function(e){if("object"!=vc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vc(t)?t:t+""}function Oc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Oc=function(){return!!e})()}function jc(e){return jc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},jc(e)}function kc(e,t){return kc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},kc(e,t)}function $c(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}yc.prototype.consistencyGroupExtId=void 0,yc.prototype.locationAgnosticId=void 0,yc.prototype.volumeGroupExtId=void 0,yc.prototype.volumeGroupCategories=void 0,yc.prototype.diskRecoveryPoints=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var Pc=new WeakSet,Tc=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=jc(t),function(e,t){if(t&&("object"==vc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Oc()?Reflect.construct(t,n||[],jc(e).constructor):t.apply(e,n))}(this,t),Pc),e.$objectType="dataprotection.v4.config.RecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&kc(e,t)}(t,e),n=t,r=[{key:"getOwnerExtId",value:function(){return this.ownerExtId}},{key:"setOwnerExtId",value:function(e){this.ownerExtId=e}},{key:"getLocationReferences",value:function(){return this.locationReferences}},{key:"setLocationReferences",value:function(e){this.locationReferences=e}},{key:"getVmRecoveryPoints",value:function(){return this.vmRecoveryPoints}},{key:"setVmRecoveryPoints",value:function(e){this.vmRecoveryPoints=e}},{key:"getVolumeGroupRecoveryPoints",value:function(){return this.volumeGroupRecoveryPoints}},{key:"setVolumeGroupRecoveryPoints",value:function(e){this.volumeGroupRecoveryPoints=e}},{key:"toJson",value:function(e){return bc(!1===e?bc(bc(bc(bc(bc(bc(bc(bc(bc(bc(bc(bc(bc({},void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{}),void 0!==this.getLocationReferences()&&null!==this.getLocationReferences()?{locationReferences:this.getLocationReferences().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:$c(Pc,this,Ec).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:$c(Pc,this,Ec).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):bc(bc(bc(bc(bc(bc({},void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:$c(Pc,this,Ec).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new C("ownerExtId","undefined or null");if(!I.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationReferences"===t){if(void 0===this.locationReferences||null===this.locationReferences)return new C("locationReferences","undefined or null");if(!I.validateMaxItems(this.locationReferences,1))return new C("locationReferences","does not satisfy required maxItems constraint: 1");if(!I.validateMinItems(this.locationReferences,1))return new C("locationReferences","does not satisfy required minItems constraint: 1")}if("vmRecoveryPoints"===t){if(void 0===this.vmRecoveryPoints||null===this.vmRecoveryPoints)return new C("vmRecoveryPoints","undefined or null");if(!I.validateMaxItems(this.vmRecoveryPoints,30))return new C("vmRecoveryPoints","does not satisfy required maxItems constraint: 30");if(!I.validateMinItems(this.vmRecoveryPoints,1))return new C("vmRecoveryPoints","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPoints"===t){if(void 0===this.volumeGroupRecoveryPoints||null===this.volumeGroupRecoveryPoints)return new C("volumeGroupRecoveryPoints","undefined or null");if(!I.validateMaxItems(this.volumeGroupRecoveryPoints,30))return new C("volumeGroupRecoveryPoints","does not satisfy required maxItems constraint: 30");if(!I.validateMinItems(this.volumeGroupRecoveryPoints,1))return new C("volumeGroupRecoveryPoints","does not satisfy required minItems constraint: 1")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,au.constructFromObject(e,a,!0),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&a.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("locationReferences")&&null!==e.locationReferences&&void 0!==e.locationReferences){for(i=[],n=e.locationReferences,o=0;o<n.length;o++)r=vu.constructFromObject(n[o],void 0),i.push(r);a.setLocationReferences(i)}if(e.hasOwnProperty("vmRecoveryPoints")&&null!==e.vmRecoveryPoints&&void 0!==e.vmRecoveryPoints){for(i=[],n=e.vmRecoveryPoints,o=0;o<n.length;o++)r=rc.constructFromObject(n[o],void 0),i.push(r);a.setVmRecoveryPoints(i)}if(e.hasOwnProperty("volumeGroupRecoveryPoints")&&null!==e.volumeGroupRecoveryPoints&&void 0!==e.volumeGroupRecoveryPoints){for(i=[],n=e.volumeGroupRecoveryPoints,o=0;o<n.length;o++)r=yc.constructFromObject(n[o],void 0),i.push(r);a.setVolumeGroupRecoveryPoints(i)}if(!s)for(var u in a.$unknownFields=bc({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&gc(n.prototype,r),o&&gc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(au);function Ec(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Fc(e){return Fc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fc(e)}function Sc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rc(e,t,n){return(t=xc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ic(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xc(r.key),r)}}function xc(e){var t=function(e){if("object"!=Fc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Fc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Fc(t)?t:t+""}function Ac(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ac=function(){return!!e})()}function Dc(e){return Dc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Dc(e)}function Cc(e,t){return Cc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Cc(e,t)}Tc.prototype.ownerExtId=void 0,Tc.prototype.locationReferences=void 0,Tc.prototype.vmRecoveryPoints=void 0,Tc.prototype.volumeGroupRecoveryPoints=void 0,au.prototype.locationAgnosticId=void 0,au.prototype.name=void 0,au.prototype.creationTime=void 0,au.prototype.expirationTime=void 0,au.prototype.status=void 0,au.prototype.recoveryPointType=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var _c=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=Dc(t),function(e,t){if(t&&("object"==Fc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ac()?Reflect.construct(t,n||[],Dc(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.RecoveryPointProjection",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cc(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Tc.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sc(Object(n),!0).forEach((function(t){Rc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ic(n.prototype,r),o&&Ic(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Tc);function Nc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Jc(e){return Jc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jc(e)}function Mc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Uc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mc(Object(n),!0).forEach((function(t){Gc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gc(e,t,n){return(t=Vc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Vc(r.key),r)}}function Vc(e){var t=function(e){if("object"!=Jc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Jc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Jc(t)?t:t+""}function Wc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Wc=function(){return!!e})()}function Bc(e){return Bc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Bc(e)}function zc(e,t){return zc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},zc(e,t)}function qc(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Kc=new WeakSet,Hc=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Bc(t),function(e,t){if(t&&("object"==Jc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Wc()?Reflect.construct(t,n||[],Bc(e).constructor):t.apply(e,n))}(this,t),Kc),e.$objectType="dataprotection.v4.config.ListRecoveryPointsApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zc(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Uc(Uc(Uc({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):qc(Kc,this,Zc).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):qc(Kc,this,Zc).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,s),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&s.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)s.setData([]);else{for(i=[],a=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:Jc(n[0]),o=0;o<n.length;o++)switch(a){case"dataprotection.v4.config.RecoveryPoint":r=Tc.constructFromObject(n[o],void 0),i.push(r);break;case"dataprotection.v4.config.RecoveryPointProjection":r=_c.constructFromObject(n[o],void 0),i.push(r);break;default:throw"Unknown list of type "+a+" in data"}s.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Jc(e.data)))throw"Unknown datatype "+a+" in data";s.setData(_r.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(s.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(s.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(s.$unknownFields=e.$unknownFields),!u)for(var l in s.$unknownFields=Uc({},e.$unknownFields),e)Object.keys(s).includes(l)||Object.keys(s).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(s.$unknownFields[l]=e[l])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Lc(n.prototype,r),o&&Lc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Zc(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Nc(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nc(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Jc(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Xc(e){return Xc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xc(e)}function Yc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yc(Object(n),!0).forEach((function(t){el(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function el(e,t,n){return(t=nl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,nl(r.key),r)}}function nl(e){var t=function(e){if("object"!=Xc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Xc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xc(t)?t:t+""}Hc.prototype.metadata=void 0,Hc.prototype.data=void 0,Hc.prototype.$reserved=void 0,Hc.prototype.$objectType=void 0,Hc.prototype.$unknownFields=void 0;var rl=new WeakSet,ol=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,rl),this.$objectType="dataprotection.v4.config.VmRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Qc(Qc({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("vmRecoveryPointExtId")&&null!==t.vmRecoveryPointExtId&&void 0!==t.vmRecoveryPointExtId&&n.setVmRecoveryPointExtId(t.vmRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Qc({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&tl(t.prototype,n),r&&tl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function il(e){return il="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},il(e)}function al(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?al(Object(n),!0).forEach((function(t){ul(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):al(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ul(e,t,n){return(t=ll(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ll(r.key),r)}}function ll(e){var t=function(e){if("object"!=il(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=il(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==il(t)?t:t+""}ol.prototype.vmRecoveryPointExtId=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;var fl=new WeakSet,pl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,fl),this.$objectType="dataprotection.v4.config.VolumeGroupOverrideSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return sl(sl({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=sl({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&cl(t.prototype,n),r&&cl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function dl(e){return dl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dl(e)}function yl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yl(Object(n),!0).forEach((function(t){hl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hl(e,t,n){return(t=ml(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ml(r.key),r)}}function ml(e){var t=function(e){if("object"!=dl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=dl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dl(t)?t:t+""}pl.prototype.name=void 0,pl.prototype.$reserved=void 0,pl.prototype.$objectType=void 0,pl.prototype.$unknownFields=void 0;var gl=new WeakSet,wl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,gl),this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getVolumeGroupRecoveryPointExtId",value:function(){return this.volumeGroupRecoveryPointExtId}},{key:"setVolumeGroupRecoveryPointExtId",value:function(e){this.volumeGroupRecoveryPointExtId=e}},{key:"getVolumeGroupOverrideSpec",value:function(){return this.volumeGroupOverrideSpec}},{key:"setVolumeGroupOverrideSpec",value:function(e){this.volumeGroupOverrideSpec=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return vl(vl(vl({},void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getVolumeGroupOverrideSpec()&&null!==this.getVolumeGroupOverrideSpec()?{volumeGroupOverrideSpec:this.getVolumeGroupOverrideSpec().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new C("volumeGroupRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"volumeGroupOverrideSpec"!==t||void 0!==this.volumeGroupOverrideSpec&&null!==this.volumeGroupOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("volumeGroupOverrideSpec","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==t.volumeGroupRecoveryPointExtId&&void 0!==t.volumeGroupRecoveryPointExtId&&n.setVolumeGroupRecoveryPointExtId(t.volumeGroupRecoveryPointExtId),t.hasOwnProperty("volumeGroupOverrideSpec")&&null!==t.volumeGroupOverrideSpec&&void 0!==t.volumeGroupOverrideSpec&&n.setVolumeGroupOverrideSpec(pl.constructFromObject(t.volumeGroupOverrideSpec)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=vl({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&bl(t.prototype,n),r&&bl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ol(e){return Ol="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ol(e)}function jl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jl(Object(n),!0).forEach((function(t){$l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $l(e,t,n){return(t=Tl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Tl(r.key),r)}}function Tl(e){var t=function(e){if("object"!=Ol(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ol(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ol(t)?t:t+""}wl.prototype.volumeGroupRecoveryPointExtId=void 0,wl.prototype.volumeGroupOverrideSpec=void 0,wl.prototype.$reserved=void 0,wl.prototype.$objectType=void 0,wl.prototype.$unknownFields=void 0;var El=new WeakSet,Fl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,El),this.$objectType="dataprotection.v4.config.RecoveryPointRestorationSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getVmRecoveryPointRestoreOverrides",value:function(){return this.vmRecoveryPointRestoreOverrides}},{key:"setVmRecoveryPointRestoreOverrides",value:function(e){this.vmRecoveryPointRestoreOverrides=e}},{key:"getVolumeGroupRecoveryPointRestoreOverrides",value:function(){return this.volumeGroupRecoveryPointRestoreOverrides}},{key:"setVolumeGroupRecoveryPointRestoreOverrides",value:function(e){this.volumeGroupRecoveryPointRestoreOverrides=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return kl(kl(kl(kl({},void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getVmRecoveryPointRestoreOverrides()&&null!==this.getVmRecoveryPointRestoreOverrides()?{vmRecoveryPointRestoreOverrides:this.getVmRecoveryPointRestoreOverrides().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getVolumeGroupRecoveryPointRestoreOverrides()&&null!==this.getVolumeGroupRecoveryPointRestoreOverrides()?{volumeGroupRecoveryPointRestoreOverrides:this.getVolumeGroupRecoveryPointRestoreOverrides().map((function(e){return e.toJson(!1)}))}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!I.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmRecoveryPointRestoreOverrides"===t){if(void 0===this.vmRecoveryPointRestoreOverrides||null===this.vmRecoveryPointRestoreOverrides)return new C("vmRecoveryPointRestoreOverrides","undefined or null");if(!I.validateMaxItems(this.vmRecoveryPointRestoreOverrides,30))return new C("vmRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 30");if(!I.validateMinItems(this.vmRecoveryPointRestoreOverrides,1))return new C("vmRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPointRestoreOverrides"===t){if(void 0===this.volumeGroupRecoveryPointRestoreOverrides||null===this.volumeGroupRecoveryPointRestoreOverrides)return new C("volumeGroupRecoveryPointRestoreOverrides","undefined or null");if(!I.validateMaxItems(this.volumeGroupRecoveryPointRestoreOverrides,30))return new C("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 30");if(!I.validateMinItems(this.volumeGroupRecoveryPointRestoreOverrides,1))return new C("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&a.setClusterExtId(t.clusterExtId),t.hasOwnProperty("vmRecoveryPointRestoreOverrides")&&null!==t.vmRecoveryPointRestoreOverrides&&void 0!==t.vmRecoveryPointRestoreOverrides){for(i=[],n=t.vmRecoveryPointRestoreOverrides,o=0;o<n.length;o++)r=ol.constructFromObject(n[o],void 0),i.push(r);a.setVmRecoveryPointRestoreOverrides(i)}if(t.hasOwnProperty("volumeGroupRecoveryPointRestoreOverrides")&&null!==t.volumeGroupRecoveryPointRestoreOverrides&&void 0!==t.volumeGroupRecoveryPointRestoreOverrides){for(i=[],n=t.volumeGroupRecoveryPointRestoreOverrides,o=0;o<n.length;o++)r=wl.constructFromObject(n[o],void 0),i.push(r);a.setVolumeGroupRecoveryPointRestoreOverrides(i)}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!s)for(var u in a.$unknownFields=kl({},t.$unknownFields),t)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=t[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Pl(t.prototype,n),r&&Pl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Sl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Rl(e){return Rl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rl(e)}function Il(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Il(Object(n),!0).forEach((function(t){Al(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Il(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Al(e,t,n){return(t=Cl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Cl(r.key),r)}}function Cl(e){var t=function(e){if("object"!=Rl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Rl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Rl(t)?t:t+""}function _l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_l=function(){return!!e})()}function Nl(e){return Nl=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Nl(e)}function Jl(e,t){return Jl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Jl(e,t)}function Ml(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fl.prototype.clusterExtId=void 0,Fl.prototype.vmRecoveryPointRestoreOverrides=void 0,Fl.prototype.volumeGroupRecoveryPointRestoreOverrides=void 0,Fl.prototype.$reserved=void 0,Fl.prototype.$objectType=void 0,Fl.prototype.$unknownFields=void 0;var Ul=new WeakSet,Gl=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Nl(t),function(e,t){if(t&&("object"==Rl(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,_l()?Reflect.construct(t,n||[],Nl(e).constructor):t.apply(e,n))}(this,t),Ul),e.$objectType="dataprotection.v4.config.GetRecoveryPointApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Jl(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return xl(xl(xl({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Ml(Ul,this,Ll).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Ml(Ul,this,Ll).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Rl(e.data)){case"dataprotection.v4.config.RecoveryPoint":r.setData(Tc.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=xl({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Dl(n.prototype,r),o&&Dl(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ll(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Sl(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sl(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Rl(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}Gl.prototype.metadata=void 0,Gl.prototype.data=void 0,Gl.prototype.$reserved=void 0,Gl.prototype.$objectType=void 0,Gl.prototype.$unknownFields=void 0;var Vl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ZEROED:"ZEROED",REGULAR:"REGULAR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Vl).find((function(t){return Vl[t]===e}));return null==t?Vl.$UNKNOWN:Vl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vl.$UNKNOWN:case Vl.$REDACTED:case Vl.ZEROED:case Vl.REGULAR:return;default:throw new Error("Invalid : must be RegionType.{ $UNKNOWN|$REDACTED|ZEROED|REGULAR }")}}};Object.freeze(Vl);const Wl=Vl;function Bl(e){return Bl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bl(e)}function zl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ql(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zl(Object(n),!0).forEach((function(t){Kl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kl(e,t,n){return(t=Zl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Zl(r.key),r)}}function Zl(e){var t=function(e){if("object"!=Bl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Bl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Bl(t)?t:t+""}var Xl=new WeakSet,Yl=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Xl),this.offset=t,this.length=n,this.regionType=r,this.$objectType="dataprotection.v4.content.ChangedRegion",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getRegionType",value:function(){return this.regionType}},{key:"setRegionType",value:function(e){this.regionType=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ql(ql(ql(ql({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getRegionType()&&null!==this.getRegionType()?{regionType:this.getRegionType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["offset","length","regionType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"offset"!==t||void 0!==this.offset&&null!==this.offset?"length"!==t||void 0!==this.length&&null!==this.length?"regionType"!==t||void 0!==this.regionType&&null!==this.regionType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("regionType","undefined or null"):new C("length","undefined or null"):new C("offset","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("offset")&&null!==t.offset&&void 0!==t.offset&&n.setOffset(t.offset),t.hasOwnProperty("length")&&null!==t.length&&void 0!==t.length&&n.setLength(t.length),t.hasOwnProperty("regionType")&&null!==t.regionType&&void 0!==t.regionType&&n.setRegionType(Wl.constructFromObject(t.regionType)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ql({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Hl(t.prototype,n),r&&Hl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ql(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ef(e){return ef="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ef(e)}function tf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tf(Object(n),!0).forEach((function(t){rf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rf(e,t,n){return(t=af(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function of(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,af(r.key),r)}}function af(e){var t=function(e){if("object"!=ef(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ef(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ef(t)?t:t+""}function sf(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(sf=function(){return!!e})()}function uf(e){return uf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},uf(e)}function cf(e,t){return cf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},cf(e,t)}function lf(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yl.prototype.offset=void 0,Yl.prototype.length=void 0,Yl.prototype.regionType=void 0,Yl.prototype.$reserved=void 0,Yl.prototype.$objectType=void 0,Yl.prototype.$unknownFields=void 0;var ff=new WeakSet,pf=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=uf(t),function(e,t){if(t&&("object"==ef(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,sf()?Reflect.construct(t,n||[],uf(e).constructor):t.apply(e,n))}(this,t),ff),e.$objectType="dataprotection.v4.content.ChangedVmRegionsApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&cf(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return nf(nf(nf({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):lf(ff,this,df).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):lf(ff,this,df).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,s),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&s.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)s.setData([]);else{for(i=[],a=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:ef(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.content.ChangedRegion"!==a)throw"Unknown list of type "+a+" in data";r=Yl.constructFromObject(n[o],void 0),i.push(r)}s.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:ef(e.data)))throw"Unknown datatype "+a+" in data";s.setData(_r.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(s.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(s.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(s.$unknownFields=e.$unknownFields),!u)for(var l in s.$unknownFields=nf({},e.$unknownFields),e)Object.keys(s).includes(l)||Object.keys(s).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(s.$unknownFields[l]=e[l])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&of(n.prototype,r),o&&of(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function df(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Ql(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ql(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===ef(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function yf(e){return yf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},yf(e)}function vf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vf(Object(n),!0).forEach((function(t){bf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function bf(e,t,n){return(t=gf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,gf(r.key),r)}}function gf(e){var t=function(e){if("object"!=yf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=yf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==yf(t)?t:t+""}function wf(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pf.prototype.metadata=void 0,pf.prototype.data=void 0,pf.prototype.$reserved=void 0,pf.prototype.$objectType=void 0,pf.prototype.$unknownFields=void 0;var Of=new WeakSet,jf=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Of),this.expirationTime=t,this.$objectType="dataprotection.v4.config.ExpirationTimeSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getExpirationTime",value:function(){return this.expirationTime}},{key:"setExpirationTime",value:function(e){this.expirationTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return hf(hf({},void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:wf(Of,this,kf).call(this,this.getExpirationTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["expirationTime"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("expirationTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("expirationTime")&&null!==t.expirationTime&&void 0!==t.expirationTime&&n.setExpirationTime(t.expirationTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=hf({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&mf(t.prototype,n),r&&mf(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function kf(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function $f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Pf(e){return Pf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pf(e)}function Tf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ef(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tf(Object(n),!0).forEach((function(t){Ff(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ff(e,t,n){return(t=Rf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rf(r.key),r)}}function Rf(e){var t=function(e){if("object"!=Pf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Pf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Pf(t)?t:t+""}function If(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(If=function(){return!!e})()}function xf(e){return xf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},xf(e)}function Af(e,t){return Af=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Af(e,t)}function Df(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}jf.prototype.expirationTime=void 0,jf.prototype.$reserved=void 0,jf.prototype.$objectType=void 0,jf.prototype.$unknownFields=void 0;var Cf=new WeakSet,_f=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=xf(t),function(e,t){if(t&&("object"==Pf(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,If()?Reflect.construct(t,n||[],xf(e).constructor):t.apply(e,n))}(this,t),Cf),e.$objectType="dataprotection.v4.config.CreateRecoveryPointApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Af(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ef(Ef(Ef({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Df(Cf,this,Nf).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Df(Cf,this,Nf).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Pf(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Ef({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Sf(n.prototype,r),o&&Sf(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Nf(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return $f(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$f(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Pf(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Jf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Mf(e){return Mf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mf(e)}function Uf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uf(Object(n),!0).forEach((function(t){Lf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lf(e,t,n){return(t=Wf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Wf(r.key),r)}}function Wf(e){var t=function(e){if("object"!=Mf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Mf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Mf(t)?t:t+""}function Bf(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Bf=function(){return!!e})()}function zf(e){return zf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zf(e)}function qf(e,t){return qf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},qf(e,t)}function Kf(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_f.prototype.metadata=void 0,_f.prototype.data=void 0,_f.prototype.$reserved=void 0,_f.prototype.$objectType=void 0,_f.prototype.$unknownFields=void 0;var Hf=new WeakSet,Zf=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=zf(t),function(e,t){if(t&&("object"==Mf(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Bf()?Reflect.construct(t,n||[],zf(e).constructor):t.apply(e,n))}(this,t),Hf),e.$objectType="dataprotection.v4.content.GetVssMetadataApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qf(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Gf(Gf(Gf({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Kf(Hf,this,Xf).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Kf(Hf,this,Xf).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Mf(e.data)){case"Map":r.setData(e.data);break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Gf({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Vf(n.prototype,r),o&&Vf(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Xf(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Jf(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jf(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Mf(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Yf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Qf(e){return Qf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qf(e)}function ep(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ep(Object(n),!0).forEach((function(t){np(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ep(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function np(e,t,n){return(t=op(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,op(r.key),r)}}function op(e){var t=function(e){if("object"!=Qf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Qf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qf(t)?t:t+""}function ip(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ip=function(){return!!e})()}function ap(e){return ap=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ap(e)}function sp(e,t){return sp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},sp(e,t)}function up(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zf.prototype.metadata=void 0,Zf.prototype.data=void 0,Zf.prototype.$reserved=void 0,Zf.prototype.$objectType=void 0,Zf.prototype.$unknownFields=void 0;var cp=new WeakSet,lp=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=ap(t),function(e,t){if(t&&("object"==Qf(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ip()?Reflect.construct(t,n||[],ap(e).constructor):t.apply(e,n))}(this,t),cp),e.$objectType="dataprotection.v4.config.RecoveryPointRestoreApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&sp(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return tp(tp(tp({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):up(cp,this,fp).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):up(cp,this,fp).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Qf(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=tp({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&rp(n.prototype,r),o&&rp(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function fp(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Yf(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yf(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Qf(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function pp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function dp(e){return dp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dp(e)}function yp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yp(Object(n),!0).forEach((function(t){hp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hp(e,t,n){return(t=mp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,mp(r.key),r)}}function mp(e){var t=function(e){if("object"!=dp(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=dp(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==dp(t)?t:t+""}function gp(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(gp=function(){return!!e})()}function wp(e){return wp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},wp(e)}function Op(e,t){return Op=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Op(e,t)}function jp(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lp.prototype.metadata=void 0,lp.prototype.data=void 0,lp.prototype.$reserved=void 0,lp.prototype.$objectType=void 0,lp.prototype.$unknownFields=void 0;var kp=new WeakSet,$p=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=wp(t),function(e,t){if(t&&("object"==dp(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,gp()?Reflect.construct(t,n||[],wp(e).constructor):t.apply(e,n))}(this,t),kp),e.$objectType="dataprotection.v4.config.DeleteRecoveryPointApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Op(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return vp(vp(vp({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):jp(kp,this,Pp).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):jp(kp,this,Pp).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:dp(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=vp({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&bp(n.prototype,r),o&&bp(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Pp(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return pp(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pp(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===dp(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Tp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ep(e){return Ep="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ep(e)}function Fp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fp(Object(n),!0).forEach((function(t){Rp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rp(e,t,n){return(t=xp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ip(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xp(r.key),r)}}function xp(e){var t=function(e){if("object"!=Ep(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ep(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ep(t)?t:t+""}function Ap(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ap=function(){return!!e})()}function Dp(e){return Dp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Dp(e)}function Cp(e,t){return Cp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Cp(e,t)}function _p(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}$p.prototype.metadata=void 0,$p.prototype.data=void 0,$p.prototype.$reserved=void 0,$p.prototype.$objectType=void 0,$p.prototype.$unknownFields=void 0;var Np=new WeakSet,Jp=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Dp(t),function(e,t){if(t&&("object"==Ep(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ap()?Reflect.construct(t,n||[],Dp(e).constructor):t.apply(e,n))}(this,t),Np),e.$objectType="dataprotection.v4.config.GetVmRecoveryPointApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cp(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Sp(Sp(Sp({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):_p(Np,this,Mp).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):_p(Np,this,Mp).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Ep(e.data)){case"dataprotection.v4.config.VmRecoveryPoint":r.setData(rc.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Sp({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ip(n.prototype,r),o&&Ip(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Mp(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Tp(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tp(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Ep(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Up(e){return Up="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Up(e)}function Gp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Lp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gp(Object(n),!0).forEach((function(t){Vp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vp(e,t,n){return(t=Bp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bp(r.key),r)}}function Bp(e){var t=function(e){if("object"!=Up(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Up(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Up(t)?t:t+""}function zp(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(zp=function(){return!!e})()}function qp(e){return qp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},qp(e)}function Kp(e,t){return Kp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Kp(e,t)}Jp.prototype.metadata=void 0,Jp.prototype.data=void 0,Jp.prototype.$reserved=void 0,Jp.prototype.$objectType=void 0,Jp.prototype.$unknownFields=void 0;var Hp=new WeakSet,Zp=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=qp(t),function(e,t){if(t&&("object"==Up(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,zp()?Reflect.construct(t,n||[],qp(e).constructor):t.apply(e,n))}(this,t),Hp),e.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointClusterDiscoverSpec",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kp(e,t)}(t,e),n=t,r=[{key:"getReferenceVolumeGroupRecoveryPointExtId",value:function(){return this.referenceVolumeGroupRecoveryPointExtId}},{key:"setReferenceVolumeGroupRecoveryPointExtId",value:function(e){this.referenceVolumeGroupRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Lp(Lp(Lp(Lp({},void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("referenceVolumeGroupRecoveryPointExtId"===t){if(void 0===this.referenceVolumeGroupRecoveryPointExtId||null===this.referenceVolumeGroupRecoveryPointExtId)return new C("referenceVolumeGroupRecoveryPointExtId","undefined or null");if(!I.validatePattern(this.referenceVolumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceVolumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ra.constructFromObject(e,n,!0),e.hasOwnProperty("referenceVolumeGroupRecoveryPointExtId")&&null!==e.referenceVolumeGroupRecoveryPointExtId&&void 0!==e.referenceVolumeGroupRecoveryPointExtId&&n.setReferenceVolumeGroupRecoveryPointExtId(e.referenceVolumeGroupRecoveryPointExtId),!r))for(var o in n.$unknownFields=Lp({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Wp(n.prototype,r),o&&Wp(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ra);function Xp(e){return Xp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xp(e)}function Yp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yp(Object(n),!0).forEach((function(t){ed(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ed(e,t,n){return(t=nd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function td(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,nd(r.key),r)}}function nd(e){var t=function(e){if("object"!=Xp(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Xp(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xp(t)?t:t+""}function rd(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(rd=function(){return!!e})()}function od(e){return od=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},od(e)}function id(e,t){return id=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},id(e,t)}Zp.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Ra.prototype.referenceRecoveryPointExtId=void 0,Ra.prototype.referenceDiskRecoveryPointExtId=void 0;var ad=new WeakSet,sd=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=od(t),function(e,t){if(t&&("object"==Xp(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,rd()?Reflect.construct(t,n||[],od(e).constructor):t.apply(e,n))}(this,t),ad),e.$objectType="dataprotection.v4.content.VolumeGroupRecoveryPointChangedRegionsComputeSpec",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&id(e,t)}(t,e),n=t,r=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getBlockSizeByte",value:function(){return this.blockSizeByte}},{key:"setBlockSizeByte",value:function(e){this.blockSizeByte=e}},{key:"toJson",value:function(e){return Qp(Qp(Qp(Qp(Qp(Qp(Qp({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{}),void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new C("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new C("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new C("blockSizeByte","undefined or null");if(!I.validateMaximum(this.blockSizeByte,262144))return new C("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!I.validateMinimum(this.blockSizeByte,32768))return new C("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Zp.constructFromObject(e,n,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&n.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&n.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&n.setBlockSizeByte(e.blockSizeByte),!r))for(var o in n.$unknownFields=Qp({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&td(n.prototype,r),o&&td(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Zp);function ud(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function cd(e){return cd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cd(e)}function ld(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ld(Object(n),!0).forEach((function(t){pd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ld(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pd(e,t,n){return(t=yd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,yd(r.key),r)}}function yd(e){var t=function(e){if("object"!=cd(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=cd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==cd(t)?t:t+""}function vd(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(vd=function(){return!!e})()}function hd(e){return hd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},hd(e)}function bd(e,t){return bd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},bd(e,t)}function md(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sd.prototype.offset=void 0,sd.prototype.length=void 0,sd.prototype.blockSizeByte=void 0,Zp.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Ra.prototype.referenceRecoveryPointExtId=void 0,Ra.prototype.referenceDiskRecoveryPointExtId=void 0;var gd=new WeakSet,wd=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=hd(t),function(e,t){if(t&&("object"==cd(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,vd()?Reflect.construct(t,n||[],hd(e).constructor):t.apply(e,n))}(this,t),gd),e.$objectType="dataprotection.v4.content.ChangedVolumeGroupRegionsApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&bd(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return fd(fd(fd({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):md(gd,this,Od).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):md(gd,this,Od).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,s),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&s.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)s.setData([]);else{for(i=[],a=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:cd(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.content.ChangedRegion"!==a)throw"Unknown list of type "+a+" in data";r=Yl.constructFromObject(n[o],void 0),i.push(r)}s.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:cd(e.data)))throw"Unknown datatype "+a+" in data";s.setData(_r.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(s.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(s.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(s.$unknownFields=e.$unknownFields),!u)for(var l in s.$unknownFields=fd({},e.$unknownFields),e)Object.keys(s).includes(l)||Object.keys(s).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(s.$unknownFields[l]=e[l])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&dd(n.prototype,r),o&&dd(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Od(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return ud(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ud(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===cd(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function jd(e){return jd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jd(e)}function kd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kd(Object(n),!0).forEach((function(t){Pd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Pd(e,t,n){return(t=Ed(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Td(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ed(r.key),r)}}function Ed(e){var t=function(e){if("object"!=jd(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=jd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==jd(t)?t:t+""}wd.prototype.metadata=void 0,wd.prototype.data=void 0,wd.prototype.$reserved=void 0,wd.prototype.$objectType=void 0,wd.prototype.$unknownFields=void 0;var Fd=new WeakSet,Sd=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fd),this.$objectType="dataprotection.v4.config.RecoveryPointReplicationSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getPcExtId",value:function(){return this.pcExtId}},{key:"setPcExtId",value:function(e){this.pcExtId=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $d($d($d({},void 0!==this.getPcExtId()&&null!==this.getPcExtId()?{pcExtId:this.getPcExtId()}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("pcExtId"===t){if(void 0===this.pcExtId||null===this.pcExtId)return new C("pcExtId","undefined or null");if(!I.validatePattern(this.pcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("pcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!I.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("pcExtId")&&null!==t.pcExtId&&void 0!==t.pcExtId&&n.setPcExtId(t.pcExtId),t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=$d({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Td(t.prototype,n),r&&Td(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Rd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Id(e){return Id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Id(e)}function xd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ad(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xd(Object(n),!0).forEach((function(t){Dd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Dd(e,t,n){return(t=_d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_d(r.key),r)}}function _d(e){var t=function(e){if("object"!=Id(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Id(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Id(t)?t:t+""}function Nd(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Nd=function(){return!!e})()}function Jd(e){return Jd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Jd(e)}function Md(e,t){return Md=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Md(e,t)}function Ud(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Sd.prototype.pcExtId=void 0,Sd.prototype.clusterExtId=void 0,Sd.prototype.$reserved=void 0,Sd.prototype.$objectType=void 0,Sd.prototype.$unknownFields=void 0;var Gd=new WeakSet,Ld=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Jd(t),function(e,t){if(t&&("object"==Id(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Nd()?Reflect.construct(t,n||[],Jd(e).constructor):t.apply(e,n))}(this,t),Gd),e.$objectType="dataprotection.v4.config.UpdateRecoveryPointExpirationTimeApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Md(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ad(Ad(Ad({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Ud(Gd,this,Vd).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Ud(Gd,this,Vd).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Id(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Ad({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Cd(n.prototype,r),o&&Cd(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Vd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Rd(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Rd(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Id(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Wd(e){return Wd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wd(e)}function Bd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bd(Object(n),!0).forEach((function(t){qd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qd(e,t,n){return(t=Hd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Hd(r.key),r)}}function Hd(e){var t=function(e){if("object"!=Wd(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Wd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Wd(t)?t:t+""}function Zd(e,t){return e.get(Xd(e,t))}function Xd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ld.prototype.metadata=void 0,Ld.prototype.data=void 0,Ld.prototype.$reserved=void 0,Ld.prototype.$objectType=void 0,Ld.prototype.$unknownFields=void 0;var Yd=new WeakMap,Qd=function(){return e=function e(t){var n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}(this,Yd,void 0),this.apiClient=t||ct.instance,n=Yd,r=new Set,n.set(Xd(n,this),r),Zd(Yd,this).add("authorization"),Zd(Yd,this).add("cookie"),Zd(Yd,this).add("host"),Zd(Yd,this).add("user-agent")},t=[{key:"createRecoveryPoint",value:function(e){var t,n=this,r=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==(t=e instanceof Tc&&"function"==typeof e.toJson?e.toJson():e))throw new Error("Invalid body when calling createRecoveryPoint");var o={};Object.keys(r).forEach((function(e){Zd(Yd,n).has(e.toLowerCase())||(o[e]=r[e])}));var i=zd({},o);ct.addEtagReferenceToHeader(e,i);var a=_f;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points","POST",{},{},i,{},t,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],a)}},{key:"deleteRecoveryPointById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPointById");var r={extId:e},o={};Object.keys(n).forEach((function(e){Zd(Yd,t).has(e.toLowerCase())||(o[e]=n[e])}));var i=zd({},o),a=$p;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}","DELETE",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"discoverClusterForRecoveryPointId",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Oa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling discoverClusterForRecoveryPointId");if(null==n)throw new Error("Invalid body when calling discoverClusterForRecoveryPointId");var i={extId:e},a={};Object.keys(o).forEach((function(e){Zd(Yd,r).has(e.toLowerCase())||(a[e]=o[e])}));var s=zd({},a);ct.addEtagReferenceToHeader(t,s);var u=Vs;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}/$actions/discover-cluster","POST",i,{},s,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"getRecoveryPointById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPointById");var r={extId:e},o={};Object.keys(n).forEach((function(e){Zd(Yd,t).has(e.toLowerCase())||(o[e]=n[e])}));var i=zd({},o),a=Gl;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}","GET",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"getVmRecoveryPointById",value:function(e,t){var n=this,r=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVmRecoveryPointById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getVmRecoveryPointById");var o={recoveryPointExtId:e,extId:t},i={};Object.keys(r).forEach((function(e){Zd(Yd,n).has(e.toLowerCase())||(i[e]=r[e])}));var a=zd({},i),s=Jp;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{recoveryPointExtId}/vm-recovery-points/{extId}","GET",o,{},a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"getVssMetadataByVmRecoveryPointId",value:function(e,t){var n=this,r=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");var o={recoveryPointExtId:e,vmRecoveryPointExtId:t},i={};Object.keys(r).forEach((function(e){Zd(Yd,n).has(e.toLowerCase())||(i[e]=r[e])}));var a=zd({},i),s=Zf;return this.apiClient.callApi("/api/dataprotection/v4.0/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/vss-metadata","GET",o,{},a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/octet-stream","application/json"],s)}},{key:"listRecoveryPoints",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{},r=zd(zd(zd(zd(zd({},(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{}),e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}),e.hasOwnProperty("$filter")?{$filter:e.$filter}:{}),e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{}),e.hasOwnProperty("$select")?{$select:e.$select}:{}),o={};Object.keys(n).forEach((function(e){Zd(Yd,t).has(e.toLowerCase())||(o[e]=n[e])}));var i=zd({"X-Cluster-Id":e.xClusterId},o),a=Hc;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points","GET",{},r,i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"replicateRecoveryPoint",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Sd&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling replicateRecoveryPoint");if(null==n)throw new Error("Invalid body when calling replicateRecoveryPoint");var i={extId:e},a={};Object.keys(o).forEach((function(e){Zd(Yd,r).has(e.toLowerCase())||(a[e]=o[e])}));var s=zd({},a);ct.addEtagReferenceToHeader(t,s);var u=di;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}/$actions/replicate","POST",i,{},s,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"restoreRecoveryPoint",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Fl&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreRecoveryPoint");var i={extId:e},a={};Object.keys(o).forEach((function(e){Zd(Yd,r).has(e.toLowerCase())||(a[e]=o[e])}));var s=zd({},a);ct.addEtagReferenceToHeader(t,s);var u=lp;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}/$actions/restore","POST",i,{},s,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"setRecoveryPointExpirationTime",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof jf&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling setRecoveryPointExpirationTime");if(null==n)throw new Error("Invalid body when calling setRecoveryPointExpirationTime");var i={extId:e},a={};Object.keys(o).forEach((function(e){Zd(Yd,r).has(e.toLowerCase())||(a[e]=o[e])}));var s=zd({},a);ct.addEtagReferenceToHeader(t,s);var u=Ld;return this.apiClient.callApi("/api/dataprotection/v4.0/config/recovery-points/{extId}/$actions/set-expiration-time","POST",i,{},s,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"vmRecoveryPointComputeChangedRegions",value:function(e,t,n,r){var o,i=this,a=(arguments.length<=4?0:arguments.length-4)>0?arguments.length<=4?void 0:arguments[4]:{};if(o=r instanceof Ya&&"function"==typeof r.toJson?r.toJson():r,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling vmRecoveryPointComputeChangedRegions");if(null==o)throw new Error("Invalid body when calling vmRecoveryPointComputeChangedRegions");var s={recoveryPointExtId:e,vmRecoveryPointExtId:t,extId:n},u={};Object.keys(a).forEach((function(e){Zd(Yd,i).has(e.toLowerCase())||(u[e]=a[e])}));var c=zd({},u);ct.addEtagReferenceToHeader(r,c);var l=pf;return this.apiClient.callApi("/api/dataprotection/v4.0/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",s,{},c,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},{key:"volumeGroupRecoveryPointComputeChangedRegions",value:function(e,t,n,r){var o,i=this,a=(arguments.length<=4?0:arguments.length-4)>0?arguments.length<=4?void 0:arguments[4]:{};if(o=r instanceof sd&&"function"==typeof r.toJson?r.toJson():r,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'volumeGroupRecoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==o)throw new Error("Invalid body when calling volumeGroupRecoveryPointComputeChangedRegions");var s={recoveryPointExtId:e,volumeGroupRecoveryPointExtId:t,extId:n},u={};Object.keys(a).forEach((function(e){Zd(Yd,i).has(e.toLowerCase())||(u[e]=a[e])}));var c=zd({},u);ct.addEtagReferenceToHeader(r,c);var l=wd;return this.apiClient.callApi("/api/dataprotection/v4.0/content/recovery-points/{recoveryPointExtId}/volume-group-recovery-points/{volumeGroupRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",s,{},c,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}}],n=[{key:"ApiClient",get:function(){return ct}}],t&&Kd(e.prototype,t),n&&Kd(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}();function ey(e){return ey="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ey(e)}function ty(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ny(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ty(Object(n),!0).forEach((function(t){ry(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ty(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ry(e,t,n){return(t=iy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,iy(r.key),r)}}function iy(e){var t=function(e){if("object"!=ey(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ey(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ey(t)?t:t+""}var ay=new WeakSet,sy=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ay),this.$objectType="dataprotection.v4.config.AhvVmOverrideSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ny(ny({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,80))return new C("name","does not satisfy required maxLength constraint: 80")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ny({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&oy(t.prototype,n),r&&oy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function uy(e){return uy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},uy(e)}function cy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ly(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cy(Object(n),!0).forEach((function(t){fy(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cy(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fy(e,t,n){return(t=dy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function py(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,dy(r.key),r)}}function dy(e){var t=function(e){if("object"!=uy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=uy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==uy(t)?t:t+""}sy.prototype.name=void 0,sy.prototype.$reserved=void 0,sy.prototype.$objectType=void 0,sy.prototype.$unknownFields=void 0;var yy=new WeakSet,vy=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,yy),this.$objectType="dataprotection.v4.config.AmazonS3Bucket",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getBucketName",value:function(){return this.bucketName}},{key:"setBucketName",value:function(e){this.bucketName=e}},{key:"getRegionName",value:function(){return this.regionName}},{key:"setRegionName",value:function(e){this.regionName=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ly(ly(ly({},void 0!==this.getBucketName()&&null!==this.getBucketName()?{bucketName:this.getBucketName()}:{}),void 0!==this.getRegionName()&&null!==this.getRegionName()?{regionName:this.getRegionName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("bucketName"===t){if(void 0===this.bucketName||null===this.bucketName)return new C("bucketName","undefined or null");if(!I.validateMaxLength(this.bucketName,256))return new C("bucketName","does not satisfy required maxLength constraint: 256")}if("regionName"===t){if(void 0===this.regionName||null===this.regionName)return new C("regionName","undefined or null");if(!I.validateMaxLength(this.regionName,256))return new C("regionName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("bucketName")&&null!==t.bucketName&&void 0!==t.bucketName&&n.setBucketName(t.bucketName),t.hasOwnProperty("regionName")&&null!==t.regionName&&void 0!==t.regionName&&n.setRegionName(t.regionName),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ly({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&py(t.prototype,n),r&&py(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function hy(e){return hy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hy(e)}function by(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function my(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?by(Object(n),!0).forEach((function(t){gy(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):by(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gy(e,t,n){return(t=Oy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Oy(r.key),r)}}function Oy(e){var t=function(e){if("object"!=hy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hy(t)?t:t+""}vy.prototype.bucketName=void 0,vy.prototype.regionName=void 0,vy.prototype.$reserved=void 0,vy.prototype.$objectType=void 0,vy.prototype.$unknownFields=void 0;var jy=new WeakSet,ky=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,jy),this.$objectType="dataprotection.v4.config.AzureBlobStorageContainer",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getStorageAccountName",value:function(){return this.storageAccountName}},{key:"setStorageAccountName",value:function(e){this.storageAccountName=e}},{key:"getContainerName",value:function(){return this.containerName}},{key:"setContainerName",value:function(e){this.containerName=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return my(my(my({},void 0!==this.getStorageAccountName()&&null!==this.getStorageAccountName()?{storageAccountName:this.getStorageAccountName()}:{}),void 0!==this.getContainerName()&&null!==this.getContainerName()?{containerName:this.getContainerName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("storageAccountName"===t){if(void 0===this.storageAccountName||null===this.storageAccountName)return new C("storageAccountName","undefined or null");if(!I.validateMaxLength(this.storageAccountName,256))return new C("storageAccountName","does not satisfy required maxLength constraint: 256")}if("containerName"===t){if(void 0===this.containerName||null===this.containerName)return new C("containerName","undefined or null");if(!I.validateMaxLength(this.containerName,256))return new C("containerName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("storageAccountName")&&null!==t.storageAccountName&&void 0!==t.storageAccountName&&n.setStorageAccountName(t.storageAccountName),t.hasOwnProperty("containerName")&&null!==t.containerName&&void 0!==t.containerName&&n.setContainerName(t.containerName),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=my({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&wy(t.prototype,n),r&&wy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();ky.prototype.storageAccountName=void 0,ky.prototype.containerName=void 0,ky.prototype.$reserved=void 0,ky.prototype.$objectType=void 0,ky.prototype.$unknownFields=void 0;var $y={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys($y).find((function(t){return $y[t]===e}));return null==t?$y.$UNKNOWN:$y[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $y.$UNKNOWN:case $y.$REDACTED:case $y.VM:case $y.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ConsistencyGroupMemberType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze($y);const Py=$y;function Ty(e){return Ty="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ty(e)}function Ey(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fy(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ey(Object(n),!0).forEach((function(t){Sy(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ey(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Sy(e,t,n){return(t=Iy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ry(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Iy(r.key),r)}}function Iy(e){var t=function(e){if("object"!=Ty(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ty(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ty(t)?t:t+""}var xy=new WeakSet,Ay=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,xy),this.entityExtId=t,this.entityType=n,this.$objectType="dataprotection.v4.config.ConsistencyGroupMember",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getEntityExtId",value:function(){return this.entityExtId}},{key:"setEntityExtId",value:function(e){this.entityExtId=e}},{key:"getEntityType",value:function(){return this.entityType}},{key:"setEntityType",value:function(e){this.entityType=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Fy(Fy(Fy({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["entityExtId","entityType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new C("entityExtId","undefined or null");if(!I.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("entityType","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("entityExtId")&&null!==t.entityExtId&&void 0!==t.entityExtId&&n.setEntityExtId(t.entityExtId),t.hasOwnProperty("entityType")&&null!==t.entityType&&void 0!==t.entityType&&n.setEntityType(Py.constructFromObject(t.entityType)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Fy({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Ry(t.prototype,n),r&&Ry(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Dy(e){return Dy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dy(e)}function Cy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cy(Object(n),!0).forEach((function(t){Ny(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cy(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ny(e,t,n){return(t=My(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,My(r.key),r)}}function My(e){var t=function(e){if("object"!=Dy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Dy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Dy(t)?t:t+""}function Uy(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Uy=function(){return!!e})()}function Gy(e){return Gy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Gy(e)}function Ly(e,t){return Ly=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ly(e,t)}Ay.prototype.entityExtId=void 0,Ay.prototype.entityType=void 0,Ay.prototype.$reserved=void 0,Ay.prototype.$objectType=void 0,Ay.prototype.$unknownFields=void 0;var Vy=new WeakSet,Wy=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(r=function(e,t,n){return t=Gy(t),function(e,t){if(t&&("object"==Dy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Uy()?Reflect.construct(t,n||[],Gy(e).constructor):t.apply(e,n))}(this,t),Vy),r.name=e,r.members=n,r.$objectType="dataprotection.v4.config.ConsistencyGroup",r.$reserved={$fv:"v4.r0"},r.$unknownFields={},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ly(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getOwnerExtId",value:function(){return this.ownerExtId}},{key:"setOwnerExtId",value:function(e){this.ownerExtId=e}},{key:"getMembers",value:function(){return this.members}},{key:"setMembers",value:function(e){this.members=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getProtectionPolicyExtId",value:function(){return this.protectionPolicyExtId}},{key:"setProtectionPolicyExtId",value:function(e){this.protectionPolicyExtId=e}},{key:"toJson",value:function(e){return _y(!1===e?_y(_y(_y(_y(_y(_y(_y(_y({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{}),void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):_y(_y({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map((function(e){return e.toJson(!1)}))}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["name","members"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new C("ownerExtId","undefined or null");if(!I.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("members"===t){if(void 0===this.members||null===this.members)return new C("members","undefined or null");if(!I.validateMaxItems(this.members,30))return new C("members","does not satisfy required maxItems constraint: 30");if(!I.validateMinItems(this.members,1))return new C("members","does not satisfy required minItems constraint: 1")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!I.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new C("protectionPolicyExtId","undefined or null");if(!I.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,Bt.constructFromObject(e,a,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&a.setName(e.name),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&a.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("members")&&null!==e.members&&void 0!==e.members){for(i=[],n=e.members,o=0;o<n.length;o++)r=Ay.constructFromObject(n[o],void 0),i.push(r);a.setMembers(i)}if(e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&a.setClusterExtId(e.clusterExtId),e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&a.setProtectionPolicyExtId(e.protectionPolicyExtId),!s)for(var u in a.$unknownFields=_y({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Jy(n.prototype,r),o&&Jy(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function By(e){return By="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},By(e)}function zy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qy(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zy(Object(n),!0).forEach((function(t){Ky(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zy(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ky(e,t,n){return(t=Zy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Zy(r.key),r)}}function Zy(e){var t=function(e){if("object"!=By(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=By(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==By(t)?t:t+""}Wy.prototype.name=void 0,Wy.prototype.ownerExtId=void 0,Wy.prototype.members=void 0,Wy.prototype.clusterExtId=void 0,Wy.prototype.protectionPolicyExtId=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var Xy=new WeakSet,Yy=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Xy),this.$objectType="dataprotection.v4.config.ConsistencyGroupMigrationSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getTargetPcExtId",value:function(){return this.targetPcExtId}},{key:"setTargetPcExtId",value:function(e){this.targetPcExtId=e}},{key:"getTargetClusterExtId",value:function(){return this.targetClusterExtId}},{key:"setTargetClusterExtId",value:function(e){this.targetClusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return qy(qy(qy({},void 0!==this.getTargetPcExtId()&&null!==this.getTargetPcExtId()?{targetPcExtId:this.getTargetPcExtId()}:{}),void 0!==this.getTargetClusterExtId()&&null!==this.getTargetClusterExtId()?{targetClusterExtId:this.getTargetClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("targetPcExtId"===t){if(void 0===this.targetPcExtId||null===this.targetPcExtId)return new C("targetPcExtId","undefined or null");if(!I.validatePattern(this.targetPcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("targetPcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("targetClusterExtId"===t){if(void 0===this.targetClusterExtId||null===this.targetClusterExtId)return new C("targetClusterExtId","undefined or null");if(!I.validatePattern(this.targetClusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("targetClusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("targetPcExtId")&&null!==t.targetPcExtId&&void 0!==t.targetPcExtId&&n.setTargetPcExtId(t.targetPcExtId),t.hasOwnProperty("targetClusterExtId")&&null!==t.targetClusterExtId&&void 0!==t.targetClusterExtId&&n.setTargetClusterExtId(t.targetClusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=qy({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Hy(t.prototype,n),r&&Hy(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Qy(e){return Qy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qy(e)}function ev(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tv(e,t,n){return(t=rv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rv(r.key),r)}}function rv(e){var t=function(e){if("object"!=Qy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Qy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qy(t)?t:t+""}function ov(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ov=function(){return!!e})()}function iv(e){return iv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},iv(e)}function av(e,t){return av=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},av(e,t)}Yy.prototype.targetPcExtId=void 0,Yy.prototype.targetClusterExtId=void 0,Yy.prototype.$reserved=void 0,Yy.prototype.$objectType=void 0,Yy.prototype.$unknownFields=void 0;var sv=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=iv(t),function(e,t){if(t&&("object"==Qy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ov()?Reflect.construct(t,n||[],iv(e).constructor):t.apply(e,n))}(this,t,[e,n])).$objectType="dataprotection.v4.config.ConsistencyGroupProjection",r.$reserved={$fv:"v4.r0"},r.$unknownFields={},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&av(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["name","members"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Wy.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ev(Object(n),!0).forEach((function(t){tv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ev(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&nv(n.prototype,r),o&&nv(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wy);function uv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function cv(e){return cv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cv(e)}function lv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lv(Object(n),!0).forEach((function(t){pv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lv(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pv(e,t,n){return(t=yv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,yv(r.key),r)}}function yv(e){var t=function(e){if("object"!=cv(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=cv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==cv(t)?t:t+""}function vv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(vv=function(){return!!e})()}function hv(e){return hv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},hv(e)}function bv(e,t){return bv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},bv(e,t)}function mv(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var gv=new WeakSet,wv=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=hv(t),function(e,t){if(t&&("object"==cv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,vv()?Reflect.construct(t,n||[],hv(e).constructor):t.apply(e,n))}(this,t),gv),e.$objectType="dataprotection.v4.config.CreateConsistencyGroupApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&bv(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return fv(fv(fv({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):mv(gv,this,Ov).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):mv(gv,this,Ov).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:cv(e.data)){case"dataprotection.v4.config.ConsistencyGroup":r.setData(Wy.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=fv({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&dv(n.prototype,r),o&&dv(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ov(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return uv(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uv(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===cv(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function jv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function kv(e){return kv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kv(e)}function $v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$v(Object(n),!0).forEach((function(t){Tv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Tv(e,t,n){return(t=Fv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ev(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Fv(r.key),r)}}function Fv(e){var t=function(e){if("object"!=kv(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=kv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==kv(t)?t:t+""}function Sv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Sv=function(){return!!e})()}function Rv(e){return Rv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Rv(e)}function Iv(e,t){return Iv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Iv(e,t)}function xv(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wv.prototype.metadata=void 0,wv.prototype.data=void 0,wv.prototype.$reserved=void 0,wv.prototype.$objectType=void 0,wv.prototype.$unknownFields=void 0;var Av=new WeakSet,Dv=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Rv(t),function(e,t){if(t&&("object"==kv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Sv()?Reflect.construct(t,n||[],Rv(e).constructor):t.apply(e,n))}(this,t),Av),e.$objectType="dataprotection.v4.config.DeleteConsistencyGroupApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Iv(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Pv(Pv(Pv({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):xv(Av,this,Cv).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):xv(Av,this,Cv).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&r.setData(null),n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:kv(e.data)){case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;case"":r.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Pv({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ev(n.prototype,r),o&&Ev(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Cv(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return jv(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?jv(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===kv(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function _v(e){return _v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_v(e)}function Nv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Jv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nv(Object(n),!0).forEach((function(t){Mv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nv(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mv(e,t,n){return(t=Gv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Uv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Gv(r.key),r)}}function Gv(e){var t=function(e){if("object"!=_v(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=_v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_v(t)?t:t+""}Dv.prototype.metadata=void 0,Dv.prototype.data=void 0,Dv.prototype.$reserved=void 0,Dv.prototype.$objectType=void 0,Dv.prototype.$unknownFields=void 0;var Lv=new WeakSet,Vv=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Lv),this.$objectType="dataprotection.v4.config.EsxiVmOverrideSpec",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Jv(Jv({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,80))return new C("name","does not satisfy required maxLength constraint: 80")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Jv({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Uv(t.prototype,n),r&&Uv(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();Vv.prototype.name=void 0,Vv.prototype.$reserved=void 0,Vv.prototype.$objectType=void 0,Vv.prototype.$unknownFields=void 0;var Wv={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_ELEMENT:"PRISM_ELEMENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Wv).find((function(t){return Wv[t]===e}));return null==t?Wv.$UNKNOWN:Wv[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wv.$UNKNOWN:case Wv.$REDACTED:case Wv.PRISM_ELEMENT:return;default:throw new Error("Invalid : must be HostType.{ $UNKNOWN|$REDACTED|PRISM_ELEMENT }")}}};Object.freeze(Wv);const Bv=Wv;function zv(e){return zv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zv(e)}function qv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qv(Object(n),!0).forEach((function(t){Hv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qv(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Hv(e,t,n){return(t=Xv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Xv(r.key),r)}}function Xv(e){var t=function(e){if("object"!=zv(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=zv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==zv(t)?t:t+""}function Yv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Yv=function(){return!!e})()}function Qv(e){return Qv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Qv(e)}function eh(e,t){return eh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},eh(e,t)}var th=new WeakSet,nh=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Qv(t),function(e,t){if(t&&("object"==zv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Yv()?Reflect.construct(t,n||[],Qv(e).constructor):t.apply(e,n))}(this,t),th),e.$objectType="dataprotection.v4.config.HostReference",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eh(e,t)}(t,e),n=t,r=[{key:"getHostType",value:function(){return this.hostType}},{key:"setHostType",value:function(e){this.hostType=e}},{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"toJson",value:function(e){return Kv(!1===e?Kv(Kv(Kv(Kv(Kv({},void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Kv(Kv({},void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("hostType"===t&&(void 0===this.hostType||null===this.hostType))return new C("hostType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Bt.constructFromObject(e,n,!0),e.hasOwnProperty("hostType")&&null!==e.hostType&&void 0!==e.hostType&&n.setHostType(Bv.constructFromObject(e.hostType)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&n.setName(e.name),!r))for(var o in n.$unknownFields=Kv({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Zv(n.prototype,r),o&&Zv(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function rh(e){return rh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rh(e)}function oh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ih(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oh(Object(n),!0).forEach((function(t){ah(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ah(e,t,n){return(t=uh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,uh(r.key),r)}}function uh(e){var t=function(e){if("object"!=rh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=rh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rh(t)?t:t+""}nh.prototype.hostType=void 0,nh.prototype.name=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var ch=new WeakSet,lh=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ch),this.ipv4=t,this.$objectType="dataprotection.v4.config.IpAddress",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getIpv4",value:function(){return this.ipv4}},{key:"setIpv4",value:function(e){this.ipv4=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ih(ih({},void 0!==this.getIpv4()&&null!==this.getIpv4()?{ipv4:this.getIpv4()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["ipv4"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("ipv4"===t){if(void 0===this.ipv4||null===this.ipv4)return new C("ipv4","undefined or null");if(!I.validatePattern(this.ipv4,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))return new C("ipv4","does not satisfy required pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("ipv4")&&null!==t.ipv4&&void 0!==t.ipv4&&n.setIpv4(t.ipv4),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ih({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&sh(t.prototype,n),r&&sh(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function fh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ph(e){return ph="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ph(e)}function dh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dh(Object(n),!0).forEach((function(t){vh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vh(e,t,n){return(t=bh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bh(r.key),r)}}function bh(e){var t=function(e){if("object"!=ph(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ph(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ph(t)?t:t+""}function mh(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(mh=function(){return!!e})()}function gh(e){return gh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},gh(e)}function wh(e,t){return wh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},wh(e,t)}function Oh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lh.prototype.ipv4=void 0,lh.prototype.$reserved=void 0,lh.prototype.$objectType=void 0,lh.prototype.$unknownFields=void 0;var jh=new WeakSet,kh=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=gh(t),function(e,t){if(t&&("object"==ph(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,mh()?Reflect.construct(t,n||[],gh(e).constructor):t.apply(e,n))}(this,t),jh),e.$objectType="dataprotection.v4.config.MigrateConsistencyGroupApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&wh(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return yh(yh(yh({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Oh(jh,this,$h).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):Oh(jh,this,$h).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:ph(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=yh({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&hh(n.prototype,r),o&&hh(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function $h(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return fh(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fh(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===ph(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Ph(e){return Ph="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ph(e)}function Th(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Eh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Th(Object(n),!0).forEach((function(t){Fh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Th(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Fh(e,t,n){return(t=Rh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rh(r.key),r)}}function Rh(e){var t=function(e){if("object"!=Ph(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ph(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ph(t)?t:t+""}kh.prototype.metadata=void 0,kh.prototype.data=void 0,kh.prototype.$reserved=void 0,kh.prototype.$objectType=void 0,kh.prototype.$unknownFields=void 0;var Ih=new WeakSet,xh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ih),this.$objectType="dataprotection.v4.config.NutanixObjectsBucket",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getEndPoint",value:function(){return this.endPoint}},{key:"setEndPoint",value:function(e){this.endPoint=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Eh(Eh({},void 0!==this.getEndPoint()&&null!==this.getEndPoint()?{endPoint:this.getEndPoint()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"endPoint"!==t||void 0!==this.endPoint&&null!==this.endPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("endPoint","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("endPoint")&&null!==t.endPoint&&void 0!==t.endPoint&&n.setEndPoint(t.endPoint),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Eh({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&Sh(t.prototype,n),r&&Sh(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();xh.prototype.endPoint=void 0,xh.prototype.$reserved=void 0,xh.prototype.$objectType=void 0,xh.prototype.$unknownFields=void 0;var Ah={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AZURE_BLOB_STORAGE:"AZURE_BLOB_STORAGE",AMAZON_S3:"AMAZON_S3",NUTANIX_OBJECTS:"NUTANIX_OBJECTS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Ah).find((function(t){return Ah[t]===e}));return null==t?Ah.$UNKNOWN:Ah[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ah.$UNKNOWN:case Ah.$REDACTED:case Ah.AZURE_BLOB_STORAGE:case Ah.AMAZON_S3:case Ah.NUTANIX_OBJECTS:return;default:throw new Error("Invalid : must be ObjectStorageType.{ $UNKNOWN|$REDACTED|AZURE_BLOB_STORAGE|AMAZON_S3|NUTANIX_OBJECTS }")}}};Object.freeze(Ah);const Dh=Ah;function Ch(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _h(e){return _h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_h(e)}function Nh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Jh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nh(Object(n),!0).forEach((function(t){Mh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mh(e,t,n){return(t=Gh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Uh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Gh(r.key),r)}}function Gh(e){var t=function(e){if("object"!=_h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=_h(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_h(t)?t:t+""}function Lh(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Lh=function(){return!!e})()}function Vh(e){return Vh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Vh(e)}function Wh(e,t){return Wh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Wh(e,t)}function Bh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var zh=new WeakSet,qh=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Vh(t),function(e,t){if(t&&("object"==_h(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Lh()?Reflect.construct(t,n||[],Vh(e).constructor):t.apply(e,n))}(this,t),zh),e.$objectType="dataprotection.v4.config.RecoveryPointRepository",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Wh(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getObjectStorageType",value:function(){return this.objectStorageType}},{key:"setObjectStorageType",value:function(e){this.objectStorageType=e}},{key:"getObjectStorageReference",value:function(){return this.objectStorageReference}},{key:"setObjectStorageReference",value:function(e){this.objectStorageReference=e}},{key:"toJson",value:function(e){return Jh(!1===e?Jh(Jh(Jh(Jh(Jh(Jh({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{}),void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson(!1):Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):Bh(zh,this,Kh).call(this,this.getObjectStorageReference(),!1)}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Jh(Jh(Jh({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{}),void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson():Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map((function(e){return void 0!==e.toJson?e.toJson():e})):Bh(zh,this,Kh).call(this,this.getObjectStorageReference())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"objectStorageType"!==t||void 0!==this.objectStorageType&&null!==this.objectStorageType?"objectStorageReference"!==t||void 0!==this.objectStorageReference&&null!==this.objectStorageReference?new C(t,"no such property exists"):new C("objectStorageReference","undefined or null"):new C("objectStorageType","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,Bt.constructFromObject(e,r,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&r.setName(e.name),e.hasOwnProperty("objectStorageType")&&null!==e.objectStorageType&&void 0!==e.objectStorageType&&r.setObjectStorageType(Dh.constructFromObject(e.objectStorageType)),e.hasOwnProperty("objectStorageReference")&&null!==e.objectStorageReference&&void 0!==e.objectStorageReference)switch(n=e.objectStorageReference.hasOwnProperty("$objectType")?e.objectStorageReference.$objectType:_h(e.objectStorageReference)){case"dataprotection.v4.config.AzureBlobStorageContainer":r.setObjectStorageReference(ky.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.AmazonS3Bucket":r.setObjectStorageReference(vy.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.NutanixObjectsBucket":r.setObjectStorageReference(xh.constructFromObject(e.objectStorageReference,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(!o)for(var i in r.$unknownFields=Jh({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Uh(n.prototype,r),o&&Uh(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);function Kh(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Ch(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ch(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===_h(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Hh(e){return Hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hh(e)}function Zh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xh(e,t,n){return(t=Qh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qh(r.key),r)}}function Qh(e){var t=function(e){if("object"!=Hh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Hh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Hh(t)?t:t+""}function eb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(eb=function(){return!!e})()}function tb(e){return tb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tb(e)}function nb(e,t){return nb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},nb(e,t)}qh.prototype.name=void 0,qh.prototype.objectStorageType=void 0,qh.prototype.objectStorageReference=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var rb=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=tb(t),function(e,t){if(t&&("object"==Hh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,eb()?Reflect.construct(t,n||[],tb(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.RecoveryPointRepositoryProjection",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nb(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,qh.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zh(Object(n),!0).forEach((function(t){Xh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Yh(n.prototype,r),o&&Yh(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(qh);function ob(e){return ob="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ob(e)}function ib(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ab(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ib(Object(n),!0).forEach((function(t){sb(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ib(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sb(e,t,n){return(t=cb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ub(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,cb(r.key),r)}}function cb(e){var t=function(e){if("object"!=ob(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ob(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ob(t)?t:t+""}var lb=new WeakSet,fb=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,lb),this.$objectType="dataprotection.v4.config.SiteReference",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getAvailabilityZoneReference",value:function(){return this.availabilityZoneReference}},{key:"setAvailabilityZoneReference",value:function(e){this.availabilityZoneReference=e}},{key:"getClusterReference",value:function(){return this.clusterReference}},{key:"setClusterReference",value:function(e){this.clusterReference=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ab(ab(ab({},void 0!==this.getAvailabilityZoneReference()&&null!==this.getAvailabilityZoneReference()?{availabilityZoneReference:this.getAvailabilityZoneReference()}:{}),void 0!==this.getClusterReference()&&null!==this.getClusterReference()?{clusterReference:this.getClusterReference()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("availabilityZoneReference"===t){if(void 0===this.availabilityZoneReference||null===this.availabilityZoneReference)return new C("availabilityZoneReference","undefined or null");if(!I.validatePattern(this.availabilityZoneReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("availabilityZoneReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterReference"===t){if(void 0===this.clusterReference||null===this.clusterReference)return new C("clusterReference","undefined or null");if(!I.validatePattern(this.clusterReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("availabilityZoneReference")&&null!==t.availabilityZoneReference&&void 0!==t.availabilityZoneReference&&n.setAvailabilityZoneReference(t.availabilityZoneReference),t.hasOwnProperty("clusterReference")&&null!==t.clusterReference&&void 0!==t.clusterReference&&n.setClusterReference(t.clusterReference),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ab({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],n&&ub(t.prototype,n),r&&ub(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function pb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function db(e){return db="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},db(e)}function yb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yb(Object(n),!0).forEach((function(t){hb(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yb(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hb(e,t,n){return(t=mb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,mb(r.key),r)}}function mb(e){var t=function(e){if("object"!=db(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=db(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==db(t)?t:t+""}function gb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(gb=function(){return!!e})()}function wb(e){return wb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},wb(e)}function Ob(e,t){return Ob=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ob(e,t)}function jb(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}fb.prototype.availabilityZoneReference=void 0,fb.prototype.clusterReference=void 0,fb.prototype.$reserved=void 0,fb.prototype.$objectType=void 0,fb.prototype.$unknownFields=void 0;var kb=new WeakSet,$b=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=wb(t),function(e,t){if(t&&("object"==db(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,gb()?Reflect.construct(t,n||[],wb(e).constructor):t.apply(e,n))}(this,t),kb),e.$objectType="dataprotection.v4.config.SynchronousReplicaPromoteApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ob(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return vb(vb(vb({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):jb(kb,this,Pb).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):jb(kb,this,Pb).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:db(e.data)){case"prism.v4.config.TaskReference":r.setData(io.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(_r.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=vb({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&bb(n.prototype,r),o&&bb(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Pb(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return pb(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pb(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===db(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Tb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Eb(e){return Eb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Eb(e)}function Fb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fb(Object(n),!0).forEach((function(t){Rb(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fb(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rb(e,t,n){return(t=xb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ib(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xb(r.key),r)}}function xb(e){var t=function(e){if("object"!=Eb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Eb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Eb(t)?t:t+""}function Ab(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Ab=function(){return!!e})()}function Db(e){return Db=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Db(e)}function Cb(e,t){return Cb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Cb(e,t)}function _b(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}$b.prototype.metadata=void 0,$b.prototype.data=void 0,$b.prototype.$reserved=void 0,$b.prototype.$objectType=void 0,$b.prototype.$unknownFields=void 0;var Nb=new WeakSet,Jb=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Db(t),function(e,t){if(t&&("object"==Eb(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ab()?Reflect.construct(t,n||[],Db(e).constructor):t.apply(e,n))}(this,t),Nb),e.$objectType="dataprotection.v4.config.UpdateConsistencyGroupApiResponse",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cb(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Sb(Sb(Sb({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson(!1):e})):_b(Nb,this,Mb).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map((function(e){return void 0!==e.toJson?e.toJson():e})):_b(Nb,this,Mb).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,s),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&s.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)s.setData([]);else{for(i=[],a=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:Eb(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";r=sr.constructFromObject(n[o],void 0),i.push(r)}s.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Eb(e.data)))throw"Unknown datatype "+a+" in data";s.setData(_r.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(s.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(s.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(s.$unknownFields=e.$unknownFields),!u)for(var l in s.$unknownFields=Sb({},e.$unknownFields),e)Object.keys(s).includes(l)||Object.keys(s).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(s.$unknownFields[l]=e[l])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Ib(n.prototype,r),o&&Ib(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Mb(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,(function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Tb(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tb(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1];return[i,void 0!==a.toJson?a.toJson(t):a]}))):"object"===Eb(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),(function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]}))):e}function Ub(e){return Ub="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ub(e)}function Gb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Lb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gb(Object(n),!0).forEach((function(t){Vb(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gb(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vb(e,t,n){return(t=Bb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bb(r.key),r)}}function Bb(e){var t=function(e){if("object"!=Ub(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ub(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ub(t)?t:t+""}function zb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(zb=function(){return!!e})()}function qb(e){return qb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},qb(e)}function Kb(e,t){return Kb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Kb(e,t)}Jb.prototype.metadata=void 0,Jb.prototype.data=void 0,Jb.prototype.$reserved=void 0,Jb.prototype.$objectType=void 0,Jb.prototype.$unknownFields=void 0;var Hb=new WeakSet,Zb=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=qb(t),function(e,t){if(t&&("object"==Ub(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,zb()?Reflect.construct(t,n||[],qb(e).constructor):t.apply(e,n))}(this,t),Hb),e.$objectType="dataprotection.v4.config.VolumeGroupSyncContext",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kb(e,t)}(t,e),n=t,r=[{key:"getPrimarySite",value:function(){return this.primarySite}},{key:"setPrimarySite",value:function(e){this.primarySite=e}},{key:"getSecondarySite",value:function(){return this.secondarySite}},{key:"setSecondarySite",value:function(e){this.secondarySite=e}},{key:"toJson",value:function(e){return Lb(!1===e?Lb(Lb(Lb(Lb(Lb({},void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{}),void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Lb(Lb({},void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{}),void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){return"primarySite"!==t||void 0!==this.primarySite&&null!==this.primarySite?"secondarySite"!==t||void 0!==this.secondarySite&&null!==this.secondarySite?new C(t,"no such property exists"):new C("secondarySite","undefined or null"):new C("primarySite","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Bt.constructFromObject(e,n,!0),e.hasOwnProperty("primarySite")&&null!==e.primarySite&&void 0!==e.primarySite&&n.setPrimarySite(fb.constructFromObject(e.primarySite)),e.hasOwnProperty("secondarySite")&&null!==e.secondarySite&&void 0!==e.secondarySite&&n.setSecondarySite(fb.constructFromObject(e.secondarySite)),!r))for(var o in n.$unknownFields=Lb({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&Wb(n.prototype,r),o&&Wb(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);Zb.prototype.primarySite=void 0,Zb.prototype.secondarySite=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;var Xb={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AVAILABLE:"AVAILABLE",UNAVAILABLE:"UNAVAILABLE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Xb).find((function(t){return Xb[t]===e}));return null==t?Xb.$UNKNOWN:Xb[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xb.$UNKNOWN:case Xb.$REDACTED:case Xb.AVAILABLE:case Xb.UNAVAILABLE:return;default:throw new Error("Invalid : must be WitnessAvailabilityStatus.{ $UNKNOWN|$REDACTED|AVAILABLE|UNAVAILABLE }")}}};Object.freeze(Xb);const Yb=Xb;function Qb(e){return Qb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qb(e)}function em(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?em(Object(n),!0).forEach((function(t){nm(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):em(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function nm(e,t,n){return(t=om(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,om(r.key),r)}}function om(e){var t=function(e){if("object"!=Qb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Qb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qb(t)?t:t+""}function im(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(im=function(){return!!e})()}function am(e){return am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},am(e)}function sm(e,t){return sm=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},sm(e,t)}var um=new WeakSet,cm=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=am(t),function(e,t){if(t&&("object"==Qb(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,im()?Reflect.construct(t,n||[],am(e).constructor):t.apply(e,n))}(this,t),um),e.$objectType="dataprotection.v4.config.Witness",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&sm(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getHostReferences",value:function(){return this.hostReferences}},{key:"setHostReferences",value:function(e){this.hostReferences=e}},{key:"getIpAddresses",value:function(){return this.ipAddresses}},{key:"setIpAddresses",value:function(e){this.ipAddresses=e}},{key:"getStatus",value:function(){return this.status}},{key:"setStatus",value:function(e){this.status=e}},{key:"toJson",value:function(e){return tm(!1===e?tm(tm(tm(tm(tm(tm(tm({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):tm(tm(tm(tm({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map((function(e){return e.toJson(!1)}))}:{}),void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach((function(t){(i=n.validateProperty(t,e))&&o.push(i)})),new Promise((function(e,t){0!==o.length?t(i):e()}))}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!I.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}if("hostReferences"===t){if(void 0===this.hostReferences||null===this.hostReferences)return new C("hostReferences","undefined or null");if(!I.validateMaxItems(this.hostReferences,100))return new C("hostReferences","does not satisfy required maxItems constraint: 100");if(!I.validateMinItems(this.hostReferences,1))return new C("hostReferences","does not satisfy required minItems constraint: 1")}if("ipAddresses"===t){if(void 0===this.ipAddresses||null===this.ipAddresses)return new C("ipAddresses","undefined or null");if(!I.validateMaxItems(this.ipAddresses,100))return new C("ipAddresses","does not satisfy required maxItems constraint: 100");if(!I.validateMinItems(this.ipAddresses,1))return new C("ipAddresses","does not satisfy required minItems constraint: 1")}return"status"!==t||void 0!==this.status&&null!==this.status?new C(t,"no such property exists"):new C("status","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,Bt.constructFromObject(e,a,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&a.setName(e.name),e.hasOwnProperty("hostReferences")&&null!==e.hostReferences&&void 0!==e.hostReferences){for(i=[],n=e.hostReferences,o=0;o<n.length;o++)r=nh.constructFromObject(n[o],void 0),i.push(r);a.setHostReferences(i)}if(e.hasOwnProperty("ipAddresses")&&null!==e.ipAddresses&&void 0!==e.ipAddresses){for(i=[],n=e.ipAddresses,o=0;o<n.length;o++)i.push(n[o]);a.setIpAddresses(i)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&a.setStatus(Yb.constructFromObject(e.status)),!s)for(var u in a.$unknownFields=tm({},e.$unknownFields),e)Object.keys(a).includes(u)||Object.keys(a).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(a.$unknownFields[u]=e[u])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,(function(e){return e[1].toUpperCase()}))}}],r&&rm(n.prototype,r),o&&rm(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bt);cm.prototype.name=void 0,cm.prototype.hostReferences=void 0,cm.prototype.ipAddresses=void 0,cm.prototype.status=void 0,Bt.prototype.extId=void 0,Bt.prototype.links=void 0,Dt.prototype.tenantId=void 0;const lm={ApiClient:ct,ProtectedResourcesApi:ei,RecoveryPointsApi:Qd,Flag:V,IPAddress:js,IPv4Address:as,IPv6Address:ys,KVPair:le,MapOfStringWrapper:Q,Message:Oe,MessageSeverity:de,TenantAwareModel:Dt,ApiLink:Se,ApiResponseMetadata:Je,ExternalizableAbstractModel:Bt,BackupType:Pu,BaseRecoveryPoint:au,BaseVmRecoveryPoint:zu,ClusterInfo:Rs,DiskRecoveryPoint:ku,RecoveryPointStatus:zs,RecoveryPointType:Ks,VssProperties:Au,AhvVmOverrideSpec:sy,AmazonS3Bucket:vy,AzureBlobStorageContainer:ky,ClusterInfoApiResponse:Vs,ConsistencyGroup:Wy,ConsistencyGroupMember:Ay,ConsistencyGroupMemberType:Py,ConsistencyGroupMigrationSpec:Yy,ConsistencyGroupProjection:sv,CreateConsistencyGroupApiResponse:wv,CreateRecoveryPointApiResponse:_f,DataProtectionSiteReference:Qt,DeleteConsistencyGroupApiResponse:Dv,DeleteRecoveryPointApiResponse:$p,EsxiVmOverrideSpec:Vv,ExpirationTimeSpec:jf,GetProtectedResourceApiResponse:Zr,GetRecoveryPointApiResponse:Gl,GetVmRecoveryPointApiResponse:Jp,HostReference:nh,HostType:Bv,IpAddress:lh,ListRecoveryPointsApiResponse:Hc,LocationReference:vu,MigrateConsistencyGroupApiResponse:kh,NutanixObjectsBucket:xh,ObjectStorageType:Dh,ProtectedEntityType:tn,ProtectedResource:Xn,ProtectedResourcePromoteApiResponse:Ao,ProtectedResourceReplicationStatus:rn,ProtectedResourceRestoreApiResponse:go,ProtectedResourceRestoreSpec:Vo,RecoveryInfo:Rn,RecoveryPoint:Tc,RecoveryPointProjection:_c,RecoveryPointReplicateApiResponse:di,RecoveryPointReplicationSpec:Sd,RecoveryPointRepository:qh,RecoveryPointRepositoryProjection:rb,RecoveryPointRestorationSpec:Fl,RecoveryPointRestoreApiResponse:lp,ReplicationState:pn,RestorableTimeRange:On,SiteProtectionInfo:Un,SiteReference:fb,SynchronousReplicaPromoteApiResponse:$b,SynchronousReplicationRole:xn,UpdateConsistencyGroupApiResponse:Jb,UpdateRecoveryPointExpirationTimeApiResponse:Ld,VmRecoveryPoint:rc,VmRecoveryPointRestoreOverride:ol,VolumeGroupOverrideSpec:pl,VolumeGroupRecoveryPoint:yc,VolumeGroupRecoveryPointRestoreOverride:wl,VolumeGroupSyncContext:Zb,Witness:cm,WitnessAvailabilityStatus:Yb,BaseRecoveryPointSpec:Ra,ChangedRegion:Yl,ChangedVmRegionsApiResponse:pf,ChangedVolumeGroupRegionsApiResponse:wd,ClusterDiscoverOperation:hi,ClusterDiscoverSpec:Oa,ComputeChangedRegionsClusterDiscoverSpec:na,DiskRecoveryPointReference:$i,GetVssMetadataApiResponse:Zf,GetVssMetadataClusterDiscoverSpec:fa,RegionType:Wl,VmDiskRecoveryPointClusterDiscoverSpec:Ga,VmDiskRecoveryPointReference:Ci,VmRecoveryPointChangedRegionsComputeSpec:Ya,VolumeGroupDiskRecoveryPointClusterDiscoverSpec:Zp,VolumeGroupDiskRecoveryPointReference:zi,VolumeGroupRecoveryPointChangedRegionsComputeSpec:sd,AppMessage:sr,ErrorResponse:_r,SchemaValidationError:Pr,SchemaValidationErrorMessage:hr,TaskReference:io}})(),r.default})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Dataprotection=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={19(e,t,n){"use strict";var i=n(897);function o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(this[o]=n[o]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},o.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},340(e){e.exports=r,r.default=r,r.stable=u,r.stableStringify=u;var t="[...]",n="[Circular]",i=[],o=[];function s(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function r(e,t,n,r){var a;void 0===r&&(r=s()),l(e,"",0,[],void 0,0,r);try{a=0===o.length?JSON.stringify(e,t,n):JSON.stringify(e,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function a(e,t,n,s){var r=Object.getOwnPropertyDescriptor(s,n);void 0!==r.get?r.configurable?(Object.defineProperty(s,n,{value:e}),i.push([s,n,t,r])):o.push([t,n,e]):(s[n]=e,i.push([s,n,t]))}function l(e,i,o,s,r,d,u){var c;if(d+=1,"object"==typeof e&&null!==e){for(c=0;c<s.length;c++)if(s[c]===e)return void a(n,e,i,r);if(void 0!==u.depthLimit&&d>u.depthLimit)return void a(t,e,i,r);if(void 0!==u.edgesLimit&&o+1>u.edgesLimit)return void a(t,e,i,r);if(s.push(e),Array.isArray(e))for(c=0;c<e.length;c++)l(e[c],c,c,s,e,d,u);else{var h=Object.keys(e);for(c=0;c<h.length;c++){var p=h[c];l(e[p],p,c,s,e,d,u)}}s.pop()}}function d(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,r){void 0===r&&(r=s());var a,l=c(e,"",0,[],void 0,0,r)||e;try{a=0===o.length?JSON.stringify(l,t,n):JSON.stringify(l,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function c(e,o,s,r,l,u,h){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<r.length;p++)if(r[p]===e)return void a(n,e,o,l);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void a(t,e,o,l);if(void 0!==h.edgesLimit&&s+1>h.edgesLimit)return void a(t,e,o,l);if(r.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,r,e,u,h);else{var v={},y=Object.keys(e).sort(d);for(p=0;p<y.length;p++){var g=y[p];c(e[g],g,p,r,e,u,h),v[g]=e[g]}if(void 0===l)return v;i.push([l,o,e]),l[o]=v}r.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(o.length>0)for(var i=0;i<o.length;i++){var s=o[i];if(s[1]===t&&s[0]===n){n=s[2],o.splice(i,1);break}}return e.call(this,t,n)}}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const o=t.length,s=e-o;if(0!==s){if(s<0)throw new Error("Cannot have more delays than retries");{const e=t[o-1];for(let n=0;n<s+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},545(){},548(){},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o;"undefined"!=typeof window?o=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),o=void 0):o=self;var s=n(960),r=n(340),a=n(695),l=n(388),d=n(19),u=n(619);function c(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var h=t=e.exports;t.Request=w,h.getXHR=function(){if(o.XMLHttpRequest&&(!o.location||"file:"!==o.location.protocol||!o.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function v(e){if(!l(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&y(t,n,e[n]);return t.join("&")}function y(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){y(e,t,n)});else if(l(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&y(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function g(e){for(var t,n,i={},o=e.split("&"),s=0,r=o.length;s<r;++s)-1===(n=(t=o[s]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function f(e){return/[/+]json($|[^-\w])/.test(e)}function $(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,o,s=e.split(/\r?\n/),r={},a=0,l=s.length;a<l;++a)-1!==(t=(n=s[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),o=p(n.slice(t+1)),r[i]=o);return r}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function w(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new $(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function m(e,t,n){var i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}h.serializeObject=v,h.parseString=g,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":v,"application/json":r},h.parse={"application/x-www-form-urlencoded":g,"application/json":JSON.parse},d($.prototype),$.prototype._parseBody=function(e){var t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&f(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},$.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),o=new Error(i);return o.status=this.status,o.method=t,o.url=n,o},h.Response=$,s(w.prototype),a(w.prototype),w.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},w.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},w.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},w.prototype.query=function(e){return"string"!=typeof e&&(e=v(e)),e&&this._query.push(e),this},w.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},w.prototype._getFormData=function(){return this._formData||(this._formData=new o.FormData),this._formData},w.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},w.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},w.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||c,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},w.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=h.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var o=this._header["content-type"],s=this._serializer||h.serialize[o?o.split(";")[0]:""];!s&&f(o)&&(s=h.serialize["application/json"]),s&&(n=s(n))}for(var r in this.header)null!==this.header[r]&&Object.prototype.hasOwnProperty.call(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,h.get=function(e,t,n){var i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=function(e,t,n){var i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=function(e,t,n){var i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=m,h.delete=m,h.patch=function(e,t,n){var i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=function(e,t,n){var i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=function(e,t,n){var i=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=n(388);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},s.prototype.parse=function(e){return this._parser=e,this},s.prototype.responseType=function(e){return this._responseType=e,this},s.prototype.serialize=function(e){return this._serializer=e,this},s.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},s.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var r=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];s.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&r.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},s.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},s.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},s.prototype.catch=function(e){return this.then(void 0,e)},s.prototype.use=function(e){return e(this),this},s.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},s.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},s.prototype.get=function(e){return this._header[e.toLowerCase()]},s.prototype.getHeader=s.prototype.get,s.prototype.set=function(e,t){if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},s.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},s.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},s.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},s.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},s.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},s.prototype.redirects=function(e){return this._maxRedirects=e,this},s.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},s.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},s.prototype.send=function(e){var t=o(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&o(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},s.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},s.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},s.prototype._appendQueryString=function(){console.warn("Unsupported")},s.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},s.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},784(e,t,n){"use strict";var i="win32"===process.platform,o=n(818);function s(e,t){for(var n=[],i=0;i<e.length;i++){var o=e[i];o&&"."!==o&&(".."===o?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(o))}return n}function r(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,l=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,d={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",o=l.exec(i);return[n,o[1],o[2],o[3]]}function c(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function h(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}d.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var r;if(i>=0?r=arguments[i]:e?(r=process.env["="+e])&&r.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(r=e+"\\"):r=process.cwd(),!o.isString(r))throw new TypeError("Arguments to path.resolve must be strings");if(r){var a=c(r),l=a.device,d=a.isUnc,u=a.isAbsolute,p=a.tail;if((!l||!e||l.toLowerCase()===e.toLowerCase())&&(e||(e=l),n||(t=p+"\\"+t,n=u),e&&n))break}}return d&&(e=h(e)),e+(n?"\\":"")+(t=s(t.split(/[\\\/]+/),!n).join("\\"))||"."},d.normalize=function(e){var t=c(e),n=t.device,i=t.isUnc,o=t.isAbsolute,r=t.tail,a=/[\\\/]$/.test(r);return(r=s(r.split(/[\\\/]+/),!o).join("\\"))||o||(r="."),r&&a&&(r+="\\"),i&&(n=h(n)),n+(o?"\\":"")+r},d.isAbsolute=function(e){return c(e).isAbsolute},d.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),d.normalize(i)},d.relative=function(e,t){e=d.resolve(e),t=d.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),o=r(t.split("\\")),s=r(n.split("\\")),a=r(i.split("\\")),l=Math.min(s.length,a.length),u=l,c=0;c<l;c++)if(s[c]!==a[c]){u=c;break}if(0==u)return t;var h=[];for(c=u;c<s.length;c++)h.push("..");return(h=h.concat(o.slice(u))).join("\\")},d._makeLong=function(e){if(!o.isString(e))return e;if(!e)return"";var t=d.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},d.dirname=function(e){var t=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},d.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},d.extname=function(e){return u(e)[3]},d.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===d.sep?n+i:n+d.sep+i:i},d.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=u(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},d.sep="\\",d.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,v={};function y(e){return p.exec(e).slice(1)}v.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!o.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=s(e.split("/"),!t).join("/"))||"."},v.normalize=function(e){var t=v.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=s(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},v.isAbsolute=function(e){return"/"===e.charAt(0)},v.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return v.normalize(e)},v.relative=function(e,t){e=v.resolve(e).substr(1),t=v.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),o=Math.min(n.length,i.length),s=o,a=0;a<o;a++)if(n[a]!==i[a]){s=a;break}var l=[];for(a=s;a<n.length;a++)l.push("..");return(l=l.concat(i.slice(s))).join("/")},v._makeLong=function(e){return e},v.dirname=function(e){var t=y(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},v.basename=function(e,t){var n=y(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},v.extname=function(e){return y(e)[3]},v.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+v.sep:"")+(e.base||"")},v.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=y(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},v.sep="/",v.delimiter=":",e.exports=i?d:v,e.exports.posix=v,e.exports.win32=d},799(){},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!g(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(r(arguments[n]));return t.join(" ")}n=1;for(var o=arguments,s=o.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=s)return e;switch(e){case"%s":return String(o[n++]);case"%d":return Number(o[n++]);case"%j":try{return JSON.stringify(o[n++])}catch(e){return"[Circular]"}default:return e}}),l=o[n];n<s;l=o[++n])v(l)||!w(l)?a+=" "+l:a+=" "+r(l);return a},t.deprecate=function(e,i){if(f(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var o=!1;return function(){if(!o){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),o=!0}return e.apply(this,arguments)}};var o,s={};function r(e,n){var i={seen:[],stylize:l};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),f(i.showHidden)&&(i.showHidden=!1),f(i.depth)&&(i.depth=2),f(i.colors)&&(i.colors=!1),f(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),d(i,e,i.depth)}function a(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function l(e,t){return e}function d(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(i,e);return g(o)||(o=d(e,o,i)),o}var s=function(e,t){if(f(t))return e.stylize("undefined","undefined");if(g(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return y(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,n);if(s)return s;var r=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(r);if(e.showHidden&&(r=Object.getOwnPropertyNames(n)),k(n)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return u(n);if(0===r.length){if(T(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if($(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(m(n))return e.stylize(Date.prototype.toString.call(n),"date");if(k(n))return u(n)}var w,b="",F=!1,E=["{","}"];return h(n)&&(F=!0,E=["[","]"]),T(n)&&(b=" [Function"+(n.name?": "+n.name:"")+"]"),$(n)&&(b=" "+RegExp.prototype.toString.call(n)),m(n)&&(b=" "+Date.prototype.toUTCString.call(n)),k(n)&&(b=" "+u(n)),0!==r.length||F&&0!=n.length?i<0?$(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=F?function(e,t,n,i,o){for(var s=[],r=0,a=t.length;r<a;++r)j(t,String(r))?s.push(c(e,t,n,i,String(r),!0)):s.push("");return o.forEach(function(o){o.match(/^\d+$/)||s.push(c(e,t,n,i,o,!0))}),s}(e,n,i,a,r):r.map(function(t){return c(e,n,i,a,t,F)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(w,b,E)):E[0]+b+E[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function c(e,t,n,i,o,s){var r,a,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),j(i,o)||(r="["+o+"]"),a||(e.seen.indexOf(l.value)<0?(a=v(n)?d(e,l.value,null):d(e,l.value,n-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),f(r)){if(s&&o.match(/^\d+$/))return a;(r=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=e.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=e.stylize(r,"string"))}return r+": "+a}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function v(e){return null===e}function y(e){return"number"==typeof e}function g(e){return"string"==typeof e}function f(e){return void 0===e}function $(e){return w(e)&&"[object RegExp]"===b(e)}function w(e){return"object"==typeof e&&null!==e}function m(e){return w(e)&&"[object Date]"===b(e)}function k(e){return w(e)&&("[object Error]"===b(e)||e instanceof Error)}function T(e){return"function"==typeof e}function b(e){return Object.prototype.toString.call(e)}function F(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(f(o)&&(o=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(o)){var n=process.pid;s[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else s[e]=function(){};return s[e]},t.inspect=r,r.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=p,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=y,t.isString=g,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=f,t.isRegExp=$,t.isObject=w,t.isDate=m,t.isError=k,t.isFunction=T,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function j(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[F((e=new Date).getHours()),F(e.getMinutes()),F(e.getSeconds())].join(":"),[e.getDate(),E[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),o=n.shift();return i&&o&&(e[i]=o),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<i.length;o++)if((n=i[o])===t||n.fn===t){i.splice(o,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var o=(n=n.slice(0)).length;i<o;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},965(){}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>$l});var e,t=n(585),o=n.n(t);class s{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new s,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=le.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}s.prototype.linkFirst=null,s.prototype.linkPrev=null,s.prototype.linkNext=null,s.prototype.linkLast=null,s.prototype.apiClient=null,s.prototype.page=null,s.prototype.resultsPerPage=null,s.prototype.resultsTotal=null;var r=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(r)}const l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var d=[],u=0;u<256;++u)d.push((u+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&l.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=i[o];return t}return c(i)};var p=n(540),v=n.n(p),y=n(545),g=n.n(y),f=n(799),$=n.n(f),w=n(784),m=n.n(w),k=n(548);const T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const b=T;class F{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class E{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var j=new WeakSet;class O{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=j),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new O,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,128))return new E("name","does not satisfy required maxLength constraint: 128");if(!F.validateMinLength(this.name,3))return new E("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("value","undefined or null")}}function I(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}O.prototype.name=void 0,O.prototype.value=!1,O.prototype.$reserved=void 0,O.prototype.$objectType=void 0,O.prototype.$unknownFields=void 0;var P=new WeakSet;class R{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=P),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new R,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:I(P,this,x).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:I(P,this,x).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("map","undefined or null")}}function x(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function A(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}R.prototype.map=void 0,R.prototype.$reserved=void 0,R.prototype.$objectType=void 0,R.prototype.$unknownFields=void 0;var C=new WeakSet;class S{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=C),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new S,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(r=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],s=0;s<i.length;s++)switch(a){case"string":case"integer":case"number":r.push(i[s]);break;case"common.v1.config.MapOfStringWrapper":o=R.constructFromObject(i[s],void 0),r.push(o);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(r)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)));break;default:throw"Unknown datatype "+a+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):A(C,this,D).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):A(C,this,D).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,128))return new E("name","does not satisfy required maxLength constraint: 128");if(!F.validateMinLength(this.name,3))return new E("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("value","undefined or null")}}function D(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}S.prototype.name=void 0,S.prototype.value=void 0,S.prototype.$reserved=void 0,S.prototype.$objectType=void 0,S.prototype.$unknownFields=void 0;const N={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(N).find(t=>N[t]===e);return null==t?N.$UNKNOWN:N[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case N.$UNKNOWN:case N.$REDACTED:case N.INFO:case N.WARNING:case N.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(N);const U=N;var M=new WeakSet;class J{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=M),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new J,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(U.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("severity","undefined or null"):new E("locale","undefined or null"):new E("message","undefined or null"):new E("code","undefined or null")}}J.prototype.code=void 0,J.prototype.message=void 0,J.prototype.locale="en_US",J.prototype.severity=void 0,J.prototype.$reserved=void 0,J.prototype.$objectType=void 0,J.prototype.$unknownFields=void 0;var _=new WeakSet;class L{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=_),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new L,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("rel","undefined or null"):new E("href","undefined or null")}}L.prototype.href=void 0,L.prototype.rel=void 0,L.prototype.$reserved=void 0,L.prototype.$objectType=void 0,L.prototype.$unknownFields=void 0;var G,V=new WeakSet;class W{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=V),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new W,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(r=[],i=e.flags,s=0;s<i.length;s++)o=O.constructFromObject(i[s],void 0),r.push(o);t.setFlags(r)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,s=0;s<i.length;s++)o=L.constructFromObject(i[s],void 0),r.push(o);t.setLinks(r)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(r=[],i=e.messages,s=0;s<i.length;s++)o=J.constructFromObject(i[s],void 0),r.push(o);t.setMessages(r)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(r=[],i=e.extraInfo,s=0;s<i.length;s++)o=S.constructFromObject(i[s],void 0),r.push(o);t.setExtraInfo(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new E("flags","undefined or null");if(!F.validateMaxItems(this.flags,20))return new E("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new E("links","undefined or null");if(!F.validateMaxItems(this.links,20))return new E("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new E("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new E("messages","undefined or null");if(!F.validateMaxItems(this.messages,20))return new E("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new E("extraInfo","undefined or null");if(!F.validateMaxItems(this.extraInfo,20))return new E("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function B(e,t,n){q(e,t),t.set(e,n)}function q(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function z(e,t){return e.get(Y(e,t))}function K(e,t,n){return e.set(Y(e,t),n),n}function Y(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}W.prototype.flags=void 0,W.prototype.links=void 0,W.prototype.totalAvailableResults=void 0,W.prototype.messages=void 0,W.prototype.extraInfo=void 0,W.prototype.$reserved=void 0,W.prototype.$objectType=void 0,W.prototype.$unknownFields=void 0,v()(o());var H=new WeakMap,X=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap,se=new WeakMap,re=new WeakMap,ae=new WeakSet;class le{constructor(){var e;q(this,e=ae),e.add(this),B(this,H,void 0),B(this,X,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,oe,void 0),B(this,se,void 0),B(this,re,void 0),K(re,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",K(ie,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},K(ee,this,3e4),K(te,this,3e4),K(ne,this,108e5),this.readTimeout=z(te,this),this.connectTimeout=z(ee,this),this.cache=!0,K(X,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(o().agent)),this.requestAgent=null,K(se,this,null),this.allowVersionNegotiation=!0,K(oe,this,!1),this.debug=!1,K(Z,this,null),this.username=null,this.password=null,K(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(g().Agent)({rejectUnauthorized:e}),K(Q,this,e)}get verifySsl(){return z(Q,this)}set host(e){K(ie,this,e),K(oe,this,!1),K(se,this,null)}get host(){return z(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=$().createWriteStream(e,{flags:"a"})),K(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&K(X,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==z(se,this)&&null!==z(se,this)&&null!==z(se,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.2"!==z(se,this)){Y(ae,this,be).call(this,z(re,this).INFO,null,"Changing uri",e,"to negotiated version",z(se,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,z(se,this))}K(H,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==z(H,this)&&""!==this.host&&""!==this.port?i=z(H,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var o=i+e;return o.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){let i=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return z(se,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===z(oe,this)?this.callApiInternal("/api/dataprotection/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,o="v4.2";if(Y(ae,this,$e).call(this,Y(ae,this,we).call(this,i),Y(ae,this,we).call(this,o)))return Y(ae,this,be).call(this,z(re,this).WARN,null,"Server version",i,"is below minimum supported version",o,". Version negotiation will not be performed."),K(se,this,null),K(oe,this,!1),void n(e);K(se,this,Y(ae,this,fe).call(this,"v4.2",i)),K(oe,this,!0),Y(ae,this,be).call(this,z(re,this).INFO,null,"Negotiated Version with server :",z(se,this)),n(e)}else Y(ae,this,be).call(this,z(re,this).ERROR,null,"Could not fetch supported versions from server"),K(se,this,null),K(oe,this,!1),n(e)}).catch(t=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Could not fetch supported versions from server"),K(se,this,null),K(oe,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,o,s,r,a,l,d,u){return this.negotiateVersion(this,a).then(function(c){return c.callApiInternal(e,t,n,i,o,s,r,a,l,d,u)})}callApiInternal(e,t,i,s,r,a,l,d,u,c,p){var v=this.buildUrl(e,i);const y="undefined"!=typeof window&&void 0!==window.document;let g=["application/octet-stream","application/pdf","application/zip"];if(c&&c.length>0&&c.some(e=>g.includes(e))&&y&&this.downloadDestination)return new Promise((e,n)=>{const i=Y(ae,this,Oe).call(this,v,t,s,r,l,d,u,c);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,Y(ae,this,be).call(this,z(re,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";Y(ae,this,be).call(this,z(re,this).ERROR,null,e),n(e)}const i=t.body.getReader(),o=this.downloadDestination.getWriter(),s=()=>i.read().then(({done:n,value:i})=>(n&&(o.close(),Y(ae,this,be).call(this,z(re,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),o.write(i).then(s)));return s()}).catch(e=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Caught the following error :",e),n(e)})});var f=o()(t,v);if(f.oldCallback=f.callback,f.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},Y(ae,this,pe).call(this,f,d),"GET"===t.toUpperCase()&&!1===this.cache&&(s._=(new Date).getTime()),f.query(Y(ae,this,he).call(this,s)),f.set(this.defaultHeaders).set(Y(ae,this,he).call(this,r)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==r["NTNX-Request-Id"]&&void 0!==r["NTNX-Request-Id"])){let e=h();f.set(Y(ae,this,he).call(this,{"NTNX-Request-Id":e}))}y||(this.downloadDestination=".",f.set(Y(ae,this,he).call(this,{"User-Agent":"Nutanix-dataprotection-js-client/4.2.1"}))),this.requestAgent&&f.agent(this.requestAgent);var w={};w.response=Y(ae,this,me).call(this,this.connectTimeout,z(ee,this)),w.deadline=Y(ae,this,me).call(this,this.readTimeout,z(te,this)),f.timeout(w);var m=r.hasOwnProperty("Content-Type")?r["Content-Type"]:Y(ae,this,ue).call(this,u);if(m?"multipart/form-data"!=m&&f.type(m):f.header["Content-Type"]||f.type("application/json"),Y(ae,this,be).call(this,z(re,this).INFO,null,"Request URL :",t,v),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Request Headers :",void 0===f.header?"":f.header),"application/x-www-form-urlencoded"===m)f.send(Y(ae,this,he).call(this,a));else if("multipart/form-data"==m){var k=Y(ae,this,he).call(this,a);for(var T in k)k.hasOwnProperty(T)&&(Y(ae,this,ce).call(this,k[T])?f.attach(T,k[T]):f.field(T,k[T]))}else{if("application/octet-stream"===m&&null!=l&&"function"==typeof l.pipe){if(Y(ae,this,be).call(this,z(re,this).INFO,null,"Piping octet-stream request"),"function"==typeof l.pipe)l.pipe(f);else{let e;try{e=n(965)}catch(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"Error fetching steam/web")}l instanceof e.ReadableStream?l.pipeTo(new e.WritableStream({write(e){f.write(e)},close(){Y(ae,this,be).call(this,z(re,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"READABLE STREAM ABORTED")}})):f.send(l)}return new Promise((t,n)=>{f.on("error",e=>{Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{Y(ae,this,je).call(this,i,e,s,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&l&&f.send(l)}"Blob"==typeof p?f.responseType("blob"):"String"===p&&f.responseType("string"),Y(ae,this,Te).call(this,f),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Request Body :",void 0===f._data?"":f._data);var b=r.hasOwnProperty("Accept")&&null!=r.Accept?r.Accept:c.join(", ");return b&&f.accept(b),new Promise((n,i)=>{f.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught the following error :",e)}).end((r,a)=>{if(r)Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught error during the request!"),Y(ae,this,be).call(this,z(re,this).ERROR,null,r),404===r.status&&(K(oe,this,!1),K(se,this,null)),null!==r.response&&void 0!==r.response?r.data=Y(ae,this,ye).call(this,r.response,p):r.data=Y(ae,this,ve).call(this,r),i(r);else{Y(ae,this,be).call(this,z(re,this).INFO,null,"Response Status :",a.status),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Response Headers :",a.headers);let r="";if(a.headers.hasOwnProperty("content-type")&&(r=a.headers["content-type"]),g.includes(r)){if(!y){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=$().createWriteStream(e);Y(ae,this,Ie).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",s=this;Y(ae,this,be).call(this,z(re,this).INFO,null,"Redirecting to :",a.headers.location);var l=o()(t,a.headers.location);l.set(f.header),a.headers.hasOwnProperty("x-redirect-token")&&(Y(ae,this,be).call(this,z(re,this).INFO,null,"Writing X-Redirect-Token into Cookie"),l.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&l.agent(this.requestAgent),l.redirects(0),l.withCredentials(this.withCredentials),l.buffer(!1);let r=$().createWriteStream(e);l.pipe(r),l.on("response",function(t){Y(ae,s,be).call(s,z(re,s).INFO,null,"Received response after redirection :",t.status),Y(ae,s,Ie).call(s,t,r,e,n,i,p)})}else Y(ae,this,je).call(this,a,e,s,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let o=null;if(void 0!==t&&t.hasOwnProperty(n)&&(o=t[n]),null===o&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(o=i[1])}return null===o&&(o=i),o}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return le.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>le.convertToType(e,n))}if("object"==typeof t){var i,o;for(var s in t)if(t.hasOwnProperty(s)){i=s,o=t[s];break}var r={};for(var s in e)if(e.hasOwnProperty(s)){var a=le.convertToType(s,i),l=le.convertToType(e[s],o);r[a]=l}return r}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=le.convertToType(e[i],n));else for(var o in e)e.hasOwnProperty(o)&&(t[o]=le.convertToType(e[o],n))}}function de(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(Y(ae,this,de).call(this,e[t]))return e[t];return e[0]}function ce(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof k.Blob&&e instanceof k.Blob||"function"==typeof File&&e instanceof File}function he(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];Y(ae,this,ce).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function pe(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,be).call(this,z(re,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ve(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ye(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(n=new t).data=new k.Blob([e.text],{type:e.headers["content-type"]});let i=new O;i.name="hasError",i.value=!1;let o=[i],s=new W;return s.flags=o,n.metadata=s,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),G.convertToType(n,t)}function ge(e,t,n){if(!(e instanceof s))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),o=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,o)}function fe(e,t){if(!e||!t)return e;let n=Y(ae,this,we).call(this,e),i=Y(ae,this,we).call(this,t);return!n.family===i.family||Y(ae,this,$e).call(this,n,i)?e:t}function $e(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),o=parseInt(e.versionType.substring(1)),s="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?o<s:"a"===n||"released"===t.versionType}function we(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function me(e,t){return e<=0?e=t:e>z(ne,this)&&(e=z(ne,this)),e}function ke(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}K(X,this,t),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Retained cookie :",t)}else K(X,this,null)}function Te(e){null!=z(X,this)&&e.set(Y(ae,this,he).call(this,{Cookie:z(X,this)}))}function be(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=z(re,this).INFO),!Y(ae,this,Fe).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==z(Z,this)&&null!==z(Z,this)&&"function"==typeof z(Z,this).log?z(Z,this).log(i):console.log(i)}}function Fe(e){return!this.debug&&e===z(re,this).DEBUG}function Ee(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function je(e,t,n,i,o,s){try{var r=Y(ae,this,ye).call(this,e,i);Y(ae,this,be).call(this,z(re,this).INFO,null,"Response Status :",e.status),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Response Headers :",e.headers),Y(ae,this,ke).call(this,e||{}),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Response Body :",r),204==e.status&&null==r?o({data:r,response:e}):e.ok&&null!=r?(this.addEtagToReservedMap(e,r),Y(ae,this,ge).call(this,r,t,n),o({data:r,response:e})):(Y(ae,this,be).call(this,z(re,this).ERROR,null,r),s({...e.error,data:r}))}catch(e){Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught error while processing response!"),Y(ae,this,be).call(this,z(re,this).ERROR,null,e),e.data=Y(ae,this,ve).call(this,e),s(e)}}function Oe(e,t,n,i,o,s,r,a){let l={};s.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);l.Authorization=`Basic ${t}`}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?l[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(l.Authorization="Bearer "+t.accessToken),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,be).call(this,z(re,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const d=Y(ae,this,he).call(this,n),u=Object.keys(d).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d[e])}`).join("&");let c=e;u&&(c+=(c.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...Y(ae,this,he).call(this,i),...l};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=h();p["NTNX-Request-Id"]=e}null!=z(X,this)&&(p.Cookie=Y(ae,this,he).call(this,{Cookie:z(X,this)}));var v=i.hasOwnProperty("Content-Type")?i["Content-Type"]:Y(ae,this,ue).call(this,r);p["Content-Type"]=v;var y=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return y&&(p.Accept=y),Y(ae,this,be).call(this,z(re,this).INFO,null,"Request URL :",t,e),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Request Headers :",p),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Request Body :",o||""),{url:c,options:{method:t,headers:p,body:o,credentials:this.withCredentials?"include":"same-origin"}}}function Ie(e,t,n,i,o,s){Y(ae,this,be).call(this,z(re,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"Issue while downloading file",e)}let r=new s,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=m().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,r.data={path:m().parse(a),$objectType:"Path"};let i=new O;i.name="hasError",i.value=!1;let o=[i],s=new W;s.flags=o,r.metadata=s}e.on("end",()=>{Y(ae,this,be).call(this,z(re,this).INFO,null,"Finished streaming response"),0!==a.length?(Y(ae,this,be).call(this,z(re,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),$().renameSync(n,a),i({data:r,response:e})):(Y(ae,this,be).call(this,z(re,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:r,response:e}))}),e.on("error",e=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Caught the following error :",e),error.data=Y(ae,this,ve).call(this,error),o(e)})}G=le,le.instance=new le;var Pe=new WeakSet;class Re{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pe),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Re,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new E("tenantId","undefined or null");if(!F.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Re.prototype.tenantId=void 0,Re.prototype.$reserved=void 0,Re.prototype.$objectType=void 0,Re.prototype.$unknownFields=void 0;var xe=new WeakSet;class Ae extends Re{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xe),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ae,Re.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,s=0;s<i.length;s++)o=L.constructFromObject(i[s],void 0),r.push(o);t.setLinks(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(null==e){if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===b.update&&!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new E("links","undefined or null");if(!F.validateMaxItems(this.links,20))return new E("links","does not satisfy required maxItems constraint: 20")}return new E(t,"no such property exists")}}Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const Ce={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUPPORTS_NEAR_SYNC:"SUPPORTS_NEAR_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ce).find(t=>Ce[t]===e);return null==t?Ce.$UNKNOWN:Ce[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ce.$UNKNOWN:case Ce.$REDACTED:case Ce.SUPPORTS_NEAR_SYNC:return;default:throw new Error("Invalid : must be DataProtectionCapabilityName.{ $UNKNOWN|$REDACTED|SUPPORTS_NEAR_SYNC }")}}};Object.freeze(Ce);const Se=Ce;var De=new WeakSet;class Ne{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=De),i.add(n),this.capabilityName=e,this.isSupported=t,this.$objectType="dataprotection.v4.config.Capability",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ne,e.hasOwnProperty("capabilityName")&&null!==e.capabilityName&&void 0!==e.capabilityName&&t.setCapabilityName(Se.constructFromObject(e.capabilityName)),e.hasOwnProperty("isSupported")&&null!==e.isSupported&&void 0!==e.isSupported&&t.setIsSupported(e.isSupported),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCapabilityName(){return this.capabilityName}setCapabilityName(e){this.capabilityName=e}getIsSupported(){return this.isSupported}setIsSupported(e){this.isSupported=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCapabilityName()&&null!==this.getCapabilityName()?{capabilityName:this.getCapabilityName()}:{},...void 0!==this.getIsSupported()&&null!==this.getIsSupported()?{isSupported:this.getIsSupported()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["capabilityName","isSupported"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"capabilityName"!==t||void 0!==this.capabilityName&&null!==this.capabilityName?"isSupported"!==t||void 0!==this.isSupported&&null!==this.isSupported?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("isSupported","undefined or null"):new E("capabilityName","undefined or null")}}Ne.prototype.capabilityName=void 0,Ne.prototype.isSupported=void 0,Ne.prototype.$reserved=void 0,Ne.prototype.$objectType=void 0,Ne.prototype.$unknownFields=void 0;var Ue=new WeakSet;class Me extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ue),t.add(e),this.$objectType="dataprotection.v4.config.DataProtectionClusterCapability",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Me,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("capabilities")&&null!==e.capabilities&&void 0!==e.capabilities){for(r=[],i=e.capabilities,s=0;s<i.length;s++)o=Ne.constructFromObject(i[s],void 0),r.push(o);t.setCapabilities(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getCapabilities(){return this.capabilities}setCapabilities(e){this.capabilities=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCapabilities()&&null!==this.getCapabilities()?{capabilities:this.getCapabilities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("capabilities"===t){if(void 0===this.capabilities||null===this.capabilities)return new E("capabilities","undefined or null");if(!F.validateMaxItems(this.capabilities,10))return new E("capabilities","does not satisfy required maxItems constraint: 10")}return new E(t,"no such property exists")}}Me.prototype.clusterExtId=void 0,Me.prototype.capabilities=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Je extends Me{constructor(){super(),this.$objectType="dataprotection.v4.config.DataProtectionClusterCapabilityProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Je,Me.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function _e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Le=new WeakSet;class Ge{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Le),t.add(e),this.$objectType="dataprotection.v4.error.AppMessage",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ge,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(U.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:_e(Le,this,Ve).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:_e(Le,this,Ve).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("argumentsMap","undefined or null"):new E("errorGroup","undefined or null"):new E("locale","undefined or null"):new E("code","undefined or null"):new E("severity","undefined or null"):new E("message","undefined or null")}}function Ve(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ge.prototype.message=void 0,Ge.prototype.severity=void 0,Ge.prototype.code=void 0,Ge.prototype.locale="en_US",Ge.prototype.errorGroup=void 0,Ge.prototype.argumentsMap=void 0,Ge.prototype.$reserved=void 0,Ge.prototype.$objectType=void 0,Ge.prototype.$unknownFields=void 0;var We=new WeakSet;class Be{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=We),t.add(e),this.$objectType="dataprotection.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Be,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("attributePath","undefined or null"):new E("message","undefined or null"):new E("location","undefined or null")}}function qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Be.prototype.location=void 0,Be.prototype.message=void 0,Be.prototype.attributePath=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var ze=new WeakSet;class Ke{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ze),t.add(e),this.$objectType="dataprotection.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ke,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(r=[],i=e.validationErrorMessages,s=0;s<i.length;s++)o=Be.constructFromObject(i[s],void 0),r.push(o);t.setValidationErrorMessages(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:qe(ze,this,Ye).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("validationErrorMessages","undefined or null"):new E("path","undefined or null"):new E("error","undefined or null"):new E("statusCode","undefined or null"):new E("timestamp","undefined or null")}}function Ye(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function He(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ke.prototype.timestamp=void 0,Ke.prototype.statusCode=void 0,Ke.prototype.error=void 0,Ke.prototype.path=void 0,Ke.prototype.validationErrorMessages=void 0,Ke.prototype.$reserved=void 0,Ke.prototype.$objectType=void 0,Ke.prototype.$unknownFields=void 0;var Xe=new WeakSet;class Ze{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xe),t.add(e),this.$objectType="dataprotection.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new Ze,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(r=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],s=0;s<i.length;s++){if("dataprotection.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";o=Ge.constructFromObject(i[s],void 0),r.push(o)}t.setError(r)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"dataprotection.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Ke.constructFromObject(e.error,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):He(Xe,this,Qe).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):He(Xe,this,Qe).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("error","undefined or null")}}function Qe(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function et(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ze.prototype.error=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var tt=new WeakSet;class nt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=tt),t.add(e),this.$objectType="dataprotection.v4.config.ListDPClusterCapabilitiesApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new nt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.DataProtectionClusterCapability":o=Me.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.DataProtectionClusterCapabilityProjection":o=Je.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):et(tt,this,it).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):et(tt,this,it).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function it(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}nt.prototype.metadata=void 0,nt.prototype.data=void 0,nt.prototype.$reserved=void 0,nt.prototype.$objectType=void 0,nt.prototype.$unknownFields=void 0;const ot={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ot).find(t=>ot[t]===e);return null==t?ot.$UNKNOWN:ot[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ot.$UNKNOWN:case ot.$REDACTED:case ot.VM:case ot.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ConsistencyGroupMemberType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(ot);const st=ot;var rt=new WeakSet;class at{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=rt),i.add(n),this.entityExtId=e,this.entityType=t,this.$objectType="dataprotection.v4.config.ConsistencyGroupMember",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new at,e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&t.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(st.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityExtId(){return this.entityExtId}setEntityExtId(e){this.entityExtId=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["entityExtId","entityType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new E("entityExtId","undefined or null");if(!F.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}at.prototype.entityExtId=void 0,at.prototype.entityType=void 0,at.prototype.$reserved=void 0,at.prototype.$objectType=void 0,at.prototype.$unknownFields=void 0;var lt=new WeakSet;class dt extends Ae{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=lt),i.add(n),this.name=e,this.members=t,this.$objectType="dataprotection.v4.config.ConsistencyGroup",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new dt,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("members")&&null!==e.members&&void 0!==e.members){for(r=[],i=e.members,s=0;s<i.length;s++)o=at.constructFromObject(i[s],void 0),r.push(o);t.setMembers(r)}if(e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&t.setProtectionPolicyExtId(e.protectionPolicyExtId),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}getMembers(){return this.members}setMembers(e){this.members=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getProtectionPolicyExtId(){return this.protectionPolicyExtId}setProtectionPolicyExtId(e){this.protectionPolicyExtId=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","members"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("members"===t){if(void 0===this.members||null===this.members)return new E("members","undefined or null");if(!F.validateMaxItems(this.members,30))return new E("members","does not satisfy required maxItems constraint: 30");if(!F.validateMinItems(this.members,1))return new E("members","does not satisfy required minItems constraint: 1")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new E("protectionPolicyExtId","undefined or null");if(!F.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}function ut(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dt.prototype.name=void 0,dt.prototype.ownerExtId=void 0,dt.prototype.members=void 0,dt.prototype.clusterExtId=void 0,dt.prototype.protectionPolicyExtId=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var ct=new WeakSet;class ht extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ct),t.add(e),this.$objectType="dataprotection.v4.config.GetConsistencyGroupApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ht,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.ConsistencyGroup":t.setData(dt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ut(ct,this,pt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ut(ct,this,pt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function pt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function vt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ht.prototype.metadata=void 0,ht.prototype.data=void 0,ht.prototype.$reserved=void 0,ht.prototype.$objectType=void 0,ht.prototype.$unknownFields=void 0;var yt=new WeakSet;class gt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yt),t.add(e),this.$objectType="dataprotection.v4.config.UpdateConsistencyGroupApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new gt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("dataprotection.v4.error.AppMessage"!==l)throw"Unknown list of type "+l+" in data";o=Ge.constructFromObject(i[r],void 0),a.push(o)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vt(yt,this,ft).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vt(yt,this,ft).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function ft(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function $t(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}gt.prototype.metadata=void 0,gt.prototype.data=void 0,gt.prototype.$reserved=void 0,gt.prototype.$objectType=void 0,gt.prototype.$unknownFields=void 0;var wt=new WeakSet;class mt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=wt),t.add(e),this.$objectType="dataprotection.v4.config.CreateConsistencyGroupApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.ConsistencyGroup":t.setData(dt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):$t(wt,this,kt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):$t(wt,this,kt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function kt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Tt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mt.prototype.metadata=void 0,mt.prototype.data=void 0,mt.prototype.$reserved=void 0,mt.prototype.$objectType=void 0,mt.prototype.$unknownFields=void 0;var bt=new WeakSet;class Ft extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=bt),t.add(e),this.$objectType="dataprotection.v4.config.DeleteConsistencyGroupApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ft,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Tt(bt,this,Et).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Tt(bt,this,Et).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Et(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ft.prototype.metadata=void 0,Ft.prototype.data=void 0,Ft.prototype.$reserved=void 0,Ft.prototype.$objectType=void 0,Ft.prototype.$unknownFields=void 0;class jt extends dt{constructor(e,t){super(e,t),this.$objectType="dataprotection.v4.config.ConsistencyGroupProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jt,dt.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","members"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Ot(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var It=new WeakSet;class Pt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=It),t.add(e),this.$objectType="dataprotection.v4.config.ListConsistencyGroupsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Pt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.ConsistencyGroup":o=dt.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.ConsistencyGroupProjection":o=jt.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ot(It,this,Rt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ot(It,this,Rt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Rt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Pt.prototype.metadata=void 0,Pt.prototype.data=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;var xt=new WeakSet;class At{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xt),n.add(t),this.domainManagerExtId=e,this.$objectType="dataprotection.v4.config.DataProtectionSiteReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new At,e.hasOwnProperty("domainManagerExtId")&&null!==e.domainManagerExtId&&void 0!==e.domainManagerExtId&&t.setDomainManagerExtId(e.domainManagerExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDomainManagerExtId(){return this.domainManagerExtId}setDomainManagerExtId(e){this.domainManagerExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDomainManagerExtId()&&null!==this.getDomainManagerExtId()?{domainManagerExtId:this.getDomainManagerExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["domainManagerExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("domainManagerExtId"===t){if(void 0===this.domainManagerExtId||null===this.domainManagerExtId)return new E("domainManagerExtId","undefined or null");if(!F.validatePattern(this.domainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("domainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}At.prototype.domainManagerExtId=void 0,At.prototype.clusterExtId=void 0,At.prototype.$reserved=void 0,At.prototype.$objectType=void 0,At.prototype.$unknownFields=void 0;const Ct={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ct).find(t=>Ct[t]===e);return null==t?Ct.$UNKNOWN:Ct[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ct.$UNKNOWN:case Ct.$REDACTED:case Ct.VM:case Ct.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ProtectedEntityType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(Ct);const St=Ct,Dt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IN_SYNC:"IN_SYNC",SYNCING:"SYNCING",OUT_OF_SYNC:"OUT_OF_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Dt).find(t=>Dt[t]===e);return null==t?Dt.$UNKNOWN:Dt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Dt.$UNKNOWN:case Dt.$REDACTED:case Dt.IN_SYNC:case Dt.SYNCING:case Dt.OUT_OF_SYNC:return;default:throw new Error("Invalid : must be ProtectedResourceReplicationStatus.{ $UNKNOWN|$REDACTED|IN_SYNC|SYNCING|OUT_OF_SYNC }")}}};Object.freeze(Dt);const Nt=Dt;var Ut=new WeakSet;class Mt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ut),t.add(e),this.$objectType="dataprotection.v4.config.ReplicationState",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mt,e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&t.setProtectionPolicyExtId(e.protectionPolicyExtId),e.hasOwnProperty("recoveryPointObjectiveSeconds")&&null!==e.recoveryPointObjectiveSeconds&&void 0!==e.recoveryPointObjectiveSeconds&&t.setRecoveryPointObjectiveSeconds(e.recoveryPointObjectiveSeconds),e.hasOwnProperty("replicationStatus")&&null!==e.replicationStatus&&void 0!==e.replicationStatus&&t.setReplicationStatus(Nt.constructFromObject(e.replicationStatus)),e.hasOwnProperty("targetSiteReference")&&null!==e.targetSiteReference&&void 0!==e.targetSiteReference&&t.setTargetSiteReference(At.constructFromObject(e.targetSiteReference)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProtectionPolicyExtId(){return this.protectionPolicyExtId}setProtectionPolicyExtId(e){this.protectionPolicyExtId=e}getRecoveryPointObjectiveSeconds(){return this.recoveryPointObjectiveSeconds}setRecoveryPointObjectiveSeconds(e){this.recoveryPointObjectiveSeconds=e}getReplicationStatus(){return this.replicationStatus}setReplicationStatus(e){this.replicationStatus=e}getTargetSiteReference(){return this.targetSiteReference}setTargetSiteReference(e){this.targetSiteReference=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{},...void 0!==this.getRecoveryPointObjectiveSeconds()&&null!==this.getRecoveryPointObjectiveSeconds()?{recoveryPointObjectiveSeconds:this.getRecoveryPointObjectiveSeconds()}:{},...void 0!==this.getReplicationStatus()&&null!==this.getReplicationStatus()?{replicationStatus:this.getReplicationStatus()}:{},...void 0!==this.getTargetSiteReference()&&null!==this.getTargetSiteReference()?{targetSiteReference:this.getTargetSiteReference().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new E("protectionPolicyExtId","undefined or null");if(!F.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveryPointObjectiveSeconds"===t){if(void 0===this.recoveryPointObjectiveSeconds||null===this.recoveryPointObjectiveSeconds)return new E("recoveryPointObjectiveSeconds","undefined or null");if(!F.validateMaximum(this.recoveryPointObjectiveSeconds,2419200))return new E("recoveryPointObjectiveSeconds","does not satisfy required maximum constraint: 2419200");if(!F.validateMinimum(this.recoveryPointObjectiveSeconds,0))return new E("recoveryPointObjectiveSeconds","does not satisfy required minimum constraint: 0")}return"replicationStatus"!==t||void 0!==this.replicationStatus&&null!==this.replicationStatus?"targetSiteReference"!==t||void 0!==this.targetSiteReference&&null!==this.targetSiteReference?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("targetSiteReference","undefined or null"):new E("replicationStatus","undefined or null")}}function Jt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Mt.prototype.protectionPolicyExtId=void 0,Mt.prototype.recoveryPointObjectiveSeconds=void 0,Mt.prototype.replicationStatus=void 0,Mt.prototype.targetSiteReference=void 0,Mt.prototype.$reserved=void 0,Mt.prototype.$objectType=void 0,Mt.prototype.$unknownFields=void 0;var _t=new WeakSet;class Lt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=_t),t.add(e),this.$objectType="dataprotection.v4.config.RestorableTimeRange",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Lt,e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:Jt(_t,this,Gt).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:Jt(_t,this,Gt).call(this,this.getEndTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"startTime"!==t||void 0!==this.startTime&&null!==this.startTime?"endTime"!==t||void 0!==this.endTime&&null!==this.endTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("endTime","undefined or null"):new E("startTime","undefined or null")}}function Gt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lt.prototype.startTime=void 0,Lt.prototype.endTime=void 0,Lt.prototype.$reserved=void 0,Lt.prototype.$objectType=void 0,Lt.prototype.$unknownFields=void 0;var Vt=new WeakSet;class Wt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vt),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryInfo",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Wt,e.hasOwnProperty("restorableTimeRanges")&&null!==e.restorableTimeRanges&&void 0!==e.restorableTimeRanges){for(r=[],i=e.restorableTimeRanges,s=0;s<i.length;s++)o=Lt.constructFromObject(i[s],void 0),r.push(o);t.setRestorableTimeRanges(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRestorableTimeRanges(){return this.restorableTimeRanges}setRestorableTimeRanges(e){this.restorableTimeRanges=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRestorableTimeRanges()&&null!==this.getRestorableTimeRanges()?{restorableTimeRanges:this.getRestorableTimeRanges().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("restorableTimeRanges"===t){if(void 0===this.restorableTimeRanges||null===this.restorableTimeRanges)return new E("restorableTimeRanges","undefined or null");if(!F.validateMaxItems(this.restorableTimeRanges,30))return new E("restorableTimeRanges","does not satisfy required maxItems constraint: 30")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Wt.prototype.restorableTimeRanges=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;const Bt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",SECONDARY:"SECONDARY",INDEPENDENT:"INDEPENDENT",DECOUPLED:"DECOUPLED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bt).find(t=>Bt[t]===e);return null==t?Bt.$UNKNOWN:Bt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bt.$UNKNOWN:case Bt.$REDACTED:case Bt.PRIMARY:case Bt.SECONDARY:case Bt.INDEPENDENT:case Bt.DECOUPLED:return;default:throw new Error("Invalid : must be SynchronousReplicationRole.{ $UNKNOWN|$REDACTED|PRIMARY|SECONDARY|INDEPENDENT|DECOUPLED }")}}};Object.freeze(Bt);const qt=Bt;var zt=new WeakSet;class Kt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=zt),t.add(e),this.$objectType="dataprotection.v4.config.SiteProtectionInfo",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kt,e.hasOwnProperty("recoveryInfo")&&null!==e.recoveryInfo&&void 0!==e.recoveryInfo&&t.setRecoveryInfo(Wt.constructFromObject(e.recoveryInfo)),e.hasOwnProperty("locationReference")&&null!==e.locationReference&&void 0!==e.locationReference&&t.setLocationReference(At.constructFromObject(e.locationReference)),e.hasOwnProperty("synchronousReplicationRole")&&null!==e.synchronousReplicationRole&&void 0!==e.synchronousReplicationRole&&t.setSynchronousReplicationRole(qt.constructFromObject(e.synchronousReplicationRole)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryInfo(){return this.recoveryInfo}setRecoveryInfo(e){this.recoveryInfo=e}getLocationReference(){return this.locationReference}setLocationReference(e){this.locationReference=e}getSynchronousReplicationRole(){return this.synchronousReplicationRole}setSynchronousReplicationRole(e){this.synchronousReplicationRole=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRecoveryInfo()&&null!==this.getRecoveryInfo()?{recoveryInfo:this.getRecoveryInfo().toJson(!1)}:{},...void 0!==this.getLocationReference()&&null!==this.getLocationReference()?{locationReference:this.getLocationReference().toJson(!1)}:{},...void 0!==this.getSynchronousReplicationRole()&&null!==this.getSynchronousReplicationRole()?{synchronousReplicationRole:this.getSynchronousReplicationRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"recoveryInfo"!==t||void 0!==this.recoveryInfo&&null!==this.recoveryInfo?"locationReference"!==t||void 0!==this.locationReference&&null!==this.locationReference?"synchronousReplicationRole"!==t||void 0!==this.synchronousReplicationRole&&null!==this.synchronousReplicationRole?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("synchronousReplicationRole","undefined or null"):new E("locationReference","undefined or null"):new E("recoveryInfo","undefined or null")}}Kt.prototype.recoveryInfo=void 0,Kt.prototype.locationReference=void 0,Kt.prototype.synchronousReplicationRole=void 0,Kt.prototype.$reserved=void 0,Kt.prototype.$objectType=void 0,Kt.prototype.$unknownFields=void 0;var Yt=new WeakSet;class Ht extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Yt),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResource",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ht,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&t.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(St.constructFromObject(e.entityType)),e.hasOwnProperty("sourceSiteReference")&&null!==e.sourceSiteReference&&void 0!==e.sourceSiteReference&&t.setSourceSiteReference(At.constructFromObject(e.sourceSiteReference)),e.hasOwnProperty("siteProtectionInfo")&&null!==e.siteProtectionInfo&&void 0!==e.siteProtectionInfo){for(r=[],i=e.siteProtectionInfo,s=0;s<i.length;s++)o=Kt.constructFromObject(i[s],void 0),r.push(o);t.setSiteProtectionInfo(r)}if(e.hasOwnProperty("replicationStates")&&null!==e.replicationStates&&void 0!==e.replicationStates){for(r=[],i=e.replicationStates,s=0;s<i.length;s++)o=Mt.constructFromObject(i[s],void 0),r.push(o);t.setReplicationStates(r)}if(e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("categoryFqNames")&&null!==e.categoryFqNames&&void 0!==e.categoryFqNames){for(r=[],i=e.categoryFqNames,s=0;s<i.length;s++)r.push(i[s]);t.setCategoryFqNames(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityExtId(){return this.entityExtId}setEntityExtId(e){this.entityExtId=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getSourceSiteReference(){return this.sourceSiteReference}setSourceSiteReference(e){this.sourceSiteReference=e}getSiteProtectionInfo(){return this.siteProtectionInfo}setSiteProtectionInfo(e){this.siteProtectionInfo=e}getReplicationStates(){return this.replicationStates}setReplicationStates(e){this.replicationStates=e}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getCategoryFqNames(){return this.categoryFqNames}setCategoryFqNames(e){this.categoryFqNames=e}toJson(e){return!1===e?{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{},...void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(e=>e.toJson(!1))}:{},...void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(e=>e.toJson(!1))}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{},...void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(e=>e.toJson(!1))}:{},...void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(e=>e.toJson(!1))}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new E("entityExtId","undefined or null");if(!F.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new E("entityType","undefined or null");if("sourceSiteReference"===t&&(void 0===this.sourceSiteReference||null===this.sourceSiteReference))return new E("sourceSiteReference","undefined or null");if("siteProtectionInfo"===t){if(void 0===this.siteProtectionInfo||null===this.siteProtectionInfo)return new E("siteProtectionInfo","undefined or null");if(!F.validateMaxItems(this.siteProtectionInfo,20))return new E("siteProtectionInfo","does not satisfy required maxItems constraint: 20")}if("replicationStates"===t){if(void 0===this.replicationStates||null===this.replicationStates)return new E("replicationStates","undefined or null");if(!F.validateMaxItems(this.replicationStates,20))return new E("replicationStates","does not satisfy required maxItems constraint: 20")}if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("categoryFqNames"===t){if(void 0===this.categoryFqNames||null===this.categoryFqNames)return new E("categoryFqNames","undefined or null");if(!F.validateMaxItems(this.categoryFqNames,1200))return new E("categoryFqNames","does not satisfy required maxItems constraint: 1200")}return new E(t,"no such property exists")}}function Xt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ht.prototype.entityExtId=void 0,Ht.prototype.entityType=void 0,Ht.prototype.sourceSiteReference=void 0,Ht.prototype.siteProtectionInfo=void 0,Ht.prototype.replicationStates=void 0,Ht.prototype.consistencyGroupExtId=void 0,Ht.prototype.categoryFqNames=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Zt=new WeakSet;class Qt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zt),t.add(e),this.$objectType="dataprotection.v4.config.GetProtectedResourceApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.ProtectedResource":t.setData(Ht.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xt(Zt,this,en).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Xt(Zt,this,en).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function en(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Qt.prototype.metadata=void 0,Qt.prototype.data=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;var tn=new WeakSet;class nn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=tn),t.add(e),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nn,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/))return new E("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function on(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}nn.prototype.extId=void 0,nn.prototype.$reserved=void 0,nn.prototype.$objectType=void 0,nn.prototype.$unknownFields=void 0;var sn=new WeakSet;class rn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=sn),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new rn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):on(sn,this,an).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):on(sn,this,an).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function an(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ln(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rn.prototype.metadata=void 0,rn.prototype.data=void 0,rn.prototype.$reserved=void 0,rn.prototype.$objectType=void 0,rn.prototype.$unknownFields=void 0;var dn=new WeakSet;class un extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dn),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResourcePromoteApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new un,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ln(dn,this,cn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ln(dn,this,cn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function cn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function hn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}un.prototype.metadata=void 0,un.prototype.data=void 0,un.prototype.$reserved=void 0,un.prototype.$objectType=void 0,un.prototype.$unknownFields=void 0;var pn=new WeakSet;class vn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=pn),n.add(t),this.clusterExtId=e,this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vn,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("restoreTime")&&null!==e.restoreTime&&void 0!==e.restoreTime&&t.setRestoreTime(e.restoreTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getRestoreTime(){return this.restoreTime}setRestoreTime(e){this.restoreTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getRestoreTime()&&null!==this.getRestoreTime()?{restoreTime:hn(pn,this,yn).call(this,this.getRestoreTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["clusterExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"restoreTime"!==t||void 0!==this.restoreTime&&null!==this.restoreTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("restoreTime","undefined or null")}}function yn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vn.prototype.clusterExtId=void 0,vn.prototype.restoreTime=void 0,vn.prototype.$reserved=void 0,vn.prototype.$objectType=void 0,vn.prototype.$unknownFields=void 0;var fn=new WeakSet;class $n extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=fn),t.add(e),this.$objectType="dataprotection.v4.operations.UnplannedFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gn(fn,this,wn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gn(fn,this,wn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function wn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$n.prototype.metadata=void 0,$n.prototype.data=void 0,$n.prototype.$reserved=void 0,$n.prototype.$objectType=void 0,$n.prototype.$unknownFields=void 0;var mn=new WeakSet;class kn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=mn),n.add(t),this.extId=e,this.$objectType="dataprotection.v4.config.EntityReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kn,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["extId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}kn.prototype.extId=void 0,kn.prototype.$reserved=void 0,kn.prototype.$objectType=void 0,kn.prototype.$unknownFields=void 0;var Tn=new WeakSet;class bn{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Tn),i.add(n),this.sourceDomainManagerExtId=e,this.targetDomainManagerExtId=t,this.$objectType="dataprotection.v4.config.FailoverDirection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bn,e.hasOwnProperty("sourceDomainManagerExtId")&&null!==e.sourceDomainManagerExtId&&void 0!==e.sourceDomainManagerExtId&&t.setSourceDomainManagerExtId(e.sourceDomainManagerExtId),e.hasOwnProperty("sourceCluster")&&null!==e.sourceCluster&&void 0!==e.sourceCluster&&t.setSourceCluster(kn.constructFromObject(e.sourceCluster)),e.hasOwnProperty("targetDomainManagerExtId")&&null!==e.targetDomainManagerExtId&&void 0!==e.targetDomainManagerExtId&&t.setTargetDomainManagerExtId(e.targetDomainManagerExtId),e.hasOwnProperty("targetCluster")&&null!==e.targetCluster&&void 0!==e.targetCluster&&t.setTargetCluster(kn.constructFromObject(e.targetCluster)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSourceDomainManagerExtId(){return this.sourceDomainManagerExtId}setSourceDomainManagerExtId(e){this.sourceDomainManagerExtId=e}getSourceCluster(){return this.sourceCluster}setSourceCluster(e){this.sourceCluster=e}getTargetDomainManagerExtId(){return this.targetDomainManagerExtId}setTargetDomainManagerExtId(e){this.targetDomainManagerExtId=e}getTargetCluster(){return this.targetCluster}setTargetCluster(e){this.targetCluster=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSourceDomainManagerExtId()&&null!==this.getSourceDomainManagerExtId()?{sourceDomainManagerExtId:this.getSourceDomainManagerExtId()}:{},...void 0!==this.getSourceCluster()&&null!==this.getSourceCluster()?{sourceCluster:this.getSourceCluster().toJson(!1)}:{},...void 0!==this.getTargetDomainManagerExtId()&&null!==this.getTargetDomainManagerExtId()?{targetDomainManagerExtId:this.getTargetDomainManagerExtId()}:{},...void 0!==this.getTargetCluster()&&null!==this.getTargetCluster()?{targetCluster:this.getTargetCluster().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["sourceDomainManagerExtId","targetDomainManagerExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("sourceDomainManagerExtId"===t){if(void 0===this.sourceDomainManagerExtId||null===this.sourceDomainManagerExtId)return new E("sourceDomainManagerExtId","undefined or null");if(!F.validatePattern(this.sourceDomainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("sourceDomainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("sourceCluster"===t&&(void 0===this.sourceCluster||null===this.sourceCluster))return new E("sourceCluster","undefined or null");if("targetDomainManagerExtId"===t){if(void 0===this.targetDomainManagerExtId||null===this.targetDomainManagerExtId)return new E("targetDomainManagerExtId","undefined or null");if(!F.validatePattern(this.targetDomainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetDomainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"targetCluster"!==t||void 0!==this.targetCluster&&null!==this.targetCluster?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("targetCluster","undefined or null")}}bn.prototype.sourceDomainManagerExtId=void 0,bn.prototype.sourceCluster=void 0,bn.prototype.targetDomainManagerExtId=void 0,bn.prototype.targetCluster=void 0,bn.prototype.$reserved=void 0,bn.prototype.$objectType=void 0,bn.prototype.$unknownFields=void 0;var Fn=new WeakSet;class En{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Fn),i.add(n),this.name=e,this.failoverDirections=t,this.$objectType="dataprotection.v4.operations.BaseRecoveryPlanActionSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new En,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("failoverDirections")&&null!==e.failoverDirections&&void 0!==e.failoverDirections){for(r=[],i=e.failoverDirections,s=0;s<i.length;s++)o=bn.constructFromObject(i[s],void 0),r.push(o);t.setFailoverDirections(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getFailoverDirections(){return this.failoverDirections}setFailoverDirections(e){this.failoverDirections=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("failoverDirections"===t){if(void 0===this.failoverDirections||null===this.failoverDirections)return new E("failoverDirections","undefined or null");if(!F.validateMaxItems(this.failoverDirections,50))return new E("failoverDirections","does not satisfy required maxItems constraint: 50");if(!F.validateMinItems(this.failoverDirections,1))return new E("failoverDirections","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}En.prototype.name=void 0,En.prototype.failoverDirections=void 0,En.prototype.$reserved=void 0,En.prototype.$objectType=void 0,En.prototype.$unknownFields=void 0;var jn=new WeakSet;class On extends En{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=jn),i.add(n),this.$objectType="dataprotection.v4.operations.PlannedFailoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,En.constructFromObject(e,t,!0),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),e.hasOwnProperty("shouldLiveMigrateVMs")&&null!==e.shouldLiveMigrateVMs&&void 0!==e.shouldLiveMigrateVMs&&t.setShouldLiveMigrateVMs(e.shouldLiveMigrateVMs),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}getShouldLiveMigrateVMs(){return this.shouldLiveMigrateVMs}setShouldLiveMigrateVMs(e){this.shouldLiveMigrateVMs=e}toJson(e){return{...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getShouldLiveMigrateVMs()&&null!==this.getShouldLiveMigrateVMs()?{shouldLiveMigrateVMs:this.getShouldLiveMigrateVMs()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?"shouldLiveMigrateVMs"!==t||void 0!==this.shouldLiveMigrateVMs&&null!==this.shouldLiveMigrateVMs?new E(t,"no such property exists"):new E("shouldLiveMigrateVMs","undefined or null"):new E("shouldIgnoreWarnings","undefined or null")}}On.prototype.shouldIgnoreWarnings=!1,On.prototype.shouldLiveMigrateVMs=!1,En.prototype.name=void 0,En.prototype.failoverDirections=void 0;var In=new WeakSet;class Pn extends En{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=In),i.add(n),this.$objectType="dataprotection.v4.operations.TestFailoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pn,En.constructFromObject(e,t,!0),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}toJson(e){return{...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?new E(t,"no such property exists"):new E("shouldIgnoreWarnings","undefined or null")}}function Rn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pn.prototype.shouldIgnoreWarnings=!1,En.prototype.name=void 0,En.prototype.failoverDirections=void 0;var xn=new WeakSet;class An extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xn),t.add(e),this.$objectType="dataprotection.v4.operations.ValidateRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new An,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rn(xn,this,Cn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rn(xn,this,Cn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Cn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Sn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}An.prototype.metadata=void 0,An.prototype.data=void 0,An.prototype.$reserved=void 0,An.prototype.$objectType=void 0,An.prototype.$unknownFields=void 0;var Dn=new WeakSet;class Nn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dn),t.add(e),this.$objectType="dataprotection.v4.operations.CleanupRecoveryPlanResourcesApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sn(Dn,this,Un).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sn(Dn,this,Un).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Un(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Mn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Nn.prototype.metadata=void 0,Nn.prototype.data=void 0,Nn.prototype.$reserved=void 0,Nn.prototype.$objectType=void 0,Nn.prototype.$unknownFields=void 0;var Jn=new WeakSet;class _n extends En{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Jn),i.add(n),this.$objectType="dataprotection.v4.operations.UnplannedFailoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _n,En.constructFromObject(e,t,!0),e.hasOwnProperty("recoveryReferenceTime")&&null!==e.recoveryReferenceTime&&void 0!==e.recoveryReferenceTime&&t.setRecoveryReferenceTime(e.recoveryReferenceTime),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryReferenceTime(){return this.recoveryReferenceTime}setRecoveryReferenceTime(e){this.recoveryReferenceTime=e}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}toJson(e){return{...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:Mn(Jn,this,Ln).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"recoveryReferenceTime"!==t||void 0!==this.recoveryReferenceTime&&null!==this.recoveryReferenceTime?"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?new E(t,"no such property exists"):new E("shouldIgnoreWarnings","undefined or null"):new E("recoveryReferenceTime","undefined or null")}}function Ln(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_n.prototype.recoveryReferenceTime=void 0,_n.prototype.shouldIgnoreWarnings=!1,En.prototype.name=void 0,En.prototype.failoverDirections=void 0;var Vn=new WeakSet;class Wn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vn),t.add(e),this.$objectType="dataprotection.v4.operations.TestFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Gn(Vn,this,Bn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Gn(Vn,this,Bn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Bn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Wn.prototype.metadata=void 0,Wn.prototype.data=void 0,Wn.prototype.$reserved=void 0,Wn.prototype.$objectType=void 0,Wn.prototype.$unknownFields=void 0;var zn=new WeakSet;class Kn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=zn),t.add(e),this.$objectType="dataprotection.v4.operations.PlannedFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Kn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qn(zn,this,Yn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qn(zn,this,Yn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Yn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Kn.prototype.metadata=void 0,Kn.prototype.data=void 0,Kn.prototype.$reserved=void 0,Kn.prototype.$objectType=void 0,Kn.prototype.$unknownFields=void 0;const Hn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUCCEEDED:"SUCCEEDED",RUNNING:"RUNNING",ABORTED:"ABORTED",FAILED:"FAILED",QUEUED:"QUEUED",SUCCEEDED_WITH_VALIDATION_WARNING:"SUCCEEDED_WITH_VALIDATION_WARNING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Hn).find(t=>Hn[t]===e);return null==t?Hn.$UNKNOWN:Hn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Hn.$UNKNOWN:case Hn.$REDACTED:case Hn.SUCCEEDED:case Hn.RUNNING:case Hn.ABORTED:case Hn.FAILED:case Hn.QUEUED:case Hn.SUCCEEDED_WITH_VALIDATION_WARNING:return;default:throw new Error("Invalid : must be RecoveryPlanJobExecutionStatus.{ $UNKNOWN|$REDACTED|SUCCEEDED|RUNNING|ABORTED|FAILED|QUEUED|SUCCEEDED_WITH_VALIDATION_WARNING }")}}};Object.freeze(Hn);const Xn=Hn,Zn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRE_PROCESSING:"PRE_PROCESSING",ENTITY_RECOVERY:"ENTITY_RECOVERY",POST_PROCESSING:"POST_PROCESSING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Zn).find(t=>Zn[t]===e);return null==t?Zn.$UNKNOWN:Zn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Zn.$UNKNOWN:case Zn.$REDACTED:case Zn.PRE_PROCESSING:case Zn.ENTITY_RECOVERY:case Zn.POST_PROCESSING:return;default:throw new Error("Invalid : must be RecoveryPlanJobPhaseType.{ $UNKNOWN|$REDACTED|PRE_PROCESSING|ENTITY_RECOVERY|POST_PROCESSING }")}}};Object.freeze(Zn);const Qn=Zn;var ei=new WeakSet;class ti{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ei),t.add(e),this.$objectType="dataprotection.v4.config.Summary",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ti,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Xn.constructFromObject(e.status)),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ti.prototype.status=void 0,ti.prototype.percentageComplete=void 0,ti.prototype.$reserved=void 0,ti.prototype.$objectType=void 0,ti.prototype.$unknownFields=void 0;var ni=new WeakSet;class ii extends ti{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ni),t.add(e),this.$objectType="dataprotection.v4.config.StageSummary",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ii,ti.constructFromObject(e,t,!0),e.hasOwnProperty("stageExtId")&&null!==e.stageExtId&&void 0!==e.stageExtId&&t.setStageExtId(e.stageExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStageExtId(){return this.stageExtId}setStageExtId(e){this.stageExtId=e}toJson(e){return{...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("stageExtId"===t){if(void 0===this.stageExtId||null===this.stageExtId)return new E("stageExtId","undefined or null");if(!F.validatePattern(this.stageExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("stageExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}ii.prototype.stageExtId=void 0,ti.prototype.status=void 0,ti.prototype.percentageComplete=void 0;var oi=new WeakSet;class si extends ti{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=oi),t.add(e),this.$objectType="dataprotection.v4.config.PhaseSummary",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new si,ti.constructFromObject(e,t,!0),e.hasOwnProperty("phaseType")&&null!==e.phaseType&&void 0!==e.phaseType&&t.setPhaseType(Qn.constructFromObject(e.phaseType)),e.hasOwnProperty("stages")&&null!==e.stages&&void 0!==e.stages){for(r=[],i=e.stages,s=0;s<i.length;s++)o=ii.constructFromObject(i[s],void 0),r.push(o);t.setStages(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPhaseType(){return this.phaseType}setPhaseType(e){this.phaseType=e}getStages(){return this.stages}setStages(e){this.stages=e}toJson(e){return{...void 0!==this.getPhaseType()&&null!==this.getPhaseType()?{phaseType:this.getPhaseType()}:{},...void 0!==this.getStages()&&null!==this.getStages()?{stages:this.getStages().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("phaseType"===t&&(void 0===this.phaseType||null===this.phaseType))return new E("phaseType","undefined or null");if("stages"===t){if(void 0===this.stages||null===this.stages)return new E("stages","undefined or null");if(!F.validateMaxItems(this.stages,100))return new E("stages","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.stages,1))return new E("stages","does not satisfy required minItems constraint: 1")}return new E(t,"no such property exists")}}si.prototype.phaseType=void 0,si.prototype.stages=void 0,ti.prototype.status=void 0,ti.prototype.percentageComplete=void 0;const ri={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALIDATE:"VALIDATE",PLANNED_FAILOVER:"PLANNED_FAILOVER",UNPLANNED_FAILOVER:"UNPLANNED_FAILOVER",TEST_FAILOVER:"TEST_FAILOVER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ri).find(t=>ri[t]===e);return null==t?ri.$UNKNOWN:ri[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ri.$UNKNOWN:case ri.$REDACTED:case ri.VALIDATE:case ri.PLANNED_FAILOVER:case ri.UNPLANNED_FAILOVER:case ri.TEST_FAILOVER:return;default:throw new Error("Invalid : must be RecoveryPlanActionType.{ $UNKNOWN|$REDACTED|VALIDATE|PLANNED_FAILOVER|UNPLANNED_FAILOVER|TEST_FAILOVER }")}}};Object.freeze(ri);const ai=ri;function li(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var di=new WeakSet;class ui extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=di),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanJob",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ui,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("recoveryPlanExtId")&&null!==e.recoveryPlanExtId&&void 0!==e.recoveryPlanExtId&&t.setRecoveryPlanExtId(e.recoveryPlanExtId),e.hasOwnProperty("failoverDirections")&&null!==e.failoverDirections&&void 0!==e.failoverDirections){for(r=[],i=e.failoverDirections,s=0;s<i.length;s++)o=bn.constructFromObject(i[s],void 0),r.push(o);t.setFailoverDirections(r)}if(e.hasOwnProperty("actionType")&&null!==e.actionType&&void 0!==e.actionType&&t.setActionType(ai.constructFromObject(e.actionType)),e.hasOwnProperty("recoveryReferenceTime")&&null!==e.recoveryReferenceTime&&void 0!==e.recoveryReferenceTime&&t.setRecoveryReferenceTime(e.recoveryReferenceTime),e.hasOwnProperty("isLiveMigrateVMs")&&null!==e.isLiveMigrateVMs&&void 0!==e.isLiveMigrateVMs&&t.setIsLiveMigrateVMs(e.isLiveMigrateVMs),e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Xn.constructFromObject(e.status)),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),e.hasOwnProperty("validationStatus")&&null!==e.validationStatus&&void 0!==e.validationStatus&&t.setValidationStatus(ti.constructFromObject(e.validationStatus)),e.hasOwnProperty("executionPhases")&&null!==e.executionPhases&&void 0!==e.executionPhases){for(r=[],i=e.executionPhases,s=0;s<i.length;s++)o=si.constructFromObject(i[s],void 0),r.push(o);t.setExecutionPhases(r)}if(e.hasOwnProperty("isInitiatedByWitness")&&null!==e.isInitiatedByWitness&&void 0!==e.isInitiatedByWitness&&t.setIsInitiatedByWitness(e.isInitiatedByWitness),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getRecoveryPlanExtId(){return this.recoveryPlanExtId}setRecoveryPlanExtId(e){this.recoveryPlanExtId=e}getFailoverDirections(){return this.failoverDirections}setFailoverDirections(e){this.failoverDirections=e}getActionType(){return this.actionType}setActionType(e){this.actionType=e}getRecoveryReferenceTime(){return this.recoveryReferenceTime}setRecoveryReferenceTime(e){this.recoveryReferenceTime=e}getIsLiveMigrateVMs(){return this.isLiveMigrateVMs}setIsLiveMigrateVMs(e){this.isLiveMigrateVMs=e}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}getValidationStatus(){return this.validationStatus}setValidationStatus(e){this.validationStatus=e}getExecutionPhases(){return this.executionPhases}setExecutionPhases(e){this.executionPhases=e}getIsInitiatedByWitness(){return this.isInitiatedByWitness}setIsInitiatedByWitness(e){this.isInitiatedByWitness=e}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getRecoveryPlanExtId()&&null!==this.getRecoveryPlanExtId()?{recoveryPlanExtId:this.getRecoveryPlanExtId()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},...void 0!==this.getActionType()&&null!==this.getActionType()?{actionType:this.getActionType()}:{},...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:li(di,this,ci).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getIsLiveMigrateVMs()&&null!==this.getIsLiveMigrateVMs()?{isLiveMigrateVMs:this.getIsLiveMigrateVMs()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:li(di,this,ci).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:li(di,this,ci).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getValidationStatus()&&null!==this.getValidationStatus()?{validationStatus:this.getValidationStatus().toJson(!1)}:{},...void 0!==this.getExecutionPhases()&&null!==this.getExecutionPhases()?{executionPhases:this.getExecutionPhases().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsInitiatedByWitness()&&null!==this.getIsInitiatedByWitness()?{isInitiatedByWitness:this.getIsInitiatedByWitness()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getRecoveryPlanExtId()&&null!==this.getRecoveryPlanExtId()?{recoveryPlanExtId:this.getRecoveryPlanExtId()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},...void 0!==this.getActionType()&&null!==this.getActionType()?{actionType:this.getActionType()}:{},...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:li(di,this,ci).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getIsLiveMigrateVMs()&&null!==this.getIsLiveMigrateVMs()?{isLiveMigrateVMs:this.getIsLiveMigrateVMs()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:li(di,this,ci).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:li(di,this,ci).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getValidationStatus()&&null!==this.getValidationStatus()?{validationStatus:this.getValidationStatus().toJson(!1)}:{},...void 0!==this.getExecutionPhases()&&null!==this.getExecutionPhases()?{executionPhases:this.getExecutionPhases().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsInitiatedByWitness()&&null!==this.getIsInitiatedByWitness()?{isInitiatedByWitness:this.getIsInitiatedByWitness()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("recoveryPlanExtId"===t){if(void 0===this.recoveryPlanExtId||null===this.recoveryPlanExtId)return new E("recoveryPlanExtId","undefined or null");if(!F.validatePattern(this.recoveryPlanExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveryPlanExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("failoverDirections"===t){if(void 0===this.failoverDirections||null===this.failoverDirections)return new E("failoverDirections","undefined or null");if(!F.validateMaxItems(this.failoverDirections,50))return new E("failoverDirections","does not satisfy required maxItems constraint: 50");if(!F.validateMinItems(this.failoverDirections,1))return new E("failoverDirections","does not satisfy required minItems constraint: 1")}if("actionType"===t&&(void 0===this.actionType||null===this.actionType))return new E("actionType","undefined or null");if("recoveryReferenceTime"===t&&(void 0===this.recoveryReferenceTime||null===this.recoveryReferenceTime))return new E("recoveryReferenceTime","undefined or null");if("isLiveMigrateVMs"===t&&(void 0===this.isLiveMigrateVMs||null===this.isLiveMigrateVMs))return new E("isLiveMigrateVMs","undefined or null");if("startTime"===t&&(void 0===this.startTime||null===this.startTime))return new E("startTime","undefined or null");if("endTime"===t&&(void 0===this.endTime||null===this.endTime))return new E("endTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}if("validationStatus"===t&&(void 0===this.validationStatus||null===this.validationStatus))return new E("validationStatus","undefined or null");if("executionPhases"===t){if(void 0===this.executionPhases||null===this.executionPhases)return new E("executionPhases","undefined or null");if(!F.validateMaxItems(this.executionPhases,5))return new E("executionPhases","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.executionPhases,1))return new E("executionPhases","does not satisfy required minItems constraint: 1")}if("isInitiatedByWitness"===t&&(void 0===this.isInitiatedByWitness||null===this.isInitiatedByWitness))return new E("isInitiatedByWitness","undefined or null");if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}function ci(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function hi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ui.prototype.name=void 0,ui.prototype.recoveryPlanExtId=void 0,ui.prototype.failoverDirections=void 0,ui.prototype.actionType=void 0,ui.prototype.recoveryReferenceTime=void 0,ui.prototype.isLiveMigrateVMs=void 0,ui.prototype.startTime=void 0,ui.prototype.endTime=void 0,ui.prototype.status=void 0,ui.prototype.percentageComplete=void 0,ui.prototype.validationStatus=void 0,ui.prototype.executionPhases=void 0,ui.prototype.isInitiatedByWitness=void 0,ui.prototype.ownerExtId=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var pi=new WeakSet;class vi extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=pi),t.add(e),this.$objectType="dataprotection.v4.config.GetRecoveryPlanJobApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vi,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.RecoveryPlanJob":t.setData(ui.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):hi(pi,this,yi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):hi(pi,this,yi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function yi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function gi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vi.prototype.metadata=void 0,vi.prototype.data=void 0,vi.prototype.$reserved=void 0,vi.prototype.$objectType=void 0,vi.prototype.$unknownFields=void 0;var fi=new WeakSet;class $i extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=fi),t.add(e),this.$objectType="dataprotection.v4.config.DeleteRecoveryPlanJobApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $i,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gi(fi,this,wi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gi(fi,this,wi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function wi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$i.prototype.metadata=void 0,$i.prototype.data=void 0,$i.prototype.$reserved=void 0,$i.prototype.$objectType=void 0,$i.prototype.$unknownFields=void 0;const mi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLUSTER:"CLUSTER",VM:"VM",STORAGE_CONTAINER:"STORAGE_CONTAINER",VOLUME_GROUP:"VOLUME_GROUP",TASK:"TASK",IMAGE:"IMAGE",CATEGORY:"CATEGORY",NODE:"NODE",VPC:"VPC",SUBNET:"SUBNET",ROUTING_POLICY:"ROUTING_POLICY",FLOATING_IP:"FLOATING_IP",VPN_GATEWAY:"VPN_GATEWAY",VPN_CONNECTION:"VPN_CONNECTION",DIRECT_CONNECT:"DIRECT_CONNECT",DIRECT_CONNECT_VIF:"DIRECT_CONNECT_VIF",VIRTUAL_NIC:"VIRTUAL_NIC",VIRTUAL_SWITCH:"VIRTUAL_SWITCH",VM_DISK:"VM_DISK",VOLUME_DISK:"VOLUME_DISK",DISK_RECOVERY_POINT:"DISK_RECOVERY_POINT",VTEP_GATEWAY:"VTEP_GATEWAY",RECOVERY_PLAN:"RECOVERY_PLAN",RECOVERY_PLAN_JOB:"RECOVERY_PLAN_JOB",AVAILABILITY_ZONE:"AVAILABILITY_ZONE",VIRTUAL_NETWORK:"VIRTUAL_NETWORK",CONSISTENCY_GROUP:"CONSISTENCY_GROUP",SUBNET_EXTENSION:"SUBNET_EXTENSION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(mi).find(t=>mi[t]===e);return null==t?mi.$UNKNOWN:mi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case mi.$UNKNOWN:case mi.$REDACTED:case mi.CLUSTER:case mi.VM:case mi.STORAGE_CONTAINER:case mi.VOLUME_GROUP:case mi.TASK:case mi.IMAGE:case mi.CATEGORY:case mi.NODE:case mi.VPC:case mi.SUBNET:case mi.ROUTING_POLICY:case mi.FLOATING_IP:case mi.VPN_GATEWAY:case mi.VPN_CONNECTION:case mi.DIRECT_CONNECT:case mi.DIRECT_CONNECT_VIF:case mi.VIRTUAL_NIC:case mi.VIRTUAL_SWITCH:case mi.VM_DISK:case mi.VOLUME_DISK:case mi.DISK_RECOVERY_POINT:case mi.VTEP_GATEWAY:case mi.RECOVERY_PLAN:case mi.RECOVERY_PLAN_JOB:case mi.AVAILABILITY_ZONE:case mi.VIRTUAL_NETWORK:case mi.CONSISTENCY_GROUP:case mi.SUBNET_EXTENSION:return;default:throw new Error("Invalid : must be EntityType.{ $UNKNOWN|$REDACTED|CLUSTER|VM|STORAGE_CONTAINER|VOLUME_GROUP|TASK|IMAGE|CATEGORY|NODE|VPC|SUBNET|ROUTING_POLICY|FLOATING_IP|VPN_GATEWAY|VPN_CONNECTION|DIRECT_CONNECT|DIRECT_CONNECT_VIF|VIRTUAL_NIC|VIRTUAL_SWITCH|VM_DISK|VOLUME_DISK|DISK_RECOVERY_POINT|VTEP_GATEWAY|RECOVERY_PLAN|RECOVERY_PLAN_JOB|AVAILABILITY_ZONE|VIRTUAL_NETWORK|CONSISTENCY_GROUP|SUBNET_EXTENSION }")}}};Object.freeze(mi);const ki=mi;var Ti=new WeakSet;class bi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ti),t.add(e),this.$objectType="common.v1.config.EntityReference",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new bi,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("uris")&&null!==e.uris&&void 0!==e.uris){for(s=[],i=e.uris,o=0;o<i.length;o++)s.push(i[o]);t.setUris(s)}if(e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(ki.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getName(){return this.name}setName(e){this.name=e}getUris(){return this.uris}setUris(e){this.uris=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUris()&&null!==this.getUris()?{uris:this.getUris()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("uris"===t){if(void 0===this.uris||null===this.uris)return new E("uris","undefined or null");if(!F.validateMaxItems(this.uris,100))return new E("uris","does not satisfy required maxItems constraint: 100")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}bi.prototype.extId=void 0,bi.prototype.name=void 0,bi.prototype.uris=void 0,bi.prototype.entityType=void 0,bi.prototype.$reserved=void 0,bi.prototype.$objectType=void 0,bi.prototype.$unknownFields=void 0;const Fi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ENTITY:"ENTITY",NETWORK:"NETWORK",RECOVERY_POINT:"RECOVERY_POINT",CATEGORY:"CATEGORY",CONNECTIVITY:"CONNECTIVITY",INFRASTRUCTURE:"INFRASTRUCTURE",CLUSTER_LICENSE:"CLUSTER_LICENSE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fi).find(t=>Fi[t]===e);return null==t?Fi.$UNKNOWN:Fi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fi.$UNKNOWN:case Fi.$REDACTED:case Fi.ENTITY:case Fi.NETWORK:case Fi.RECOVERY_POINT:case Fi.CATEGORY:case Fi.CONNECTIVITY:case Fi.INFRASTRUCTURE:case Fi.CLUSTER_LICENSE:return;default:throw new Error("Invalid : must be ErrorGroup.{ $UNKNOWN|$REDACTED|ENTITY|NETWORK|RECOVERY_POINT|CATEGORY|CONNECTIVITY|INFRASTRUCTURE|CLUSTER_LICENSE }")}}};Object.freeze(Fi);const Ei=Fi,ji={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ERROR:"ERROR",WARNING:"WARNING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ji).find(t=>ji[t]===e);return null==t?ji.$UNKNOWN:ji[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ji.$UNKNOWN:case ji.$REDACTED:case ji.ERROR:case ji.WARNING:return;default:throw new Error("Invalid : must be Severity.{ $UNKNOWN|$REDACTED|ERROR|WARNING }")}}};Object.freeze(ji);const Oi=ji;var Ii=new WeakSet;class Pi extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ii),t.add(e),this.$objectType="dataprotection.v4.config.ErrorMessage",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pi,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("errorCode")&&null!==e.errorCode&&void 0!==e.errorCode&&t.setErrorCode(e.errorCode),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(Ei.constructFromObject(e.errorGroup)),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(Oi.constructFromObject(e.severity)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getErrorCode(){return this.errorCode}setErrorCode(e){this.errorCode=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}toJson(e){return!1===e?{...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"errorCode"!==t||void 0!==this.errorCode&&null!==this.errorCode?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?new E(t,"no such property exists"):new E("severity","undefined or null"):new E("message","undefined or null"):new E("errorGroup","undefined or null"):new E("errorCode","undefined or null")}}Pi.prototype.errorCode=void 0,Pi.prototype.errorGroup=void 0,Pi.prototype.message=void 0,Pi.prototype.severity=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Ri=new WeakSet;class xi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ri),t.add(e),this.$objectType="dataprotection.v4.config.RootCauseAnalysis",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new xi,e.hasOwnProperty("cause")&&null!==e.cause&&void 0!==e.cause&&t.setCause(e.cause),e.hasOwnProperty("resolutions")&&null!==e.resolutions&&void 0!==e.resolutions){for(s=[],i=e.resolutions,o=0;o<i.length;o++)s.push(i[o]);t.setResolutions(s)}if(e.hasOwnProperty("impacts")&&null!==e.impacts&&void 0!==e.impacts){for(s=[],i=e.impacts,o=0;o<i.length;o++)s.push(i[o]);t.setImpacts(s)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCause(){return this.cause}setCause(e){this.cause=e}getResolutions(){return this.resolutions}setResolutions(e){this.resolutions=e}getImpacts(){return this.impacts}setImpacts(e){this.impacts=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCause()&&null!==this.getCause()?{cause:this.getCause()}:{},...void 0!==this.getResolutions()&&null!==this.getResolutions()?{resolutions:this.getResolutions()}:{},...void 0!==this.getImpacts()&&null!==this.getImpacts()?{impacts:this.getImpacts()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("cause"===t&&(void 0===this.cause||null===this.cause))return new E("cause","undefined or null");if("resolutions"===t){if(void 0===this.resolutions||null===this.resolutions)return new E("resolutions","undefined or null");if(!F.validateMaxItems(this.resolutions,5))return new E("resolutions","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.resolutions,1))return new E("resolutions","does not satisfy required minItems constraint: 1")}if("impacts"===t){if(void 0===this.impacts||null===this.impacts)return new E("impacts","undefined or null");if(!F.validateMaxItems(this.impacts,5))return new E("impacts","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.impacts,1))return new E("impacts","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}xi.prototype.cause=void 0,xi.prototype.resolutions=void 0,xi.prototype.impacts=void 0,xi.prototype.$reserved=void 0,xi.prototype.$objectType=void 0,xi.prototype.$unknownFields=void 0;var Ai=new WeakSet;class Ci extends Pi{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ai),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanValidationError",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ci,Pi.constructFromObject(e,t,!0),e.hasOwnProperty("affectedEntities")&&null!==e.affectedEntities&&void 0!==e.affectedEntities){for(r=[],i=e.affectedEntities,s=0;s<i.length;s++)o=bi.constructFromObject(i[s],void 0),r.push(o);t.setAffectedEntities(r)}if(e.hasOwnProperty("rootCauseAnalysis")&&null!==e.rootCauseAnalysis&&void 0!==e.rootCauseAnalysis&&t.setRootCauseAnalysis(xi.constructFromObject(e.rootCauseAnalysis)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAffectedEntities(){return this.affectedEntities}setAffectedEntities(e){this.affectedEntities=e}getRootCauseAnalysis(){return this.rootCauseAnalysis}setRootCauseAnalysis(e){this.rootCauseAnalysis=e}toJson(e){return!1===e?{...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRootCauseAnalysis()&&null!==this.getRootCauseAnalysis()?{rootCauseAnalysis:this.getRootCauseAnalysis().toJson(!1)}:{},...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRootCauseAnalysis()&&null!==this.getRootCauseAnalysis()?{rootCauseAnalysis:this.getRootCauseAnalysis().toJson(!1)}:{},...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("affectedEntities"===t){if(void 0===this.affectedEntities||null===this.affectedEntities)return new E("affectedEntities","undefined or null");if(!F.validateMaxItems(this.affectedEntities,100))return new E("affectedEntities","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.affectedEntities,1))return new E("affectedEntities","does not satisfy required minItems constraint: 1")}return"rootCauseAnalysis"!==t||void 0!==this.rootCauseAnalysis&&null!==this.rootCauseAnalysis?new E(t,"no such property exists"):new E("rootCauseAnalysis","undefined or null")}}Ci.prototype.affectedEntities=void 0,Ci.prototype.rootCauseAnalysis=void 0,Pi.prototype.errorCode=void 0,Pi.prototype.errorGroup=void 0,Pi.prototype.message=void 0,Pi.prototype.severity=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Si extends Ci{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanValidationErrorProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Si,Ci.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Di(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ni=new WeakSet;class Ui extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ni),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobValidationErrorsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Ui,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanValidationError":o=Ci.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanValidationErrorProjection":o=Si.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Di(Ni,this,Mi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Di(Ni,this,Mi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Mi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ui.prototype.metadata=void 0,Ui.prototype.data=void 0,Ui.prototype.$reserved=void 0,Ui.prototype.$objectType=void 0,Ui.prototype.$unknownFields=void 0;class Ji extends ui{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanJobProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ji,ui.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function _i(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Li=new WeakSet;class Gi extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Li),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Gi,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanJob":o=ui.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanJobProjection":o=Ji.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):_i(Li,this,Vi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):_i(Li,this,Vi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Vi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Gi.prototype.metadata=void 0,Gi.prototype.data=void 0,Gi.prototype.$reserved=void 0,Gi.prototype.$objectType=void 0,Gi.prototype.$unknownFields=void 0;const Wi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",SUBNET:"SUBNET",AVAILABILITY_ZONE:"AVAILABILITY_ZONE",RECOVERY_PLAN:"RECOVERY_PLAN",VIRTUAL_NETWORK:"VIRTUAL_NETWORK",VOLUME_GROUP:"VOLUME_GROUP",CONSISTENCY_GROUP:"CONSISTENCY_GROUP",CATEGORY:"CATEGORY",VPN_GATEWAY:"VPN_GATEWAY",SUBNET_EXTENSION:"SUBNET_EXTENSION",VPC:"VPC",RECOVERY_PLAN_JOB:"RECOVERY_PLAN_JOB",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wi).find(t=>Wi[t]===e);return null==t?Wi.$UNKNOWN:Wi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wi.$UNKNOWN:case Wi.$REDACTED:case Wi.VM:case Wi.SUBNET:case Wi.AVAILABILITY_ZONE:case Wi.RECOVERY_PLAN:case Wi.VIRTUAL_NETWORK:case Wi.VOLUME_GROUP:case Wi.CONSISTENCY_GROUP:case Wi.CATEGORY:case Wi.VPN_GATEWAY:case Wi.SUBNET_EXTENSION:case Wi.VPC:case Wi.RECOVERY_PLAN_JOB:return;default:throw new Error("Invalid : must be ExecutionStepEntityType.{ $UNKNOWN|$REDACTED|VM|SUBNET|AVAILABILITY_ZONE|RECOVERY_PLAN|VIRTUAL_NETWORK|VOLUME_GROUP|CONSISTENCY_GROUP|CATEGORY|VPN_GATEWAY|SUBNET_EXTENSION|VPC|RECOVERY_PLAN_JOB }")}}};Object.freeze(Wi);const Bi=Wi;var qi=new WeakSet;class zi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=qi),t.add(e),this.$objectType="dataprotection.v4.config.ExecutionStepEntityReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zi,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(Bi.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getName(){return this.name}setName(e){this.name=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}zi.prototype.extId=void 0,zi.prototype.name=void 0,zi.prototype.entityType=void 0,zi.prototype.$reserved=void 0,zi.prototype.$objectType=void 0,zi.prototype.$unknownFields=void 0;var Ki=new WeakSet;class Yi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ki),t.add(e),this.$objectType="dataprotection.v4.config.EntityRecoveryResult",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yi,e.hasOwnProperty("sourceEntityExtId")&&null!==e.sourceEntityExtId&&void 0!==e.sourceEntityExtId&&t.setSourceEntityExtId(e.sourceEntityExtId),e.hasOwnProperty("recoveredEntityExtId")&&null!==e.recoveredEntityExtId&&void 0!==e.recoveredEntityExtId&&t.setRecoveredEntityExtId(e.recoveredEntityExtId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(ki.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSourceEntityExtId(){return this.sourceEntityExtId}setSourceEntityExtId(e){this.sourceEntityExtId=e}getRecoveredEntityExtId(){return this.recoveredEntityExtId}setRecoveredEntityExtId(e){this.recoveredEntityExtId=e}getName(){return this.name}setName(e){this.name=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSourceEntityExtId()&&null!==this.getSourceEntityExtId()?{sourceEntityExtId:this.getSourceEntityExtId()}:{},...void 0!==this.getRecoveredEntityExtId()&&null!==this.getRecoveredEntityExtId()?{recoveredEntityExtId:this.getRecoveredEntityExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("sourceEntityExtId"===t){if(void 0===this.sourceEntityExtId||null===this.sourceEntityExtId)return new E("sourceEntityExtId","undefined or null");if(!F.validatePattern(this.sourceEntityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("sourceEntityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveredEntityExtId"===t){if(void 0===this.recoveredEntityExtId||null===this.recoveredEntityExtId)return new E("recoveredEntityExtId","undefined or null");if(!F.validatePattern(this.recoveredEntityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveredEntityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}function Hi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yi.prototype.sourceEntityExtId=void 0,Yi.prototype.recoveredEntityExtId=void 0,Yi.prototype.name=void 0,Yi.prototype.entityType=void 0,Yi.prototype.$reserved=void 0,Yi.prototype.$objectType=void 0,Yi.prototype.$unknownFields=void 0;var Xi=new WeakSet;class Zi{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Xi),n.add(t),this.result=e,this.$objectType="dataprotection.v4.config.ExecutionStepResult",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zi,e.hasOwnProperty("result")&&null!==e.result&&void 0!==e.result){if(i=e.result.hasOwnProperty("$objectType")?e.result.$objectType:typeof e.result,"dataprotection.v4.config.EntityRecoveryResult"!==i)throw"Unknown datatype "+i+" in data";t.setResult(Yi.constructFromObject(e.result,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResult(){return this.result}setResult(e){this.result=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getResult()&&null!==this.getResult()?{result:void 0!==this.getResult().toJson?this.getResult().toJson(!1):Array.isArray(this.getResult())?this.getResult().map(e=>void 0!==e.toJson?e.toJson(!1):e):Hi(Xi,this,Qi).call(this,this.getResult(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getResult()&&null!==this.getResult()?{result:void 0!==this.getResult().toJson?this.getResult().toJson():Array.isArray(this.getResult())?this.getResult().map(e=>void 0!==e.toJson?e.toJson():e):Hi(Xi,this,Qi).call(this,this.getResult())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["result"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"result"!==t||void 0!==this.result&&null!==this.result?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("result","undefined or null")}}function Qi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Zi.prototype.result=void 0,Zi.prototype.$reserved=void 0,Zi.prototype.$objectType=void 0,Zi.prototype.$unknownFields=void 0;const eo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NETWORK_CREATION:"NETWORK_CREATION",SUBNET_EXTENSION_CREATION:"SUBNET_EXTENSION_CREATION",NETWORK_GATEWAY_CREATION:"NETWORK_GATEWAY_CREATION",VPC_UPDATION:"VPC_UPDATION",SYNC_RECOVERY_POINTS:"SYNC_RECOVERY_POINTS",FLOATING_IP_CREATION:"FLOATING_IP_CREATION",RESOURCE_RESERVATION:"RESOURCE_RESERVATION",NOTIFY_WITNESS:"NOTIFY_WITNESS",VPC_CREATION:"VPC_CREATION",CONFIGURE_MANUAL_PROTECTION:"CONFIGURE_MANUAL_PROTECTION",DELAY:"DELAY",ENTITY_MIGRATION:"ENTITY_MIGRATION",ENTITY_RESTORATION:"ENTITY_RESTORATION",ENTITY_LIVE_MIGRATION:"ENTITY_LIVE_MIGRATION",VM_POWER_ON:"VM_POWER_ON",ASSIGN_FLOATING_IP:"ASSIGN_FLOATING_IP",STATIC_IP_VALIDATION:"STATIC_IP_VALIDATION",SCRIPT_EXECUTION:"SCRIPT_EXECUTION",VM_VOLUME_IQN_ATTACHMENT:"VM_VOLUME_IQN_ATTACHMENT",VM_VOLUME_ATTACHMENT:"VM_VOLUME_ATTACHMENT",ENTITY_SNAPSHOT_SYNC:"ENTITY_SNAPSHOT_SYNC",AUDIT:"AUDIT",NETWORK_DELETION:"NETWORK_DELETION",CONSISTENCY_GROUP_CREATE:"CONSISTENCY_GROUP_CREATE",SUBNET_EXTENSION_DELETION:"SUBNET_EXTENSION_DELETION",NETWORK_GATEWAY_DELETION:"NETWORK_GATEWAY_DELETION",STAGE_RECOVERY:"STAGE_RECOVERY",ENTITY_RECOVERY:"ENTITY_RECOVERY",IP_CUSTOMIZATION:"IP_CUSTOMIZATION",ENTITIES_CLEANUP:"ENTITIES_CLEANUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(eo).find(t=>eo[t]===e);return null==t?eo.$UNKNOWN:eo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case eo.$UNKNOWN:case eo.$REDACTED:case eo.NETWORK_CREATION:case eo.SUBNET_EXTENSION_CREATION:case eo.NETWORK_GATEWAY_CREATION:case eo.VPC_UPDATION:case eo.SYNC_RECOVERY_POINTS:case eo.FLOATING_IP_CREATION:case eo.RESOURCE_RESERVATION:case eo.NOTIFY_WITNESS:case eo.VPC_CREATION:case eo.CONFIGURE_MANUAL_PROTECTION:case eo.DELAY:case eo.ENTITY_MIGRATION:case eo.ENTITY_RESTORATION:case eo.ENTITY_LIVE_MIGRATION:case eo.VM_POWER_ON:case eo.ASSIGN_FLOATING_IP:case eo.STATIC_IP_VALIDATION:case eo.SCRIPT_EXECUTION:case eo.VM_VOLUME_IQN_ATTACHMENT:case eo.VM_VOLUME_ATTACHMENT:case eo.ENTITY_SNAPSHOT_SYNC:case eo.AUDIT:case eo.NETWORK_DELETION:case eo.CONSISTENCY_GROUP_CREATE:case eo.SUBNET_EXTENSION_DELETION:case eo.NETWORK_GATEWAY_DELETION:case eo.STAGE_RECOVERY:case eo.ENTITY_RECOVERY:case eo.IP_CUSTOMIZATION:case eo.ENTITIES_CLEANUP:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|NETWORK_CREATION|SUBNET_EXTENSION_CREATION|NETWORK_GATEWAY_CREATION|VPC_UPDATION|SYNC_RECOVERY_POINTS|FLOATING_IP_CREATION|RESOURCE_RESERVATION|NOTIFY_WITNESS|VPC_CREATION|CONFIGURE_MANUAL_PROTECTION|DELAY|ENTITY_MIGRATION|ENTITY_RESTORATION|ENTITY_LIVE_MIGRATION|VM_POWER_ON|ASSIGN_FLOATING_IP|STATIC_IP_VALIDATION|SCRIPT_EXECUTION|VM_VOLUME_IQN_ATTACHMENT|VM_VOLUME_ATTACHMENT|ENTITY_SNAPSHOT_SYNC|AUDIT|NETWORK_DELETION|CONSISTENCY_GROUP_CREATE|SUBNET_EXTENSION_DELETION|NETWORK_GATEWAY_DELETION|STAGE_RECOVERY|ENTITY_RECOVERY|IP_CUSTOMIZATION|ENTITIES_CLEANUP }")}}};Object.freeze(eo);const to=eo;function no(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var io=new WeakSet;class oo extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=io),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanJobExecutionStep",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new oo,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("errorMessage")&&null!==e.errorMessage&&void 0!==e.errorMessage&&t.setErrorMessage(Ge.constructFromObject(e.errorMessage)),e.hasOwnProperty("stageExtId")&&null!==e.stageExtId&&void 0!==e.stageExtId&&t.setStageExtId(e.stageExtId),e.hasOwnProperty("phase")&&null!==e.phase&&void 0!==e.phase&&t.setPhase(Qn.constructFromObject(e.phase)),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(to.constructFromObject(e.operationType)),e.hasOwnProperty("stepDescription")&&null!==e.stepDescription&&void 0!==e.stepDescription&&t.setStepDescription(e.stepDescription),e.hasOwnProperty("affectedEntities")&&null!==e.affectedEntities&&void 0!==e.affectedEntities){for(r=[],i=e.affectedEntities,s=0;s<i.length;s++)o=zi.constructFromObject(i[s],void 0),r.push(o);t.setAffectedEntities(r)}if(e.hasOwnProperty("executionStepResults")&&null!==e.executionStepResults&&void 0!==e.executionStepResults){for(r=[],i=e.executionStepResults,s=0;s<i.length;s++)o=Zi.constructFromObject(i[s],void 0),r.push(o);t.setExecutionStepResults(r)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Xn.constructFromObject(e.status)),e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getErrorMessage(){return this.errorMessage}setErrorMessage(e){this.errorMessage=e}getStageExtId(){return this.stageExtId}setStageExtId(e){this.stageExtId=e}getPhase(){return this.phase}setPhase(e){this.phase=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getStepDescription(){return this.stepDescription}setStepDescription(e){this.stepDescription=e}getAffectedEntities(){return this.affectedEntities}setAffectedEntities(e){this.affectedEntities=e}getExecutionStepResults(){return this.executionStepResults}setExecutionStepResults(e){this.executionStepResults=e}getStatus(){return this.status}setStatus(e){this.status=e}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}toJson(e){return!1===e?{...void 0!==this.getErrorMessage()&&null!==this.getErrorMessage()?{errorMessage:this.getErrorMessage().toJson(!1)}:{},...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getPhase()&&null!==this.getPhase()?{phase:this.getPhase()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getStepDescription()&&null!==this.getStepDescription()?{stepDescription:this.getStepDescription()}:{},...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExecutionStepResults()&&null!==this.getExecutionStepResults()?{executionStepResults:this.getExecutionStepResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:no(io,this,so).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:no(io,this,so).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getErrorMessage()&&null!==this.getErrorMessage()?{errorMessage:this.getErrorMessage().toJson(!1)}:{},...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getPhase()&&null!==this.getPhase()?{phase:this.getPhase()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getStepDescription()&&null!==this.getStepDescription()?{stepDescription:this.getStepDescription()}:{},...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExecutionStepResults()&&null!==this.getExecutionStepResults()?{executionStepResults:this.getExecutionStepResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:no(io,this,so).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:no(io,this,so).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("errorMessage"===t&&(void 0===this.errorMessage||null===this.errorMessage))return new E("errorMessage","undefined or null");if("stageExtId"===t){if(void 0===this.stageExtId||null===this.stageExtId)return new E("stageExtId","undefined or null");if(!F.validatePattern(this.stageExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("stageExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("phase"===t&&(void 0===this.phase||null===this.phase))return new E("phase","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new E("operationType","undefined or null");if("stepDescription"===t){if(void 0===this.stepDescription||null===this.stepDescription)return new E("stepDescription","undefined or null");if(!F.validateMaxLength(this.stepDescription,1e3))return new E("stepDescription","does not satisfy required maxLength constraint: 1000")}if("affectedEntities"===t){if(void 0===this.affectedEntities||null===this.affectedEntities)return new E("affectedEntities","undefined or null");if(!F.validateMaxItems(this.affectedEntities,100))return new E("affectedEntities","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.affectedEntities,1))return new E("affectedEntities","does not satisfy required minItems constraint: 1")}if("executionStepResults"===t){if(void 0===this.executionStepResults||null===this.executionStepResults)return new E("executionStepResults","undefined or null");if(!F.validateMaxItems(this.executionStepResults,1))return new E("executionStepResults","does not satisfy required maxItems constraint: 1");if(!F.validateMinItems(this.executionStepResults,1))return new E("executionStepResults","does not satisfy required minItems constraint: 1")}if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("startTime"===t&&(void 0===this.startTime||null===this.startTime))return new E("startTime","undefined or null");if("endTime"===t&&(void 0===this.endTime||null===this.endTime))return new E("endTime","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}return new E(t,"no such property exists")}}function so(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}oo.prototype.errorMessage=void 0,oo.prototype.stageExtId=void 0,oo.prototype.phase=void 0,oo.prototype.operationType=void 0,oo.prototype.stepDescription=void 0,oo.prototype.affectedEntities=void 0,oo.prototype.executionStepResults=void 0,oo.prototype.status=void 0,oo.prototype.startTime=void 0,oo.prototype.endTime=void 0,oo.prototype.percentageComplete=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class ro extends oo{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanJobExecutionStepProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ro,oo.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function ao(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var lo=new WeakSet;class uo extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=lo),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobExecutionStepsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new uo,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanJobExecutionStep":o=oo.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanJobExecutionStepProjection":o=ro.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ao(lo,this,co).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ao(lo,this,co).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function co(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ho(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}uo.prototype.metadata=void 0,uo.prototype.data=void 0,uo.prototype.$reserved=void 0,uo.prototype.$objectType=void 0,uo.prototype.$unknownFields=void 0;var po=new WeakSet;class vo extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=po),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointReplicateApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vo,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ho(po,this,yo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ho(po,this,yo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function yo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}vo.prototype.metadata=void 0,vo.prototype.data=void 0,vo.prototype.$reserved=void 0,vo.prototype.$objectType=void 0,vo.prototype.$unknownFields=void 0;const go={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",GET_VSS_METADATA:"GET_VSS_METADATA",COMPUTE_CHANGED_REGIONS:"COMPUTE_CHANGED_REGIONS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(go).find(t=>go[t]===e);return null==t?go.$UNKNOWN:go[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case go.$UNKNOWN:case go.$REDACTED:case go.GET_VSS_METADATA:case go.COMPUTE_CHANGED_REGIONS:return;default:throw new Error("Invalid : must be ClusterDiscoverOperation.{ $UNKNOWN|$REDACTED|GET_VSS_METADATA|COMPUTE_CHANGED_REGIONS }")}}};Object.freeze(go);const fo=go;var $o=new WeakSet;class wo{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=$o),t.add(e),this.$objectType="dataprotection.v4.content.DiskRecoveryPointReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wo,e.hasOwnProperty("recoveryPointExtId")&&null!==e.recoveryPointExtId&&void 0!==e.recoveryPointExtId&&t.setRecoveryPointExtId(e.recoveryPointExtId),e.hasOwnProperty("diskRecoveryPointExtId")&&null!==e.diskRecoveryPointExtId&&void 0!==e.diskRecoveryPointExtId&&t.setDiskRecoveryPointExtId(e.diskRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryPointExtId(){return this.recoveryPointExtId}setRecoveryPointExtId(e){this.recoveryPointExtId=e}getDiskRecoveryPointExtId(){return this.diskRecoveryPointExtId}setDiskRecoveryPointExtId(e){this.diskRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("recoveryPointExtId"===t){if(void 0===this.recoveryPointExtId||null===this.recoveryPointExtId)return new E("recoveryPointExtId","undefined or null");if(!F.validatePattern(this.recoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new E("diskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}wo.prototype.recoveryPointExtId=void 0,wo.prototype.diskRecoveryPointExtId=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;var mo=new WeakSet;class ko extends wo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mo),t.add(e),this.$objectType="dataprotection.v4.content.VmDiskRecoveryPointReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ko,wo.constructFromObject(e,t,!0),e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}ko.prototype.vmRecoveryPointExtId=void 0,wo.prototype.recoveryPointExtId=void 0,wo.prototype.diskRecoveryPointExtId=void 0;var To=new WeakSet;class bo extends wo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=To),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bo,wo.constructFromObject(e,t,!0),e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&t.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupRecoveryPointExtId(){return this.volumeGroupRecoveryPointExtId}setVolumeGroupRecoveryPointExtId(e){this.volumeGroupRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new E("volumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}function Fo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}bo.prototype.volumeGroupRecoveryPointExtId=void 0,wo.prototype.recoveryPointExtId=void 0,wo.prototype.diskRecoveryPointExtId=void 0;var Eo=new WeakSet;class jo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Eo),n.add(t),this.diskRecoveryPoint=e,this.$objectType="dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new jo,e.hasOwnProperty("diskRecoveryPoint")&&null!==e.diskRecoveryPoint&&void 0!==e.diskRecoveryPoint)switch(i=e.diskRecoveryPoint.hasOwnProperty("$objectType")?e.diskRecoveryPoint.$objectType:typeof e.diskRecoveryPoint,i){case"dataprotection.v4.content.VmDiskRecoveryPointReference":t.setDiskRecoveryPoint(ko.constructFromObject(e.diskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":t.setDiskRecoveryPoint(bo.constructFromObject(e.diskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("referenceDiskRecoveryPoint")&&null!==e.referenceDiskRecoveryPoint&&void 0!==e.referenceDiskRecoveryPoint)switch(i=e.referenceDiskRecoveryPoint.hasOwnProperty("$objectType")?e.referenceDiskRecoveryPoint.$objectType:typeof e.referenceDiskRecoveryPoint,i){case"dataprotection.v4.content.VmDiskRecoveryPointReference":t.setReferenceDiskRecoveryPoint(ko.constructFromObject(e.referenceDiskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":t.setReferenceDiskRecoveryPoint(bo.constructFromObject(e.referenceDiskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDiskRecoveryPoint(){return this.diskRecoveryPoint}setDiskRecoveryPoint(e){this.diskRecoveryPoint=e}getReferenceDiskRecoveryPoint(){return this.referenceDiskRecoveryPoint}setReferenceDiskRecoveryPoint(e){this.referenceDiskRecoveryPoint=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson(!1):Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson(!1):e):Fo(Eo,this,Oo).call(this,this.getDiskRecoveryPoint(),!1)}:{},...void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson(!1):Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson(!1):e):Fo(Eo,this,Oo).call(this,this.getReferenceDiskRecoveryPoint(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson():Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson():e):Fo(Eo,this,Oo).call(this,this.getDiskRecoveryPoint())}:{},...void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson():Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson():e):Fo(Eo,this,Oo).call(this,this.getReferenceDiskRecoveryPoint())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["diskRecoveryPoint"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"diskRecoveryPoint"!==t||void 0!==this.diskRecoveryPoint&&null!==this.diskRecoveryPoint?"referenceDiskRecoveryPoint"!==t||void 0!==this.referenceDiskRecoveryPoint&&null!==this.referenceDiskRecoveryPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("referenceDiskRecoveryPoint","undefined or null"):new E("diskRecoveryPoint","undefined or null")}}function Oo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}jo.prototype.diskRecoveryPoint=void 0,jo.prototype.referenceDiskRecoveryPoint=void 0,jo.prototype.$reserved=void 0,jo.prototype.$objectType=void 0,jo.prototype.$unknownFields=void 0;var Io=new WeakSet;class Po{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Io),n.add(t),this.vmRecoveryPointExtId=e,this.$objectType="dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Po,e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["vmRecoveryPointExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function Ro(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Po.prototype.vmRecoveryPointExtId=void 0,Po.prototype.$reserved=void 0,Po.prototype.$objectType=void 0,Po.prototype.$unknownFields=void 0;var xo=new WeakSet;class Ao{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=xo),i.add(n),this.operation=e,this.spec=t,this.$objectType="dataprotection.v4.content.ClusterDiscoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ao,e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(fo.constructFromObject(e.operation)),e.hasOwnProperty("spec")&&null!==e.spec&&void 0!==e.spec)switch(i=e.spec.hasOwnProperty("$objectType")?e.spec.$objectType:typeof e.spec,i){case"dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec":t.setSpec(Po.constructFromObject(e.spec,void 0));break;case"dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec":t.setSpec(jo.constructFromObject(e.spec,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperation(){return this.operation}setOperation(e){this.operation=e}getSpec(){return this.spec}setSpec(e){this.spec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson(!1):Array.isArray(this.getSpec())?this.getSpec().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ro(xo,this,Co).call(this,this.getSpec(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson():Array.isArray(this.getSpec())?this.getSpec().map(e=>void 0!==e.toJson?e.toJson():e):Ro(xo,this,Co).call(this,this.getSpec())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["operation","spec"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"operation"!==t||void 0!==this.operation&&null!==this.operation?"spec"!==t||void 0!==this.spec&&null!==this.spec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("spec","undefined or null"):new E("operation","undefined or null")}}function Co(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ao.prototype.operation=void 0,Ao.prototype.spec=void 0,Ao.prototype.$reserved=void 0,Ao.prototype.$objectType=void 0,Ao.prototype.$unknownFields=void 0;var So=new WeakSet;class Do{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=So),t.add(e),this.$objectType="dataprotection.v4.content.BaseRecoveryPointSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Do,e.hasOwnProperty("referenceRecoveryPointExtId")&&null!==e.referenceRecoveryPointExtId&&void 0!==e.referenceRecoveryPointExtId&&t.setReferenceRecoveryPointExtId(e.referenceRecoveryPointExtId),e.hasOwnProperty("referenceDiskRecoveryPointExtId")&&null!==e.referenceDiskRecoveryPointExtId&&void 0!==e.referenceDiskRecoveryPointExtId&&t.setReferenceDiskRecoveryPointExtId(e.referenceDiskRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceRecoveryPointExtId(){return this.referenceRecoveryPointExtId}setReferenceRecoveryPointExtId(e){this.referenceRecoveryPointExtId=e}getReferenceDiskRecoveryPointExtId(){return this.referenceDiskRecoveryPointExtId}setReferenceDiskRecoveryPointExtId(e){this.referenceDiskRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceRecoveryPointExtId"===t){if(void 0===this.referenceRecoveryPointExtId||null===this.referenceRecoveryPointExtId)return new E("referenceRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("referenceDiskRecoveryPointExtId"===t){if(void 0===this.referenceDiskRecoveryPointExtId||null===this.referenceDiskRecoveryPointExtId)return new E("referenceDiskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceDiskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceDiskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Do.prototype.referenceRecoveryPointExtId=void 0,Do.prototype.referenceDiskRecoveryPointExtId=void 0,Do.prototype.$reserved=void 0,Do.prototype.$objectType=void 0,Do.prototype.$unknownFields=void 0;var No=new WeakSet;class Uo extends Do{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=No),t.add(e),this.$objectType="dataprotection.v4.content.VmDiskRecoveryPointClusterDiscoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Uo,Do.constructFromObject(e,t,!0),e.hasOwnProperty("referenceVmRecoveryPointExtId")&&null!==e.referenceVmRecoveryPointExtId&&void 0!==e.referenceVmRecoveryPointExtId&&t.setReferenceVmRecoveryPointExtId(e.referenceVmRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceVmRecoveryPointExtId(){return this.referenceVmRecoveryPointExtId}setReferenceVmRecoveryPointExtId(e){this.referenceVmRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceVmRecoveryPointExtId"===t){if(void 0===this.referenceVmRecoveryPointExtId||null===this.referenceVmRecoveryPointExtId)return new E("referenceVmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceVmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceVmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}Uo.prototype.referenceVmRecoveryPointExtId=void 0,Do.prototype.referenceRecoveryPointExtId=void 0,Do.prototype.referenceDiskRecoveryPointExtId=void 0;var Mo=new WeakSet;class Jo extends Uo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Mo),t.add(e),this.$objectType="dataprotection.v4.content.VmRecoveryPointChangedRegionsComputeSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Jo,Uo.constructFromObject(e,t,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&t.setBlockSizeByte(e.blockSizeByte),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getBlockSizeByte(){return this.blockSizeByte}setBlockSizeByte(e){this.blockSizeByte=e}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{},...void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new E("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new E("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new E("blockSizeByte","undefined or null");if(!F.validateMaximum(this.blockSizeByte,262144))return new E("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!F.validateMinimum(this.blockSizeByte,32768))return new E("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new E(t,"no such property exists")}}Jo.prototype.offset=void 0,Jo.prototype.length=void 0,Jo.prototype.blockSizeByte=void 0,Uo.prototype.referenceVmRecoveryPointExtId=void 0,Do.prototype.referenceRecoveryPointExtId=void 0,Do.prototype.referenceDiskRecoveryPointExtId=void 0;var _o=new WeakSet;class Lo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=_o),n.add(t),this.value=e,this.$objectType="common.v1.config.IPv4Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Lo,e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("prefixLength")&&null!==e.prefixLength&&void 0!==e.prefixLength&&t.setPrefixLength(e.prefixLength),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValue(){return this.value}setValue(e){this.value=e}getPrefixLength(){return this.prefixLength}setPrefixLength(e){this.prefixLength=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["value"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new E("value","undefined or null");if(!F.validatePattern(this.value,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))return new E("value","does not satisfy required pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new E("prefixLength","undefined or null");if(!F.validateMaximum(this.prefixLength,32))return new E("prefixLength","does not satisfy required maximum constraint: 32");if(!F.validateMinimum(this.prefixLength,0))return new E("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Lo.prototype.value=void 0,Lo.prototype.prefixLength=32,Lo.prototype.$reserved=void 0,Lo.prototype.$objectType=void 0,Lo.prototype.$unknownFields=void 0;var Go=new WeakSet;class Vo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Go),n.add(t),this.value=e,this.$objectType="common.v1.config.IPv6Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vo,e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("prefixLength")&&null!==e.prefixLength&&void 0!==e.prefixLength&&t.setPrefixLength(e.prefixLength),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValue(){return this.value}setValue(e){this.value=e}getPrefixLength(){return this.prefixLength}setPrefixLength(e){this.prefixLength=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["value"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new E("value","undefined or null");if(!F.validatePattern(this.value,/^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/))return new E("value","does not satisfy required pattern: /^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new E("prefixLength","undefined or null");if(!F.validateMaximum(this.prefixLength,128))return new E("prefixLength","does not satisfy required maximum constraint: 128");if(!F.validateMinimum(this.prefixLength,0))return new E("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Vo.prototype.value=void 0,Vo.prototype.prefixLength=128,Vo.prototype.$reserved=void 0,Vo.prototype.$objectType=void 0,Vo.prototype.$unknownFields=void 0;var Wo=new WeakSet;class Bo{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Wo),t.add(e),this.$objectType="common.v1.config.IPAddress",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bo,e.hasOwnProperty("ipv4")&&null!==e.ipv4&&void 0!==e.ipv4&&t.setIpv4(Lo.constructFromObject(e.ipv4)),e.hasOwnProperty("ipv6")&&null!==e.ipv6&&void 0!==e.ipv6&&t.setIpv6(Vo.constructFromObject(e.ipv6)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpv4(){return this.ipv4}setIpv4(e){this.ipv4=e}getIpv6(){return this.ipv6}setIpv6(e){this.ipv6=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}hasIpv4(){return!(void 0===this.ipv4||null===this.ipv4)}hasIpv6(){return!(void 0===this.ipv6||null===this.ipv6)}isValid(){return this.hasIpv4()||this.hasIpv6()}toJson(e){return{...void 0!==this.getIpv4()&&null!==this.getIpv4()?{ipv4:this.getIpv4().toJson(!1)}:{},...void 0!==this.getIpv6()&&null!==this.getIpv6()?{ipv6:this.getIpv6().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"ipv4"!==t||void 0!==this.ipv4&&null!==this.ipv4?"ipv6"!==t||void 0!==this.ipv6&&null!==this.ipv6?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("ipv6","undefined or null"):new E("ipv4","undefined or null")}}Bo.prototype.ipv4=void 0,Bo.prototype.ipv6=void 0,Bo.prototype.$reserved=void 0,Bo.prototype.$objectType=void 0,Bo.prototype.$unknownFields=void 0;var qo=new WeakSet;class zo{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=qo),t.add(e),this.$objectType="dataprotection.v4.common.ClusterInfo",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zo,e.hasOwnProperty("jwtToken")&&null!==e.jwtToken&&void 0!==e.jwtToken&&t.setJwtToken(e.jwtToken),e.hasOwnProperty("clusterIp")&&null!==e.clusterIp&&void 0!==e.clusterIp&&t.setClusterIp(Bo.constructFromObject(e.clusterIp)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getJwtToken(){return this.jwtToken}setJwtToken(e){this.jwtToken=e}getClusterIp(){return this.clusterIp}setClusterIp(e){this.clusterIp=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getJwtToken()&&null!==this.getJwtToken()?{jwtToken:this.getJwtToken()}:{},...void 0!==this.getClusterIp()&&null!==this.getClusterIp()?{clusterIp:this.getClusterIp().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"jwtToken"!==t||void 0!==this.jwtToken&&null!==this.jwtToken?"clusterIp"!==t||void 0!==this.clusterIp&&null!==this.clusterIp?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("clusterIp","undefined or null"):new E("jwtToken","undefined or null")}}function Ko(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zo.prototype.jwtToken=void 0,zo.prototype.clusterIp=void 0,zo.prototype.$reserved=void 0,zo.prototype.$objectType=void 0,zo.prototype.$unknownFields=void 0;var Yo=new WeakSet;class Ho extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Yo),t.add(e),this.$objectType="dataprotection.v4.config.ClusterInfoApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ho,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.common.ClusterInfo":t.setData(zo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ko(Yo,this,Xo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ko(Yo,this,Xo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Xo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ho.prototype.metadata=void 0,Ho.prototype.data=void 0,Ho.prototype.$reserved=void 0,Ho.prototype.$objectType=void 0,Ho.prototype.$unknownFields=void 0;const Zo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",COMPLETE:"COMPLETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Zo).find(t=>Zo[t]===e);return null==t?Zo.$UNKNOWN:Zo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Zo.$UNKNOWN:case Zo.$REDACTED:case Zo.COMPLETE:return;default:throw new Error("Invalid : must be RecoveryPointStatus.{ $UNKNOWN|$REDACTED|COMPLETE }")}}};Object.freeze(Zo);const Qo=Zo,es={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CRASH_CONSISTENT:"CRASH_CONSISTENT",APPLICATION_CONSISTENT:"APPLICATION_CONSISTENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(es).find(t=>es[t]===e);return null==t?es.$UNKNOWN:es[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case es.$UNKNOWN:case es.$REDACTED:case es.CRASH_CONSISTENT:case es.APPLICATION_CONSISTENT:return;default:throw new Error("Invalid : must be RecoveryPointType.{ $UNKNOWN|$REDACTED|CRASH_CONSISTENT|APPLICATION_CONSISTENT }")}}};Object.freeze(es);const ts=es;function ns(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var is=new WeakSet;class os extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=is),t.add(e),this.$objectType="dataprotection.v4.common.BaseRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new os,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&t.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("creationTime")&&null!==e.creationTime&&void 0!==e.creationTime&&t.setCreationTime(e.creationTime),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Qo.constructFromObject(e.status)),e.hasOwnProperty("recoveryPointType")&&null!==e.recoveryPointType&&void 0!==e.recoveryPointType&&t.setRecoveryPointType(ts.constructFromObject(e.recoveryPointType)),e.hasOwnProperty("totalExclusiveUsageBytes")&&null!==e.totalExclusiveUsageBytes&&void 0!==e.totalExclusiveUsageBytes&&t.setTotalExclusiveUsageBytes(e.totalExclusiveUsageBytes),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocationAgnosticId(){return this.locationAgnosticId}setLocationAgnosticId(e){this.locationAgnosticId=e}getName(){return this.name}setName(e){this.name=e}getCreationTime(){return this.creationTime}setCreationTime(e){this.creationTime=e}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getRecoveryPointType(){return this.recoveryPointType}setRecoveryPointType(e){this.recoveryPointType=e}getTotalExclusiveUsageBytes(){return this.totalExclusiveUsageBytes}setTotalExclusiveUsageBytes(e){this.totalExclusiveUsageBytes=e}toJson(e){return!1===e?{...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:ns(is,this,ss).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ns(is,this,ss).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ns(is,this,ss).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new E("locationAgnosticId","undefined or null");if(!F.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"creationTime"!==t||void 0!==this.creationTime&&null!==this.creationTime?"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"status"!==t||void 0!==this.status&&null!==this.status?"recoveryPointType"!==t||void 0!==this.recoveryPointType&&null!==this.recoveryPointType?"totalExclusiveUsageBytes"!==t||void 0!==this.totalExclusiveUsageBytes&&null!==this.totalExclusiveUsageBytes?new E(t,"no such property exists"):new E("totalExclusiveUsageBytes","undefined or null"):new E("recoveryPointType","undefined or null"):new E("status","undefined or null"):new E("expirationTime","undefined or null"):new E("creationTime","undefined or null")}}function ss(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}os.prototype.locationAgnosticId=void 0,os.prototype.name=void 0,os.prototype.creationTime=void 0,os.prototype.expirationTime=void 0,os.prototype.status=void 0,os.prototype.recoveryPointType=void 0,os.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var rs=new WeakSet;class as{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=rs),i.add(n),this.domainManagerExtId=e,this.clusterExtIds=t,this.$objectType="dataprotection.v4.config.DisasterRecoveryLocation",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new as,e.hasOwnProperty("domainManagerExtId")&&null!==e.domainManagerExtId&&void 0!==e.domainManagerExtId&&t.setDomainManagerExtId(e.domainManagerExtId),e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(s=[],i=e.clusterExtIds,o=0;o<i.length;o++)s.push(i[o]);t.setClusterExtIds(s)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDomainManagerExtId(){return this.domainManagerExtId}setDomainManagerExtId(e){this.domainManagerExtId=e}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDomainManagerExtId()&&null!==this.getDomainManagerExtId()?{domainManagerExtId:this.getDomainManagerExtId()}:{},...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["domainManagerExtId","clusterExtIds"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("domainManagerExtId"===t){if(void 0===this.domainManagerExtId||null===this.domainManagerExtId)return new E("domainManagerExtId","undefined or null");if(!F.validatePattern(this.domainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("domainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new E("clusterExtIds","undefined or null");if(!F.validateMaxItems(this.clusterExtIds,100))return new E("clusterExtIds","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}as.prototype.domainManagerExtId=void 0,as.prototype.clusterExtIds=void 0,as.prototype.$reserved=void 0,as.prototype.$objectType=void 0,as.prototype.$unknownFields=void 0;var ls=new WeakSet;class ds{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ls),t.add(e),this.$objectType="dataprotection.v4.config.LocationReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ds,e.hasOwnProperty("locationExtId")&&null!==e.locationExtId&&void 0!==e.locationExtId&&t.setLocationExtId(e.locationExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocationExtId(){return this.locationExtId}setLocationExtId(e){this.locationExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocationExtId()&&null!==this.getLocationExtId()?{locationExtId:this.getLocationExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("locationExtId"===t){if(void 0===this.locationExtId||null===this.locationExtId)return new E("locationExtId","undefined or null");if(!F.validatePattern(this.locationExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ds.prototype.locationExtId=void 0,ds.prototype.$reserved=void 0,ds.prototype.$objectType=void 0,ds.prototype.$unknownFields=void 0;var us=new WeakSet;class cs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=us),t.add(e),this.$objectType="dataprotection.v4.common.DiskRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cs,e.hasOwnProperty("diskRecoveryPointExtId")&&null!==e.diskRecoveryPointExtId&&void 0!==e.diskRecoveryPointExtId&&t.setDiskRecoveryPointExtId(e.diskRecoveryPointExtId),e.hasOwnProperty("diskExtId")&&null!==e.diskExtId&&void 0!==e.diskExtId&&t.setDiskExtId(e.diskExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDiskRecoveryPointExtId(){return this.diskRecoveryPointExtId}setDiskRecoveryPointExtId(e){this.diskRecoveryPointExtId=e}getDiskExtId(){return this.diskExtId}setDiskExtId(e){this.diskExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},...void 0!==this.getDiskExtId()&&null!==this.getDiskExtId()?{diskExtId:this.getDiskExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new E("diskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskExtId"===t){if(void 0===this.diskExtId||null===this.diskExtId)return new E("diskExtId","undefined or null");if(!F.validatePattern(this.diskExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}cs.prototype.diskRecoveryPointExtId=void 0,cs.prototype.diskExtId=void 0,cs.prototype.$reserved=void 0,cs.prototype.$objectType=void 0,cs.prototype.$unknownFields=void 0;const hs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_BACKUP:"FULL_BACKUP",COPY_BACKUP:"COPY_BACKUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hs).find(t=>hs[t]===e);return null==t?hs.$UNKNOWN:hs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hs.$UNKNOWN:case hs.$REDACTED:case hs.FULL_BACKUP:case hs.COPY_BACKUP:return;default:throw new Error("Invalid : must be BackupType.{ $UNKNOWN|$REDACTED|FULL_BACKUP|COPY_BACKUP }")}}};Object.freeze(hs);const ps=hs;var vs=new WeakSet;class ys{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=vs),n.add(t),this.backupType=e,this.$objectType="dataprotection.v4.common.VssProperties",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new ys,e.hasOwnProperty("backupType")&&null!==e.backupType&&void 0!==e.backupType&&t.setBackupType(ps.constructFromObject(e.backupType)),e.hasOwnProperty("shouldIncludeWriters")&&null!==e.shouldIncludeWriters&&void 0!==e.shouldIncludeWriters&&t.setShouldIncludeWriters(e.shouldIncludeWriters),e.hasOwnProperty("writers")&&null!==e.writers&&void 0!==e.writers){for(s=[],i=e.writers,o=0;o<i.length;o++)s.push(i[o]);t.setWriters(s)}if(e.hasOwnProperty("shouldStoreVssMetadata")&&null!==e.shouldStoreVssMetadata&&void 0!==e.shouldStoreVssMetadata&&t.setShouldStoreVssMetadata(e.shouldStoreVssMetadata),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBackupType(){return this.backupType}setBackupType(e){this.backupType=e}getShouldIncludeWriters(){return this.shouldIncludeWriters}setShouldIncludeWriters(e){this.shouldIncludeWriters=e}getWriters(){return this.writers}setWriters(e){this.writers=e}getShouldStoreVssMetadata(){return this.shouldStoreVssMetadata}setShouldStoreVssMetadata(e){this.shouldStoreVssMetadata=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getBackupType()&&null!==this.getBackupType()?{backupType:this.getBackupType()}:{},...void 0!==this.getShouldIncludeWriters()&&null!==this.getShouldIncludeWriters()?{shouldIncludeWriters:this.getShouldIncludeWriters()}:{},...void 0!==this.getWriters()&&null!==this.getWriters()?{writers:this.getWriters()}:{},...void 0!==this.getShouldStoreVssMetadata()&&null!==this.getShouldStoreVssMetadata()?{shouldStoreVssMetadata:this.getShouldStoreVssMetadata()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["backupType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("backupType"===t&&(void 0===this.backupType||null===this.backupType))return new E("backupType","undefined or null");if("shouldIncludeWriters"===t&&(void 0===this.shouldIncludeWriters||null===this.shouldIncludeWriters))return new E("shouldIncludeWriters","undefined or null");if("writers"===t){if(void 0===this.writers||null===this.writers)return new E("writers","undefined or null");if(!F.validateMaxItems(this.writers,25))return new E("writers","does not satisfy required maxItems constraint: 25");if(!F.validateMinItems(this.writers,1))return new E("writers","does not satisfy required minItems constraint: 1")}return"shouldStoreVssMetadata"!==t||void 0!==this.shouldStoreVssMetadata&&null!==this.shouldStoreVssMetadata?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("shouldStoreVssMetadata","undefined or null")}}function gs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ys.prototype.backupType=void 0,ys.prototype.shouldIncludeWriters=!1,ys.prototype.writers=void 0,ys.prototype.shouldStoreVssMetadata=!1,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var fs=new WeakSet;class $s extends os{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=fs),t.add(e),this.$objectType="dataprotection.v4.common.BaseVmRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new $s,os.constructFromObject(e,t,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(r=[],i=e.diskRecoveryPoints,s=0;s<i.length;s++)o=cs.constructFromObject(i[s],void 0),r.push(o);t.setDiskRecoveryPoints(r)}if(e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&t.setVmExtId(e.vmExtId),e.hasOwnProperty("vmCategories")&&null!==e.vmCategories&&void 0!==e.vmCategories){for(r=[],i=e.vmCategories,s=0;s<i.length;s++)r.push(i[s]);t.setVmCategories(r)}if(e.hasOwnProperty("applicationConsistentProperties")&&null!==e.applicationConsistentProperties&&void 0!==e.applicationConsistentProperties){if(a=e.applicationConsistentProperties.hasOwnProperty("$objectType")?e.applicationConsistentProperties.$objectType:typeof e.applicationConsistentProperties,"dataprotection.v4.common.VssProperties"!==a)throw"Unknown datatype "+a+" in data";t.setApplicationConsistentProperties(ys.constructFromObject(e.applicationConsistentProperties,void 0))}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getDiskRecoveryPoints(){return this.diskRecoveryPoints}setDiskRecoveryPoints(e){this.diskRecoveryPoints=e}getVmExtId(){return this.vmExtId}setVmExtId(e){this.vmExtId=e}getVmCategories(){return this.vmCategories}setVmCategories(e){this.vmCategories=e}getApplicationConsistentProperties(){return this.applicationConsistentProperties}setApplicationConsistentProperties(e){this.applicationConsistentProperties=e}toJson(e){return!1===e?{...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson(!1):e):gs(fs,this,ws).call(this,this.getApplicationConsistentProperties(),!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:gs(fs,this,ms).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:gs(fs,this,ms).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson():e):gs(fs,this,ws).call(this,this.getApplicationConsistentProperties())}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:gs(fs,this,ms).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new E("diskRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.diskRecoveryPoints,1024))return new E("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!F.validateMinItems(this.diskRecoveryPoints,1))return new E("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new E("vmExtId","undefined or null");if(!F.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmCategories"===t){if(void 0===this.vmCategories||null===this.vmCategories)return new E("vmCategories","undefined or null");if(!F.validateMaxItems(this.vmCategories,256))return new E("vmCategories","does not satisfy required maxItems constraint: 256");if(!F.validateMinItems(this.vmCategories,1))return new E("vmCategories","does not satisfy required minItems constraint: 1")}return"applicationConsistentProperties"!==t||void 0!==this.applicationConsistentProperties&&null!==this.applicationConsistentProperties?new E(t,"no such property exists"):new E("applicationConsistentProperties","undefined or null")}}function ws(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ms(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}$s.prototype.consistencyGroupExtId=void 0,$s.prototype.diskRecoveryPoints=void 0,$s.prototype.vmExtId=void 0,$s.prototype.vmCategories=void 0,$s.prototype.applicationConsistentProperties=void 0,os.prototype.locationAgnosticId=void 0,os.prototype.name=void 0,os.prototype.creationTime=void 0,os.prototype.expirationTime=void 0,os.prototype.status=void 0,os.prototype.recoveryPointType=void 0,os.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const ks={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AHV:"AHV",ESXI:"ESXI",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ks).find(t=>ks[t]===e);return null==t?ks.$UNKNOWN:ks[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ks.$UNKNOWN:case ks.$REDACTED:case ks.AHV:case ks.ESXI:return;default:throw new Error("Invalid : must be HypervisorType.{ $UNKNOWN|$REDACTED|AHV|ESXI }")}}};Object.freeze(ks);const Ts=ks;function bs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Fs=new WeakSet;class Es extends $s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fs),t.add(e),this.$objectType="dataprotection.v4.config.VmRecoveryPoint",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Es,$s.constructFromObject(e,t,!0),e.hasOwnProperty("hypervisorType")&&null!==e.hypervisorType&&void 0!==e.hypervisorType&&t.setHypervisorType(Ts.constructFromObject(e.hypervisorType)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHypervisorType(){return this.hypervisorType}setHypervisorType(e){this.hypervisorType=e}toJson(e){return!1===e?{...void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson(!1):e):bs(Fs,this,js).call(this,this.getApplicationConsistentProperties(),!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:bs(Fs,this,Os).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:bs(Fs,this,Os).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson():e):bs(Fs,this,js).call(this,this.getApplicationConsistentProperties())}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:bs(Fs,this,Os).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"hypervisorType"!==t||void 0!==this.hypervisorType&&null!==this.hypervisorType?new E(t,"no such property exists"):new E("hypervisorType","undefined or null")}}function js(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Os(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Es.prototype.hypervisorType=void 0,$s.prototype.consistencyGroupExtId=void 0,$s.prototype.diskRecoveryPoints=void 0,$s.prototype.vmExtId=void 0,$s.prototype.vmCategories=void 0,$s.prototype.applicationConsistentProperties=void 0,os.prototype.locationAgnosticId=void 0,os.prototype.name=void 0,os.prototype.creationTime=void 0,os.prototype.expirationTime=void 0,os.prototype.status=void 0,os.prototype.recoveryPointType=void 0,os.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Is=new WeakSet;class Ps extends Ae{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Is),n.add(t),this.volumeGroupExtId=e,this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPoint",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ps,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&t.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&t.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupCategories")&&null!==e.volumeGroupCategories&&void 0!==e.volumeGroupCategories){for(r=[],i=e.volumeGroupCategories,s=0;s<i.length;s++)r.push(i[s]);t.setVolumeGroupCategories(r)}if(e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(r=[],i=e.diskRecoveryPoints,s=0;s<i.length;s++)o=cs.constructFromObject(i[s],void 0),r.push(o);t.setDiskRecoveryPoints(r)}if(e.hasOwnProperty("totalExclusiveUsageBytes")&&null!==e.totalExclusiveUsageBytes&&void 0!==e.totalExclusiveUsageBytes&&t.setTotalExclusiveUsageBytes(e.totalExclusiveUsageBytes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getLocationAgnosticId(){return this.locationAgnosticId}setLocationAgnosticId(e){this.locationAgnosticId=e}getVolumeGroupExtId(){return this.volumeGroupExtId}setVolumeGroupExtId(e){this.volumeGroupExtId=e}getVolumeGroupCategories(){return this.volumeGroupCategories}setVolumeGroupCategories(e){this.volumeGroupCategories=e}getDiskRecoveryPoints(){return this.diskRecoveryPoints}setDiskRecoveryPoints(e){this.diskRecoveryPoints=e}getTotalExclusiveUsageBytes(){return this.totalExclusiveUsageBytes}setTotalExclusiveUsageBytes(e){this.totalExclusiveUsageBytes=e}toJson(e){return!1===e?{...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},...void 0!==this.getVolumeGroupCategories()&&null!==this.getVolumeGroupCategories()?{volumeGroupCategories:this.getVolumeGroupCategories()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["volumeGroupExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new E("locationAgnosticId","undefined or null");if(!F.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new E("volumeGroupExtId","undefined or null");if(!F.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupCategories"===t){if(void 0===this.volumeGroupCategories||null===this.volumeGroupCategories)return new E("volumeGroupCategories","undefined or null");if(!F.validateMaxItems(this.volumeGroupCategories,20))return new E("volumeGroupCategories","does not satisfy required maxItems constraint: 20");if(!F.validateMinItems(this.volumeGroupCategories,1))return new E("volumeGroupCategories","does not satisfy required minItems constraint: 1")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new E("diskRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.diskRecoveryPoints,1024))return new E("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!F.validateMinItems(this.diskRecoveryPoints,1))return new E("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}return"totalExclusiveUsageBytes"!==t||void 0!==this.totalExclusiveUsageBytes&&null!==this.totalExclusiveUsageBytes?new E(t,"no such property exists"):new E("totalExclusiveUsageBytes","undefined or null")}}function Rs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ps.prototype.consistencyGroupExtId=void 0,Ps.prototype.locationAgnosticId=void 0,Ps.prototype.volumeGroupExtId=void 0,Ps.prototype.volumeGroupCategories=void 0,Ps.prototype.diskRecoveryPoints=void 0,Ps.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var xs=new WeakSet;class As extends os{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xs),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPoint",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new As,os.constructFromObject(e,t,!0),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("locationReferences")&&null!==e.locationReferences&&void 0!==e.locationReferences){for(r=[],i=e.locationReferences,s=0;s<i.length;s++)o=ds.constructFromObject(i[s],void 0),r.push(o);t.setLocationReferences(r)}if(e.hasOwnProperty("vmRecoveryPoints")&&null!==e.vmRecoveryPoints&&void 0!==e.vmRecoveryPoints){for(r=[],i=e.vmRecoveryPoints,s=0;s<i.length;s++)o=Es.constructFromObject(i[s],void 0),r.push(o);t.setVmRecoveryPoints(r)}if(e.hasOwnProperty("volumeGroupRecoveryPoints")&&null!==e.volumeGroupRecoveryPoints&&void 0!==e.volumeGroupRecoveryPoints){for(r=[],i=e.volumeGroupRecoveryPoints,s=0;s<i.length;s++)o=Ps.constructFromObject(i[s],void 0),r.push(o);t.setVolumeGroupRecoveryPoints(r)}if(e.hasOwnProperty("isSecure")&&null!==e.isSecure&&void 0!==e.isSecure&&t.setIsSecure(e.isSecure),e.hasOwnProperty("sourceLocation")&&null!==e.sourceLocation&&void 0!==e.sourceLocation&&t.setSourceLocation(as.constructFromObject(e.sourceLocation)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}getLocationReferences(){return this.locationReferences}setLocationReferences(e){this.locationReferences=e}getVmRecoveryPoints(){return this.vmRecoveryPoints}setVmRecoveryPoints(e){this.vmRecoveryPoints=e}getVolumeGroupRecoveryPoints(){return this.volumeGroupRecoveryPoints}setVolumeGroupRecoveryPoints(e){this.volumeGroupRecoveryPoints=e}getIsSecure(){return this.isSecure}setIsSecure(e){this.isSecure=e}getSourceLocation(){return this.sourceLocation}setSourceLocation(e){this.sourceLocation=e}toJson(e){return!1===e?{...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getLocationReferences()&&null!==this.getLocationReferences()?{locationReferences:this.getLocationReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsSecure()&&null!==this.getIsSecure()?{isSecure:this.getIsSecure()}:{},...void 0!==this.getSourceLocation()&&null!==this.getSourceLocation()?{sourceLocation:this.getSourceLocation().toJson(!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Rs(xs,this,Cs).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Rs(xs,this,Cs).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getSourceLocation()&&null!==this.getSourceLocation()?{sourceLocation:this.getSourceLocation().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Rs(xs,this,Cs).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationReferences"===t){if(void 0===this.locationReferences||null===this.locationReferences)return new E("locationReferences","undefined or null");if(!F.validateMaxItems(this.locationReferences,1))return new E("locationReferences","does not satisfy required maxItems constraint: 1");if(!F.validateMinItems(this.locationReferences,1))return new E("locationReferences","does not satisfy required minItems constraint: 1")}if("vmRecoveryPoints"===t){if(void 0===this.vmRecoveryPoints||null===this.vmRecoveryPoints)return new E("vmRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.vmRecoveryPoints,32))return new E("vmRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.vmRecoveryPoints,1))return new E("vmRecoveryPoints","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPoints"===t){if(void 0===this.volumeGroupRecoveryPoints||null===this.volumeGroupRecoveryPoints)return new E("volumeGroupRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.volumeGroupRecoveryPoints,32))return new E("volumeGroupRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.volumeGroupRecoveryPoints,1))return new E("volumeGroupRecoveryPoints","does not satisfy required minItems constraint: 1")}return"isSecure"!==t||void 0!==this.isSecure&&null!==this.isSecure?"sourceLocation"!==t||void 0!==this.sourceLocation&&null!==this.sourceLocation?new E(t,"no such property exists"):new E("sourceLocation","undefined or null"):new E("isSecure","undefined or null")}}function Cs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}As.prototype.ownerExtId=void 0,As.prototype.locationReferences=void 0,As.prototype.vmRecoveryPoints=void 0,As.prototype.volumeGroupRecoveryPoints=void 0,As.prototype.isSecure=void 0,As.prototype.sourceLocation=void 0,os.prototype.locationAgnosticId=void 0,os.prototype.name=void 0,os.prototype.creationTime=void 0,os.prototype.expirationTime=void 0,os.prototype.status=void 0,os.prototype.recoveryPointType=void 0,os.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Ss extends As{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPointProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ss,As.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Ds(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ns=new WeakSet;class Us extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ns),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPointsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Us,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPoint":o=As.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPointProjection":o=Ss.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ds(Ns,this,Ms).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ds(Ns,this,Ms).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ms(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Us.prototype.metadata=void 0,Us.prototype.data=void 0,Us.prototype.$reserved=void 0,Us.prototype.$objectType=void 0,Us.prototype.$unknownFields=void 0;var Js=new WeakSet;class _s{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Js),t.add(e),this.$objectType="vmm.v4.ahv.config.CategoryReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _s,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}_s.prototype.extId=void 0,_s.prototype.$reserved=void 0,_s.prototype.$objectType=void 0,_s.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Gs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ls),t.add(e),this.$objectType="vmm.v4.ahv.config.OwnerReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Gs,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Gs.prototype.extId=void 0,Gs.prototype.$reserved=void 0,Gs.prototype.$objectType=void 0,Gs.prototype.$unknownFields=void 0;var Vs=new WeakSet;class Ws{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vs),t.add(e),this.$objectType="vmm.v4.ahv.config.OwnershipInfo",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ws,e.hasOwnProperty("owner")&&null!==e.owner&&void 0!==e.owner&&t.setOwner(Gs.constructFromObject(e.owner)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOwner(){return this.owner}setOwner(e){this.owner=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOwner()&&null!==this.getOwner()?{owner:this.getOwner().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"owner"!==t||void 0!==this.owner&&null!==this.owner?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("owner","undefined or null")}}Ws.prototype.owner=void 0,Ws.prototype.$reserved=void 0,Ws.prototype.$objectType=void 0,Ws.prototype.$unknownFields=void 0;var Bs=new WeakSet;class qs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Bs),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreGuestToolsSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qs,e.hasOwnProperty("shouldClearInGuestVolumeGroupAttachments")&&null!==e.shouldClearInGuestVolumeGroupAttachments&&void 0!==e.shouldClearInGuestVolumeGroupAttachments&&t.setShouldClearInGuestVolumeGroupAttachments(e.shouldClearInGuestVolumeGroupAttachments),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldClearInGuestVolumeGroupAttachments(){return this.shouldClearInGuestVolumeGroupAttachments}setShouldClearInGuestVolumeGroupAttachments(e){this.shouldClearInGuestVolumeGroupAttachments=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldClearInGuestVolumeGroupAttachments()&&null!==this.getShouldClearInGuestVolumeGroupAttachments()?{shouldClearInGuestVolumeGroupAttachments:this.getShouldClearInGuestVolumeGroupAttachments()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldClearInGuestVolumeGroupAttachments"!==t||void 0!==this.shouldClearInGuestVolumeGroupAttachments&&null!==this.shouldClearInGuestVolumeGroupAttachments?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("shouldClearInGuestVolumeGroupAttachments","undefined or null")}}qs.prototype.shouldClearInGuestVolumeGroupAttachments=!1,qs.prototype.$reserved=void 0,qs.prototype.$objectType=void 0,qs.prototype.$unknownFields=void 0;var zs=new WeakSet;class Ks{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=zs),t.add(e),this.$objectType="vmm.v4.ahv.config.GuestStaticIpSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ks,e.hasOwnProperty("ipv4Address")&&null!==e.ipv4Address&&void 0!==e.ipv4Address&&t.setIpv4Address(Lo.constructFromObject(e.ipv4Address)),e.hasOwnProperty("gatewayIpv4AddressList")&&null!==e.gatewayIpv4AddressList&&void 0!==e.gatewayIpv4AddressList){for(r=[],i=e.gatewayIpv4AddressList,s=0;s<i.length;s++)o=Lo.constructFromObject(i[s],void 0),r.push(o);t.setGatewayIpv4AddressList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpv4Address(){return this.ipv4Address}setIpv4Address(e){this.ipv4Address=e}getGatewayIpv4AddressList(){return this.gatewayIpv4AddressList}setGatewayIpv4AddressList(e){this.gatewayIpv4AddressList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIpv4Address()&&null!==this.getIpv4Address()?{ipv4Address:this.getIpv4Address().toJson(!1)}:{},...void 0!==this.getGatewayIpv4AddressList()&&null!==this.getGatewayIpv4AddressList()?{gatewayIpv4AddressList:this.getGatewayIpv4AddressList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ipv4Address"===t&&(void 0===this.ipv4Address||null===this.ipv4Address))return new E("ipv4Address","undefined or null");if("gatewayIpv4AddressList"===t){if(void 0===this.gatewayIpv4AddressList||null===this.gatewayIpv4AddressList)return new E("gatewayIpv4AddressList","undefined or null");if(!F.validateMaxItems(this.gatewayIpv4AddressList,100))return new E("gatewayIpv4AddressList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Ks.prototype.ipv4Address=void 0,Ks.prototype.gatewayIpv4AddressList=void 0,Ks.prototype.$reserved=void 0,Ks.prototype.$objectType=void 0,Ks.prototype.$unknownFields=void 0;var Ys=new WeakSet;class Hs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ys),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreGuestNicInfoOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Hs,e.hasOwnProperty("guestStaticIpList")&&null!==e.guestStaticIpList&&void 0!==e.guestStaticIpList){for(r=[],i=e.guestStaticIpList,s=0;s<i.length;s++)o=Ks.constructFromObject(i[s],void 0),r.push(o);t.setGuestStaticIpList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGuestStaticIpList(){return this.guestStaticIpList}setGuestStaticIpList(e){this.guestStaticIpList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGuestStaticIpList()&&null!==this.getGuestStaticIpList()?{guestStaticIpList:this.getGuestStaticIpList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("guestStaticIpList"===t){if(void 0===this.guestStaticIpList||null===this.guestStaticIpList)return new E("guestStaticIpList","undefined or null");if(!F.validateMaxItems(this.guestStaticIpList,100))return new E("guestStaticIpList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Hs.prototype.guestStaticIpList=void 0,Hs.prototype.$reserved=void 0,Hs.prototype.$objectType=void 0,Hs.prototype.$unknownFields=void 0;var Xs=new WeakSet;class Zs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xs),t.add(e),this.$objectType="vmm.v4.ahv.config.SubnetReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Zs,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Zs.prototype.extId=void 0,Zs.prototype.$reserved=void 0,Zs.prototype.$objectType=void 0,Zs.prototype.$unknownFields=void 0;var Qs=new WeakSet;class er{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Qs),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreIpv4ConfigOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new er,e.hasOwnProperty("ipAddress")&&null!==e.ipAddress&&void 0!==e.ipAddress&&t.setIpAddress(Lo.constructFromObject(e.ipAddress)),e.hasOwnProperty("secondaryIpAddressList")&&null!==e.secondaryIpAddressList&&void 0!==e.secondaryIpAddressList){for(r=[],i=e.secondaryIpAddressList,s=0;s<i.length;s++)o=Lo.constructFromObject(i[s],void 0),r.push(o);t.setSecondaryIpAddressList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpAddress(){return this.ipAddress}setIpAddress(e){this.ipAddress=e}getSecondaryIpAddressList(){return this.secondaryIpAddressList}setSecondaryIpAddressList(e){this.secondaryIpAddressList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIpAddress()&&null!==this.getIpAddress()?{ipAddress:this.getIpAddress().toJson(!1)}:{},...void 0!==this.getSecondaryIpAddressList()&&null!==this.getSecondaryIpAddressList()?{secondaryIpAddressList:this.getSecondaryIpAddressList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ipAddress"===t&&(void 0===this.ipAddress||null===this.ipAddress))return new E("ipAddress","undefined or null");if("secondaryIpAddressList"===t){if(void 0===this.secondaryIpAddressList||null===this.secondaryIpAddressList)return new E("secondaryIpAddressList","undefined or null");if(!F.validateMaxItems(this.secondaryIpAddressList,100))return new E("secondaryIpAddressList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}er.prototype.ipAddress=void 0,er.prototype.secondaryIpAddressList=void 0,er.prototype.$reserved=void 0,er.prototype.$objectType=void 0,er.prototype.$unknownFields=void 0;var tr=new WeakSet;class nr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=tr),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nr,e.hasOwnProperty("subnet")&&null!==e.subnet&&void 0!==e.subnet&&t.setSubnet(Zs.constructFromObject(e.subnet)),e.hasOwnProperty("ipv4Config")&&null!==e.ipv4Config&&void 0!==e.ipv4Config&&t.setIpv4Config(er.constructFromObject(e.ipv4Config)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSubnet(){return this.subnet}setSubnet(e){this.subnet=e}getIpv4Config(){return this.ipv4Config}setIpv4Config(e){this.ipv4Config=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSubnet()&&null!==this.getSubnet()?{subnet:this.getSubnet().toJson(!1)}:{},...void 0!==this.getIpv4Config()&&null!==this.getIpv4Config()?{ipv4Config:this.getIpv4Config().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"subnet"!==t||void 0!==this.subnet&&null!==this.subnet?"ipv4Config"!==t||void 0!==this.ipv4Config&&null!==this.ipv4Config?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("ipv4Config","undefined or null"):new E("subnet","undefined or null")}}nr.prototype.subnet=void 0,nr.prototype.ipv4Config=void 0,nr.prototype.$reserved=void 0,nr.prototype.$objectType=void 0,nr.prototype.$unknownFields=void 0;var ir=new WeakSet;class or{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ir),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new or,e.hasOwnProperty("macAddress")&&null!==e.macAddress&&void 0!==e.macAddress&&t.setMacAddress(e.macAddress),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMacAddress(){return this.macAddress}setMacAddress(e){this.macAddress=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMacAddress()&&null!==this.getMacAddress()?{macAddress:this.getMacAddress()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("macAddress"===t){if(void 0===this.macAddress||null===this.macAddress)return new E("macAddress","undefined or null");if(!F.validatePattern(this.macAddress,/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/))return new E("macAddress","does not satisfy required pattern: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}or.prototype.macAddress=void 0,or.prototype.$reserved=void 0,or.prototype.$objectType=void 0,or.prototype.$unknownFields=void 0;var rr=new WeakSet;class ar{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=rr),n.add(t),this.nicExtId=e,this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigOverrideParams",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ar,e.hasOwnProperty("nicExtId")&&null!==e.nicExtId&&void 0!==e.nicExtId&&t.setNicExtId(e.nicExtId),e.hasOwnProperty("nicBackingInfo")&&null!==e.nicBackingInfo&&void 0!==e.nicBackingInfo){if(i=e.nicBackingInfo.hasOwnProperty("$objectType")?e.nicBackingInfo.$objectType:typeof e.nicBackingInfo,"vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec"!==i)throw"Unknown datatype "+i+" in data";t.setNicBackingInfo(or.constructFromObject(e.nicBackingInfo,void 0))}if(e.hasOwnProperty("nicNetworkInfo")&&null!==e.nicNetworkInfo&&void 0!==e.nicNetworkInfo){if(i=e.nicNetworkInfo.hasOwnProperty("$objectType")?e.nicNetworkInfo.$objectType:typeof e.nicNetworkInfo,"vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec"!==i)throw"Unknown datatype "+i+" in data";t.setNicNetworkInfo(nr.constructFromObject(e.nicNetworkInfo,void 0))}if(e.hasOwnProperty("guestNicInfo")&&null!==e.guestNicInfo&&void 0!==e.guestNicInfo&&t.setGuestNicInfo(Hs.constructFromObject(e.guestNicInfo)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNicExtId(){return this.nicExtId}setNicExtId(e){this.nicExtId=e}getNicBackingInfo(){return this.nicBackingInfo}setNicBackingInfo(e){this.nicBackingInfo=e}getNicNetworkInfo(){return this.nicNetworkInfo}setNicNetworkInfo(e){this.nicNetworkInfo=e}getGuestNicInfo(){return this.guestNicInfo}setGuestNicInfo(e){this.guestNicInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{},...void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson(!1):Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(e=>void 0!==e.toJson?e.toJson(!1):e):sr(rr,this,lr).call(this,this.getNicBackingInfo(),!1)}:{},...void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson(!1):Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(e=>void 0!==e.toJson?e.toJson(!1):e):sr(rr,this,lr).call(this,this.getNicNetworkInfo(),!1)}:{},...void 0!==this.getGuestNicInfo()&&null!==this.getGuestNicInfo()?{guestNicInfo:this.getGuestNicInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{},...void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson():Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(e=>void 0!==e.toJson?e.toJson():e):sr(rr,this,lr).call(this,this.getNicBackingInfo())}:{},...void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson():Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(e=>void 0!==e.toJson?e.toJson():e):sr(rr,this,lr).call(this,this.getNicNetworkInfo())}:{},...void 0!==this.getGuestNicInfo()&&null!==this.getGuestNicInfo()?{guestNicInfo:this.getGuestNicInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["nicExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("nicExtId"===t){if(void 0===this.nicExtId||null===this.nicExtId)return new E("nicExtId","undefined or null");if(!F.validatePattern(this.nicExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("nicExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"nicBackingInfo"!==t||void 0!==this.nicBackingInfo&&null!==this.nicBackingInfo?"nicNetworkInfo"!==t||void 0!==this.nicNetworkInfo&&null!==this.nicNetworkInfo?"guestNicInfo"!==t||void 0!==this.guestNicInfo&&null!==this.guestNicInfo?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("guestNicInfo","undefined or null"):new E("nicNetworkInfo","undefined or null"):new E("nicBackingInfo","undefined or null")}}function lr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ar.prototype.nicExtId=void 0,ar.prototype.nicBackingInfo=void 0,ar.prototype.nicNetworkInfo=void 0,ar.prototype.guestNicInfo=void 0,ar.prototype.$reserved=void 0,ar.prototype.$objectType=void 0,ar.prototype.$unknownFields=void 0;var dr=new WeakSet;class ur{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=dr),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ur,e.hasOwnProperty("nicRemoveList")&&null!==e.nicRemoveList&&void 0!==e.nicRemoveList){for(r=[],i=e.nicRemoveList,s=0;s<i.length;s++)r.push(i[s]);t.setNicRemoveList(r)}if(e.hasOwnProperty("nicOverrideList")&&null!==e.nicOverrideList&&void 0!==e.nicOverrideList){for(r=[],i=e.nicOverrideList,s=0;s<i.length;s++)o=ar.constructFromObject(i[s],void 0),r.push(o);t.setNicOverrideList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNicRemoveList(){return this.nicRemoveList}setNicRemoveList(e){this.nicRemoveList=e}getNicOverrideList(){return this.nicOverrideList}setNicOverrideList(e){this.nicOverrideList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNicRemoveList()&&null!==this.getNicRemoveList()?{nicRemoveList:this.getNicRemoveList()}:{},...void 0!==this.getNicOverrideList()&&null!==this.getNicOverrideList()?{nicOverrideList:this.getNicOverrideList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("nicRemoveList"===t){if(void 0===this.nicRemoveList||null===this.nicRemoveList)return new E("nicRemoveList","undefined or null");if(!F.validateMaxItems(this.nicRemoveList,64))return new E("nicRemoveList","does not satisfy required maxItems constraint: 64")}if("nicOverrideList"===t){if(void 0===this.nicOverrideList||null===this.nicOverrideList)return new E("nicOverrideList","undefined or null");if(!F.validateMaxItems(this.nicOverrideList,64))return new E("nicOverrideList","does not satisfy required maxItems constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ur.prototype.nicRemoveList=void 0,ur.prototype.nicOverrideList=void 0,ur.prototype.$reserved=void 0,ur.prototype.$objectType=void 0,ur.prototype.$unknownFields=void 0;var cr=new WeakSet;class hr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=cr),t.add(e),this.$objectType="vmm.v4.ahv.config.VmConfigOverrideSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new hr,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("nicSpec")&&null!==e.nicSpec&&void 0!==e.nicSpec&&t.setNicSpec(ur.constructFromObject(e.nicSpec)),e.hasOwnProperty("categories")&&null!==e.categories&&void 0!==e.categories){for(r=[],i=e.categories,s=0;s<i.length;s++)o=_s.constructFromObject(i[s],void 0),r.push(o);t.setCategories(r)}if(e.hasOwnProperty("ownershipInfo")&&null!==e.ownershipInfo&&void 0!==e.ownershipInfo&&t.setOwnershipInfo(Ws.constructFromObject(e.ownershipInfo)),e.hasOwnProperty("guestToolsSpec")&&null!==e.guestToolsSpec&&void 0!==e.guestToolsSpec&&t.setGuestToolsSpec(qs.constructFromObject(e.guestToolsSpec)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getNicSpec(){return this.nicSpec}setNicSpec(e){this.nicSpec=e}getCategories(){return this.categories}setCategories(e){this.categories=e}getOwnershipInfo(){return this.ownershipInfo}setOwnershipInfo(e){this.ownershipInfo=e}getGuestToolsSpec(){return this.guestToolsSpec}setGuestToolsSpec(e){this.guestToolsSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getNicSpec()&&null!==this.getNicSpec()?{nicSpec:this.getNicSpec().toJson(!1)}:{},...void 0!==this.getCategories()&&null!==this.getCategories()?{categories:this.getCategories().map(e=>e.toJson(!1))}:{},...void 0!==this.getOwnershipInfo()&&null!==this.getOwnershipInfo()?{ownershipInfo:this.getOwnershipInfo().toJson(!1)}:{},...void 0!==this.getGuestToolsSpec()&&null!==this.getGuestToolsSpec()?{guestToolsSpec:this.getGuestToolsSpec().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,80))return new E("name","does not satisfy required maxLength constraint: 80")}if("description"===t&&(void 0===this.description||null===this.description))return new E("description","undefined or null");if("nicSpec"===t&&(void 0===this.nicSpec||null===this.nicSpec))return new E("nicSpec","undefined or null");if("categories"===t){if(void 0===this.categories||null===this.categories)return new E("categories","undefined or null");if(!F.validateMaxItems(this.categories,256))return new E("categories","does not satisfy required maxItems constraint: 256")}return"ownershipInfo"!==t||void 0!==this.ownershipInfo&&null!==this.ownershipInfo?"guestToolsSpec"!==t||void 0!==this.guestToolsSpec&&null!==this.guestToolsSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("guestToolsSpec","undefined or null"):new E("ownershipInfo","undefined or null")}}hr.prototype.name=void 0,hr.prototype.description=void 0,hr.prototype.nicSpec=void 0,hr.prototype.categories=void 0,hr.prototype.ownershipInfo=void 0,hr.prototype.guestToolsSpec=void 0,hr.prototype.$reserved=void 0,hr.prototype.$objectType=void 0,hr.prototype.$unknownFields=void 0;class pr extends hr{constructor(){super(),this.$objectType="dataprotection.v4.config.AhvVmOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pr,hr.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}var vr=new WeakSet;class yr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=vr),t.add(e),this.$objectType="dataprotection.v4.config.EsxiVmOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yr,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,80))return new E("name","does not satisfy required maxLength constraint: 80")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function gr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}yr.prototype.name=void 0,yr.prototype.$reserved=void 0,yr.prototype.$objectType=void 0,yr.prototype.$unknownFields=void 0;var fr=new WeakSet;class $r{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=fr),t.add(e),this.$objectType="dataprotection.v4.config.VmRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $r,e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),e.hasOwnProperty("isStrictMode")&&null!==e.isStrictMode&&void 0!==e.isStrictMode&&t.setIsStrictMode(e.isStrictMode),e.hasOwnProperty("vmOverrideSpec")&&null!==e.vmOverrideSpec&&void 0!==e.vmOverrideSpec)switch(i=e.vmOverrideSpec.hasOwnProperty("$objectType")?e.vmOverrideSpec.$objectType:typeof e.vmOverrideSpec,i){case"dataprotection.v4.config.AhvVmOverrideSpec":t.setVmOverrideSpec(pr.constructFromObject(e.vmOverrideSpec,void 0));break;case"dataprotection.v4.config.EsxiVmOverrideSpec":t.setVmOverrideSpec(yr.constructFromObject(e.vmOverrideSpec,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}getIsStrictMode(){return this.isStrictMode}setIsStrictMode(e){this.isStrictMode=e}getVmOverrideSpec(){return this.vmOverrideSpec}setVmOverrideSpec(e){this.vmOverrideSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getIsStrictMode()&&null!==this.getIsStrictMode()?{isStrictMode:this.getIsStrictMode()}:{},...void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson(!1):Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(e=>void 0!==e.toJson?e.toJson(!1):e):gr(fr,this,wr).call(this,this.getVmOverrideSpec(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getIsStrictMode()&&null!==this.getIsStrictMode()?{isStrictMode:this.getIsStrictMode()}:{},...void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson():Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(e=>void 0!==e.toJson?e.toJson():e):gr(fr,this,wr).call(this,this.getVmOverrideSpec())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isStrictMode"!==t||void 0!==this.isStrictMode&&null!==this.isStrictMode?"vmOverrideSpec"!==t||void 0!==this.vmOverrideSpec&&null!==this.vmOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("vmOverrideSpec","undefined or null"):new E("isStrictMode","undefined or null")}}function wr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$r.prototype.vmRecoveryPointExtId=void 0,$r.prototype.isStrictMode=!1,$r.prototype.vmOverrideSpec=void 0,$r.prototype.$reserved=void 0,$r.prototype.$objectType=void 0,$r.prototype.$unknownFields=void 0;var mr=new WeakSet;class kr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=mr),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kr,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}kr.prototype.name=void 0,kr.prototype.$reserved=void 0,kr.prototype.$objectType=void 0,kr.prototype.$unknownFields=void 0;var Tr=new WeakSet;class br{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Tr),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new br,e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&t.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),e.hasOwnProperty("volumeGroupOverrideSpec")&&null!==e.volumeGroupOverrideSpec&&void 0!==e.volumeGroupOverrideSpec&&t.setVolumeGroupOverrideSpec(kr.constructFromObject(e.volumeGroupOverrideSpec)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupRecoveryPointExtId(){return this.volumeGroupRecoveryPointExtId}setVolumeGroupRecoveryPointExtId(e){this.volumeGroupRecoveryPointExtId=e}getVolumeGroupOverrideSpec(){return this.volumeGroupOverrideSpec}setVolumeGroupOverrideSpec(e){this.volumeGroupOverrideSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getVolumeGroupOverrideSpec()&&null!==this.getVolumeGroupOverrideSpec()?{volumeGroupOverrideSpec:this.getVolumeGroupOverrideSpec().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new E("volumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"volumeGroupOverrideSpec"!==t||void 0!==this.volumeGroupOverrideSpec&&null!==this.volumeGroupOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("volumeGroupOverrideSpec","undefined or null")}}br.prototype.volumeGroupRecoveryPointExtId=void 0,br.prototype.volumeGroupOverrideSpec=void 0,br.prototype.$reserved=void 0,br.prototype.$objectType=void 0,br.prototype.$unknownFields=void 0;var Fr=new WeakSet;class Er{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fr),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRestorationSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Er,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("vmRecoveryPointRestoreOverrides")&&null!==e.vmRecoveryPointRestoreOverrides&&void 0!==e.vmRecoveryPointRestoreOverrides){for(r=[],i=e.vmRecoveryPointRestoreOverrides,s=0;s<i.length;s++)o=$r.constructFromObject(i[s],void 0),r.push(o);t.setVmRecoveryPointRestoreOverrides(r)}if(e.hasOwnProperty("volumeGroupRecoveryPointRestoreOverrides")&&null!==e.volumeGroupRecoveryPointRestoreOverrides&&void 0!==e.volumeGroupRecoveryPointRestoreOverrides){for(r=[],i=e.volumeGroupRecoveryPointRestoreOverrides,s=0;s<i.length;s++)o=br.constructFromObject(i[s],void 0),r.push(o);t.setVolumeGroupRecoveryPointRestoreOverrides(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getVmRecoveryPointRestoreOverrides(){return this.vmRecoveryPointRestoreOverrides}setVmRecoveryPointRestoreOverrides(e){this.vmRecoveryPointRestoreOverrides=e}getVolumeGroupRecoveryPointRestoreOverrides(){return this.volumeGroupRecoveryPointRestoreOverrides}setVolumeGroupRecoveryPointRestoreOverrides(e){this.volumeGroupRecoveryPointRestoreOverrides=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getVmRecoveryPointRestoreOverrides()&&null!==this.getVmRecoveryPointRestoreOverrides()?{vmRecoveryPointRestoreOverrides:this.getVmRecoveryPointRestoreOverrides().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPointRestoreOverrides()&&null!==this.getVolumeGroupRecoveryPointRestoreOverrides()?{volumeGroupRecoveryPointRestoreOverrides:this.getVolumeGroupRecoveryPointRestoreOverrides().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmRecoveryPointRestoreOverrides"===t){if(void 0===this.vmRecoveryPointRestoreOverrides||null===this.vmRecoveryPointRestoreOverrides)return new E("vmRecoveryPointRestoreOverrides","undefined or null");if(!F.validateMaxItems(this.vmRecoveryPointRestoreOverrides,32))return new E("vmRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.vmRecoveryPointRestoreOverrides,1))return new E("vmRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPointRestoreOverrides"===t){if(void 0===this.volumeGroupRecoveryPointRestoreOverrides||null===this.volumeGroupRecoveryPointRestoreOverrides)return new E("volumeGroupRecoveryPointRestoreOverrides","undefined or null");if(!F.validateMaxItems(this.volumeGroupRecoveryPointRestoreOverrides,32))return new E("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.volumeGroupRecoveryPointRestoreOverrides,1))return new E("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Er.prototype.clusterExtId=void 0,Er.prototype.vmRecoveryPointRestoreOverrides=void 0,Er.prototype.volumeGroupRecoveryPointRestoreOverrides=void 0,Er.prototype.$reserved=void 0,Er.prototype.$objectType=void 0,Er.prototype.$unknownFields=void 0;var Or=new WeakSet;class Ir extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Or),t.add(e),this.$objectType="dataprotection.v4.config.GetRecoveryPointApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ir,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.RecoveryPoint":t.setData(As.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):jr(Or,this,Pr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):jr(Or,this,Pr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Pr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ir.prototype.metadata=void 0,Ir.prototype.data=void 0,Ir.prototype.$reserved=void 0,Ir.prototype.$objectType=void 0,Ir.prototype.$unknownFields=void 0;const Rr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ZEROED:"ZEROED",REGULAR:"REGULAR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Rr).find(t=>Rr[t]===e);return null==t?Rr.$UNKNOWN:Rr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Rr.$UNKNOWN:case Rr.$REDACTED:case Rr.ZEROED:case Rr.REGULAR:return;default:throw new Error("Invalid : must be RegionType.{ $UNKNOWN|$REDACTED|ZEROED|REGULAR }")}}};Object.freeze(Rr);const xr=Rr;var Ar=new WeakSet;class Cr{constructor(e,t,n){var i,o;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,o=Ar),o.add(i),this.offset=e,this.length=t,this.regionType=n,this.$objectType="dataprotection.v4.content.ChangedRegion",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cr,e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("regionType")&&null!==e.regionType&&void 0!==e.regionType&&t.setRegionType(xr.constructFromObject(e.regionType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getRegionType(){return this.regionType}setRegionType(e){this.regionType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getRegionType()&&null!==this.getRegionType()?{regionType:this.getRegionType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["offset","length","regionType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"offset"!==t||void 0!==this.offset&&null!==this.offset?"length"!==t||void 0!==this.length&&null!==this.length?"regionType"!==t||void 0!==this.regionType&&null!==this.regionType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("regionType","undefined or null"):new E("length","undefined or null"):new E("offset","undefined or null")}}function Sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Cr.prototype.offset=void 0,Cr.prototype.length=void 0,Cr.prototype.regionType=void 0,Cr.prototype.$reserved=void 0,Cr.prototype.$objectType=void 0,Cr.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Nr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dr),t.add(e),this.$objectType="dataprotection.v4.content.ChangedVmRegionsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("dataprotection.v4.content.ChangedRegion"!==l)throw"Unknown list of type "+l+" in data";o=Cr.constructFromObject(i[r],void 0),a.push(o)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sr(Dr,this,Ur).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sr(Dr,this,Ur).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ur(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Mr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Nr.prototype.metadata=void 0,Nr.prototype.data=void 0,Nr.prototype.$reserved=void 0,Nr.prototype.$objectType=void 0,Nr.prototype.$unknownFields=void 0;var Jr=new WeakSet;class _r{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Jr),n.add(t),this.expirationTime=e,this.$objectType="dataprotection.v4.config.ExpirationTimeSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Mr(Jr,this,Lr).call(this,this.getExpirationTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["expirationTime"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("expirationTime","undefined or null")}}function Lr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Gr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_r.prototype.expirationTime=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;var Vr=new WeakSet;class Wr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vr),t.add(e),this.$objectType="dataprotection.v4.config.CreateRecoveryPointApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Gr(Vr,this,Br).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Gr(Vr,this,Br).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Br(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Wr.prototype.metadata=void 0,Wr.prototype.data=void 0,Wr.prototype.$reserved=void 0,Wr.prototype.$objectType=void 0,Wr.prototype.$unknownFields=void 0;var qr=new WeakSet;class zr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=qr),t.add(e),this.$objectType="dataprotection.v4.content.FileWrapper",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zr,e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}get$Reserved(){return this.$reserved}get$UnknownFields(){return this.$unknownFields}get$ObjectType(){return this.$objectType}toJson(e){return{$reserved:this.get$Reserved(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{},$objectType:this.get$ObjectType()}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?new E(t,"no such property exists"):new E("$objectType","undefined or null"):new E("$unknownFields","undefined or null"):new E("$reserved","undefined or null")}}function Kr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zr.prototype.$reserved=void 0,zr.prototype.$unknownFields=void 0,zr.prototype.$objectType=void 0;var Yr=new WeakSet;class Hr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Yr),t.add(e),this.$objectType="dataprotection.v4.content.GetVssMetadataApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Hr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.content.FileWrapper":t.setData(zr.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Kr(Yr,this,Xr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Kr(Yr,this,Xr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Xr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hr.prototype.metadata=void 0,Hr.prototype.data=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Qr=new WeakSet;class ea extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qr),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRestoreApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ea,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zr(Qr,this,ta).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zr(Qr,this,ta).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function ta(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function na(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ea.prototype.metadata=void 0,ea.prototype.data=void 0,ea.prototype.$reserved=void 0,ea.prototype.$objectType=void 0,ea.prototype.$unknownFields=void 0;var ia=new WeakSet;class oa extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ia),t.add(e),this.$objectType="dataprotection.v4.config.DeleteRecoveryPointApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new oa,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):na(ia,this,sa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):na(ia,this,sa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function sa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ra(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}oa.prototype.metadata=void 0,oa.prototype.data=void 0,oa.prototype.$reserved=void 0,oa.prototype.$objectType=void 0,oa.prototype.$unknownFields=void 0;var aa=new WeakSet;class la extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=aa),t.add(e),this.$objectType="dataprotection.v4.config.GetVmRecoveryPointApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new la,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.VmRecoveryPoint":t.setData(Es.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ra(aa,this,da).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ra(aa,this,da).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function da(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}la.prototype.metadata=void 0,la.prototype.data=void 0,la.prototype.$reserved=void 0,la.prototype.$objectType=void 0,la.prototype.$unknownFields=void 0;var ua=new WeakSet;class ca extends Do{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ua),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointClusterDiscoverSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ca,Do.constructFromObject(e,t,!0),e.hasOwnProperty("referenceVolumeGroupRecoveryPointExtId")&&null!==e.referenceVolumeGroupRecoveryPointExtId&&void 0!==e.referenceVolumeGroupRecoveryPointExtId&&t.setReferenceVolumeGroupRecoveryPointExtId(e.referenceVolumeGroupRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceVolumeGroupRecoveryPointExtId(){return this.referenceVolumeGroupRecoveryPointExtId}setReferenceVolumeGroupRecoveryPointExtId(e){this.referenceVolumeGroupRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceVolumeGroupRecoveryPointExtId"===t){if(void 0===this.referenceVolumeGroupRecoveryPointExtId||null===this.referenceVolumeGroupRecoveryPointExtId)return new E("referenceVolumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceVolumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceVolumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}ca.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Do.prototype.referenceRecoveryPointExtId=void 0,Do.prototype.referenceDiskRecoveryPointExtId=void 0;var ha=new WeakSet;class pa extends ca{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ha),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupRecoveryPointChangedRegionsComputeSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pa,ca.constructFromObject(e,t,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&t.setBlockSizeByte(e.blockSizeByte),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getBlockSizeByte(){return this.blockSizeByte}setBlockSizeByte(e){this.blockSizeByte=e}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{},...void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new E("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new E("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new E("blockSizeByte","undefined or null");if(!F.validateMaximum(this.blockSizeByte,262144))return new E("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!F.validateMinimum(this.blockSizeByte,32768))return new E("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new E(t,"no such property exists")}}function va(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pa.prototype.offset=void 0,pa.prototype.length=void 0,pa.prototype.blockSizeByte=void 0,ca.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Do.prototype.referenceRecoveryPointExtId=void 0,Do.prototype.referenceDiskRecoveryPointExtId=void 0;var ya=new WeakSet;class ga extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ya),t.add(e),this.$objectType="dataprotection.v4.content.ChangedVolumeGroupRegionsApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new ga,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("dataprotection.v4.content.ChangedRegion"!==l)throw"Unknown list of type "+l+" in data";o=Cr.constructFromObject(i[r],void 0),a.push(o)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):va(ya,this,fa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):va(ya,this,fa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function fa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ga.prototype.metadata=void 0,ga.prototype.data=void 0,ga.prototype.$reserved=void 0,ga.prototype.$objectType=void 0,ga.prototype.$unknownFields=void 0;var $a=new WeakSet;class wa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=$a),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointReplicationSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wa,e.hasOwnProperty("pcExtId")&&null!==e.pcExtId&&void 0!==e.pcExtId&&t.setPcExtId(e.pcExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPcExtId(){return this.pcExtId}setPcExtId(e){this.pcExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getPcExtId()&&null!==this.getPcExtId()?{pcExtId:this.getPcExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("pcExtId"===t){if(void 0===this.pcExtId||null===this.pcExtId)return new E("pcExtId","undefined or null");if(!F.validatePattern(this.pcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("pcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function ma(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wa.prototype.pcExtId=void 0,wa.prototype.clusterExtId=void 0,wa.prototype.$reserved=void 0,wa.prototype.$objectType=void 0,wa.prototype.$unknownFields=void 0;var ka=new WeakSet;class Ta extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ka),t.add(e),this.$objectType="dataprotection.v4.config.UpdateRecoveryPointExpirationTimeApiResponse",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ta,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(nn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ma(ka,this,ba).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ma(ka,this,ba).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function ba(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ta.prototype.metadata=void 0,Ta.prototype.data=void 0,Ta.prototype.$reserved=void 0,Ta.prototype.$objectType=void 0,Ta.prototype.$unknownFields=void 0;var Fa=new WeakSet;class Ea{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fa),t.add(e),this.$objectType="dataprotection.v4.config.AmazonS3Bucket",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ea,e.hasOwnProperty("bucketName")&&null!==e.bucketName&&void 0!==e.bucketName&&t.setBucketName(e.bucketName),e.hasOwnProperty("regionName")&&null!==e.regionName&&void 0!==e.regionName&&t.setRegionName(e.regionName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBucketName(){return this.bucketName}setBucketName(e){this.bucketName=e}getRegionName(){return this.regionName}setRegionName(e){this.regionName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getBucketName()&&null!==this.getBucketName()?{bucketName:this.getBucketName()}:{},...void 0!==this.getRegionName()&&null!==this.getRegionName()?{regionName:this.getRegionName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("bucketName"===t){if(void 0===this.bucketName||null===this.bucketName)return new E("bucketName","undefined or null");if(!F.validateMaxLength(this.bucketName,256))return new E("bucketName","does not satisfy required maxLength constraint: 256")}if("regionName"===t){if(void 0===this.regionName||null===this.regionName)return new E("regionName","undefined or null");if(!F.validateMaxLength(this.regionName,256))return new E("regionName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Ea.prototype.bucketName=void 0,Ea.prototype.regionName=void 0,Ea.prototype.$reserved=void 0,Ea.prototype.$objectType=void 0,Ea.prototype.$unknownFields=void 0;var ja=new WeakSet;class Oa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ja),t.add(e),this.$objectType="dataprotection.v4.config.AzureBlobStorageContainer",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Oa,e.hasOwnProperty("storageAccountName")&&null!==e.storageAccountName&&void 0!==e.storageAccountName&&t.setStorageAccountName(e.storageAccountName),e.hasOwnProperty("containerName")&&null!==e.containerName&&void 0!==e.containerName&&t.setContainerName(e.containerName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStorageAccountName(){return this.storageAccountName}setStorageAccountName(e){this.storageAccountName=e}getContainerName(){return this.containerName}setContainerName(e){this.containerName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStorageAccountName()&&null!==this.getStorageAccountName()?{storageAccountName:this.getStorageAccountName()}:{},...void 0!==this.getContainerName()&&null!==this.getContainerName()?{containerName:this.getContainerName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("storageAccountName"===t){if(void 0===this.storageAccountName||null===this.storageAccountName)return new E("storageAccountName","undefined or null");if(!F.validateMaxLength(this.storageAccountName,256))return new E("storageAccountName","does not satisfy required maxLength constraint: 256")}if("containerName"===t){if(void 0===this.containerName||null===this.containerName)return new E("containerName","undefined or null");if(!F.validateMaxLength(this.containerName,256))return new E("containerName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Oa.prototype.storageAccountName=void 0,Oa.prototype.containerName=void 0,Oa.prototype.$reserved=void 0,Oa.prototype.$objectType=void 0,Oa.prototype.$unknownFields=void 0;var Ia=new WeakSet;class Pa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ia),t.add(e),this.$objectType="dataprotection.v4.config.ConsistencyGroupMigrationSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pa,e.hasOwnProperty("targetPcExtId")&&null!==e.targetPcExtId&&void 0!==e.targetPcExtId&&t.setTargetPcExtId(e.targetPcExtId),e.hasOwnProperty("targetClusterExtId")&&null!==e.targetClusterExtId&&void 0!==e.targetClusterExtId&&t.setTargetClusterExtId(e.targetClusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTargetPcExtId(){return this.targetPcExtId}setTargetPcExtId(e){this.targetPcExtId=e}getTargetClusterExtId(){return this.targetClusterExtId}setTargetClusterExtId(e){this.targetClusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTargetPcExtId()&&null!==this.getTargetPcExtId()?{targetPcExtId:this.getTargetPcExtId()}:{},...void 0!==this.getTargetClusterExtId()&&null!==this.getTargetClusterExtId()?{targetClusterExtId:this.getTargetClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("targetPcExtId"===t){if(void 0===this.targetPcExtId||null===this.targetPcExtId)return new E("targetPcExtId","undefined or null");if(!F.validatePattern(this.targetPcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetPcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("targetClusterExtId"===t){if(void 0===this.targetClusterExtId||null===this.targetClusterExtId)return new E("targetClusterExtId","undefined or null");if(!F.validatePattern(this.targetClusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetClusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function Ra(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pa.prototype.targetPcExtId=void 0,Pa.prototype.targetClusterExtId=void 0,Pa.prototype.$reserved=void 0,Pa.prototype.$objectType=void 0,Pa.prototype.$unknownFields=void 0;var xa=new WeakSet;class Aa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=xa),t.add(e),this.$objectType="dataprotection.v4.config.CreationTimeRange",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Aa,e.hasOwnProperty("firstCreationTime")&&null!==e.firstCreationTime&&void 0!==e.firstCreationTime&&t.setFirstCreationTime(e.firstCreationTime),e.hasOwnProperty("lastCreationTime")&&null!==e.lastCreationTime&&void 0!==e.lastCreationTime&&t.setLastCreationTime(e.lastCreationTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFirstCreationTime(){return this.firstCreationTime}setFirstCreationTime(e){this.firstCreationTime=e}getLastCreationTime(){return this.lastCreationTime}setLastCreationTime(e){this.lastCreationTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFirstCreationTime()&&null!==this.getFirstCreationTime()?{firstCreationTime:Ra(xa,this,Ca).call(this,this.getFirstCreationTime(),!1)}:{},...void 0!==this.getLastCreationTime()&&null!==this.getLastCreationTime()?{lastCreationTime:Ra(xa,this,Ca).call(this,this.getLastCreationTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"firstCreationTime"!==t||void 0!==this.firstCreationTime&&null!==this.firstCreationTime?"lastCreationTime"!==t||void 0!==this.lastCreationTime&&null!==this.lastCreationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("lastCreationTime","undefined or null"):new E("firstCreationTime","undefined or null")}}function Ca(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Aa.prototype.firstCreationTime=void 0,Aa.prototype.lastCreationTime=void 0,Aa.prototype.$reserved=void 0,Aa.prototype.$objectType=void 0,Aa.prototype.$unknownFields=void 0;var Sa=new WeakSet;class Da{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Sa),t.add(e),this.$objectType="dataprotection.v4.config.ForceDeleteAllRecoveryPointsSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new Da,e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(s=[],i=e.clusterExtIds,o=0;o<i.length;o++)s.push(i[o]);t.setClusterExtIds(s)}if(e.hasOwnProperty("timeRange")&&null!==e.timeRange&&void 0!==e.timeRange&&t.setTimeRange(Aa.constructFromObject(e.timeRange)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}getTimeRange(){return this.timeRange}setTimeRange(e){this.timeRange=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},...void 0!==this.getTimeRange()&&null!==this.getTimeRange()?{timeRange:this.getTimeRange().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new E("clusterExtIds","undefined or null");if(!F.validateMaxItems(this.clusterExtIds,30))return new E("clusterExtIds","does not satisfy required maxItems constraint: 30")}return"timeRange"!==t||void 0!==this.timeRange&&null!==this.timeRange?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("timeRange","undefined or null")}}Da.prototype.clusterExtIds=void 0,Da.prototype.timeRange=void 0,Da.prototype.$reserved=void 0,Da.prototype.$objectType=void 0,Da.prototype.$unknownFields=void 0;const Na={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_ELEMENT:"PRISM_ELEMENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Na).find(t=>Na[t]===e);return null==t?Na.$UNKNOWN:Na[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Na.$UNKNOWN:case Na.$REDACTED:case Na.PRISM_ELEMENT:return;default:throw new Error("Invalid : must be HostType.{ $UNKNOWN|$REDACTED|PRISM_ELEMENT }")}}};Object.freeze(Na);const Ua=Na;var Ma=new WeakSet;class Ja extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ma),t.add(e),this.$objectType="dataprotection.v4.config.HostReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ja,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("hostType")&&null!==e.hostType&&void 0!==e.hostType&&t.setHostType(Ua.constructFromObject(e.hostType)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHostType(){return this.hostType}setHostType(e){this.hostType=e}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("hostType"===t&&(void 0===this.hostType||null===this.hostType))return new E("hostType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}Ja.prototype.hostType=void 0,Ja.prototype.name=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var _a=new WeakSet;class La{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=_a),t.add(e),this.$objectType="dataprotection.v4.config.NutanixObjectsBucket",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new La,e.hasOwnProperty("endPoint")&&null!==e.endPoint&&void 0!==e.endPoint&&t.setEndPoint(e.endPoint),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEndPoint(){return this.endPoint}setEndPoint(e){this.endPoint=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEndPoint()&&null!==this.getEndPoint()?{endPoint:this.getEndPoint()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"endPoint"!==t||void 0!==this.endPoint&&null!==this.endPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("endPoint","undefined or null")}}La.prototype.endPoint=void 0,La.prototype.$reserved=void 0,La.prototype.$objectType=void 0,La.prototype.$unknownFields=void 0;const Ga={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AZURE_BLOB_STORAGE:"AZURE_BLOB_STORAGE",AMAZON_S3:"AMAZON_S3",NUTANIX_OBJECTS:"NUTANIX_OBJECTS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ga).find(t=>Ga[t]===e);return null==t?Ga.$UNKNOWN:Ga[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ga.$UNKNOWN:case Ga.$REDACTED:case Ga.AZURE_BLOB_STORAGE:case Ga.AMAZON_S3:case Ga.NUTANIX_OBJECTS:return;default:throw new Error("Invalid : must be ObjectStorageType.{ $UNKNOWN|$REDACTED|AZURE_BLOB_STORAGE|AMAZON_S3|NUTANIX_OBJECTS }")}}};Object.freeze(Ga);const Va=Ga;function Wa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ba=new WeakSet;class qa extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ba),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRepository",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new qa,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("objectStorageType")&&null!==e.objectStorageType&&void 0!==e.objectStorageType&&t.setObjectStorageType(Va.constructFromObject(e.objectStorageType)),e.hasOwnProperty("objectStorageReference")&&null!==e.objectStorageReference&&void 0!==e.objectStorageReference)switch(i=e.objectStorageReference.hasOwnProperty("$objectType")?e.objectStorageReference.$objectType:typeof e.objectStorageReference,i){case"dataprotection.v4.config.AzureBlobStorageContainer":t.setObjectStorageReference(Oa.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.AmazonS3Bucket":t.setObjectStorageReference(Ea.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.NutanixObjectsBucket":t.setObjectStorageReference(La.constructFromObject(e.objectStorageReference,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getObjectStorageType(){return this.objectStorageType}setObjectStorageType(e){this.objectStorageType=e}getObjectStorageReference(){return this.objectStorageReference}setObjectStorageReference(e){this.objectStorageReference=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{},...void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson(!1):Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(e=>void 0!==e.toJson?e.toJson(!1):e):Wa(Ba,this,za).call(this,this.getObjectStorageReference(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{},...void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson():Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(e=>void 0!==e.toJson?e.toJson():e):Wa(Ba,this,za).call(this,this.getObjectStorageReference())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"objectStorageType"!==t||void 0!==this.objectStorageType&&null!==this.objectStorageType?"objectStorageReference"!==t||void 0!==this.objectStorageReference&&null!==this.objectStorageReference?new E(t,"no such property exists"):new E("objectStorageReference","undefined or null"):new E("objectStorageType","undefined or null")}}function za(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}qa.prototype.name=void 0,qa.prototype.objectStorageType=void 0,qa.prototype.objectStorageReference=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Ka extends qa{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPointRepositoryProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ka,qa.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Ya(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ha=new WeakSet;class Xa extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ha),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinEntry",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new Xa,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("deletionTime")&&null!==e.deletionTime&&void 0!==e.deletionTime&&t.setDeletionTime(e.deletionTime),e.hasOwnProperty("spaceConsumedBytes")&&null!==e.spaceConsumedBytes&&void 0!==e.spaceConsumedBytes&&t.setSpaceConsumedBytes(e.spaceConsumedBytes),e.hasOwnProperty("deletedByUserExtId")&&null!==e.deletedByUserExtId&&void 0!==e.deletedByUserExtId&&t.setDeletedByUserExtId(e.deletedByUserExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("categoryIds")&&null!==e.categoryIds&&void 0!==e.categoryIds){for(s=[],i=e.categoryIds,o=0;o<i.length;o++)s.push(i[o]);t.setCategoryIds(s)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}getDeletionTime(){return this.deletionTime}setDeletionTime(e){this.deletionTime=e}getSpaceConsumedBytes(){return this.spaceConsumedBytes}setSpaceConsumedBytes(e){this.spaceConsumedBytes=e}getDeletedByUserExtId(){return this.deletedByUserExtId}setDeletedByUserExtId(e){this.deletedByUserExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getCategoryIds(){return this.categoryIds}setCategoryIds(e){this.categoryIds=e}toJson(e){return!1===e?{...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Ya(Ha,this,Za).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:Ya(Ha,this,Za).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("expirationTime"===t&&(void 0===this.expirationTime||null===this.expirationTime))return new E("expirationTime","undefined or null");if("deletionTime"===t&&(void 0===this.deletionTime||null===this.deletionTime))return new E("deletionTime","undefined or null");if("spaceConsumedBytes"===t&&(void 0===this.spaceConsumedBytes||null===this.spaceConsumedBytes))return new E("spaceConsumedBytes","undefined or null");if("deletedByUserExtId"===t){if(void 0===this.deletedByUserExtId||null===this.deletedByUserExtId)return new E("deletedByUserExtId","undefined or null");if(!F.validatePattern(this.deletedByUserExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("deletedByUserExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"categoryIds"!==t||void 0!==this.categoryIds&&null!==this.categoryIds?new E(t,"no such property exists"):new E("categoryIds","undefined or null")}}function Za(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Qa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xa.prototype.expirationTime=void 0,Xa.prototype.deletionTime=void 0,Xa.prototype.spaceConsumedBytes=void 0,Xa.prototype.deletedByUserExtId=void 0,Xa.prototype.clusterExtId=void 0,Xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var el=new WeakSet;class tl extends Xa{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=el),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinVm",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tl,Xa.constructFromObject(e,t,!0),e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&t.setVmExtId(e.vmExtId),e.hasOwnProperty("vmOwnerExtId")&&null!==e.vmOwnerExtId&&void 0!==e.vmOwnerExtId&&t.setVmOwnerExtId(e.vmOwnerExtId),e.hasOwnProperty("vmName")&&null!==e.vmName&&void 0!==e.vmName&&t.setVmName(e.vmName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmExtId(){return this.vmExtId}setVmExtId(e){this.vmExtId=e}getVmOwnerExtId(){return this.vmOwnerExtId}setVmOwnerExtId(e){this.vmOwnerExtId=e}getVmName(){return this.vmName}setVmName(e){this.vmName=e}toJson(e){return!1===e?{...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmOwnerExtId()&&null!==this.getVmOwnerExtId()?{vmOwnerExtId:this.getVmOwnerExtId()}:{},...void 0!==this.getVmName()&&null!==this.getVmName()?{vmName:this.getVmName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Qa(el,this,nl).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:Qa(el,this,nl).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new E("vmExtId","undefined or null");if(!F.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmOwnerExtId"===t){if(void 0===this.vmOwnerExtId||null===this.vmOwnerExtId)return new E("vmOwnerExtId","undefined or null");if(!F.validatePattern(this.vmOwnerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmOwnerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmName"===t){if(void 0===this.vmName||null===this.vmName)return new E("vmName","undefined or null");if(!F.validateMaxLength(this.vmName,256))return new E("vmName","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}function nl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}tl.prototype.vmExtId=void 0,tl.prototype.vmOwnerExtId=void 0,tl.prototype.vmName=void 0,Xa.prototype.expirationTime=void 0,Xa.prototype.deletionTime=void 0,Xa.prototype.spaceConsumedBytes=void 0,Xa.prototype.deletedByUserExtId=void 0,Xa.prototype.clusterExtId=void 0,Xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class il extends tl{constructor(){super(),this.$objectType="dataprotection.v4.config.RecycleBinVmProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new il,tl.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function ol(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var sl=new WeakSet;class rl extends Xa{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=sl),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinVolumeGroup",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rl,Xa.constructFromObject(e,t,!0),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&t.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupOwnerExtId")&&null!==e.volumeGroupOwnerExtId&&void 0!==e.volumeGroupOwnerExtId&&t.setVolumeGroupOwnerExtId(e.volumeGroupOwnerExtId),e.hasOwnProperty("volumeGroupName")&&null!==e.volumeGroupName&&void 0!==e.volumeGroupName&&t.setVolumeGroupName(e.volumeGroupName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupExtId(){return this.volumeGroupExtId}setVolumeGroupExtId(e){this.volumeGroupExtId=e}getVolumeGroupOwnerExtId(){return this.volumeGroupOwnerExtId}setVolumeGroupOwnerExtId(e){this.volumeGroupOwnerExtId=e}getVolumeGroupName(){return this.volumeGroupName}setVolumeGroupName(e){this.volumeGroupName=e}toJson(e){return!1===e?{...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},...void 0!==this.getVolumeGroupOwnerExtId()&&null!==this.getVolumeGroupOwnerExtId()?{volumeGroupOwnerExtId:this.getVolumeGroupOwnerExtId()}:{},...void 0!==this.getVolumeGroupName()&&null!==this.getVolumeGroupName()?{volumeGroupName:this.getVolumeGroupName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ol(sl,this,al).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:ol(sl,this,al).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new E("volumeGroupExtId","undefined or null");if(!F.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupOwnerExtId"===t){if(void 0===this.volumeGroupOwnerExtId||null===this.volumeGroupOwnerExtId)return new E("volumeGroupOwnerExtId","undefined or null");if(!F.validatePattern(this.volumeGroupOwnerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupOwnerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupName"===t){if(void 0===this.volumeGroupName||null===this.volumeGroupName)return new E("volumeGroupName","undefined or null");if(!F.validateMaxLength(this.volumeGroupName,256))return new E("volumeGroupName","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}function al(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}rl.prototype.volumeGroupExtId=void 0,rl.prototype.volumeGroupOwnerExtId=void 0,rl.prototype.volumeGroupName=void 0,Xa.prototype.expirationTime=void 0,Xa.prototype.deletionTime=void 0,Xa.prototype.spaceConsumedBytes=void 0,Xa.prototype.deletedByUserExtId=void 0,Xa.prototype.clusterExtId=void 0,Xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class ll extends rl{constructor(){super(),this.$objectType="dataprotection.v4.config.RecycleBinVolumeGroupProjection",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ll,rl.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}var dl=new WeakSet;class ul{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=dl),t.add(e),this.$objectType="dataprotection.v4.config.SiteReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ul,e.hasOwnProperty("availabilityZoneReference")&&null!==e.availabilityZoneReference&&void 0!==e.availabilityZoneReference&&t.setAvailabilityZoneReference(e.availabilityZoneReference),e.hasOwnProperty("clusterReference")&&null!==e.clusterReference&&void 0!==e.clusterReference&&t.setClusterReference(e.clusterReference),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAvailabilityZoneReference(){return this.availabilityZoneReference}setAvailabilityZoneReference(e){this.availabilityZoneReference=e}getClusterReference(){return this.clusterReference}setClusterReference(e){this.clusterReference=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAvailabilityZoneReference()&&null!==this.getAvailabilityZoneReference()?{availabilityZoneReference:this.getAvailabilityZoneReference()}:{},...void 0!==this.getClusterReference()&&null!==this.getClusterReference()?{clusterReference:this.getClusterReference()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("availabilityZoneReference"===t){if(void 0===this.availabilityZoneReference||null===this.availabilityZoneReference)return new E("availabilityZoneReference","undefined or null");if(!F.validatePattern(this.availabilityZoneReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("availabilityZoneReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterReference"===t){if(void 0===this.clusterReference||null===this.clusterReference)return new E("clusterReference","undefined or null");if(!F.validatePattern(this.clusterReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ul.prototype.availabilityZoneReference=void 0,ul.prototype.clusterReference=void 0,ul.prototype.$reserved=void 0,ul.prototype.$objectType=void 0,ul.prototype.$unknownFields=void 0;var cl=new WeakSet;class hl extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=cl),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupSyncContext",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hl,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("primarySite")&&null!==e.primarySite&&void 0!==e.primarySite&&t.setPrimarySite(ul.constructFromObject(e.primarySite)),e.hasOwnProperty("secondarySite")&&null!==e.secondarySite&&void 0!==e.secondarySite&&t.setSecondarySite(ul.constructFromObject(e.secondarySite)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPrimarySite(){return this.primarySite}setPrimarySite(e){this.primarySite=e}getSecondarySite(){return this.secondarySite}setSecondarySite(e){this.secondarySite=e}toJson(e){return!1===e?{...void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{},...void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{},...void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"primarySite"!==t||void 0!==this.primarySite&&null!==this.primarySite?"secondarySite"!==t||void 0!==this.secondarySite&&null!==this.secondarySite?new E(t,"no such property exists"):new E("secondarySite","undefined or null"):new E("primarySite","undefined or null")}}hl.prototype.primarySite=void 0,hl.prototype.secondarySite=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const pl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AVAILABLE:"AVAILABLE",UNAVAILABLE:"UNAVAILABLE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pl).find(t=>pl[t]===e);return null==t?pl.$UNKNOWN:pl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pl.$UNKNOWN:case pl.$REDACTED:case pl.AVAILABLE:case pl.UNAVAILABLE:return;default:throw new Error("Invalid : must be WitnessAvailabilityStatus.{ $UNKNOWN|$REDACTED|AVAILABLE|UNAVAILABLE }")}}};Object.freeze(pl);const vl=pl;var yl=new WeakSet;class gl extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yl),t.add(e),this.$objectType="dataprotection.v4.config.Witness",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new gl,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("hostReferences")&&null!==e.hostReferences&&void 0!==e.hostReferences){for(r=[],i=e.hostReferences,s=0;s<i.length;s++)o=Ja.constructFromObject(i[s],void 0),r.push(o);t.setHostReferences(r)}if(e.hasOwnProperty("ipAddresses")&&null!==e.ipAddresses&&void 0!==e.ipAddresses){for(r=[],i=e.ipAddresses,s=0;s<i.length;s++)r.push(i[s]);t.setIpAddresses(r)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(vl.constructFromObject(e.status)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getHostReferences(){return this.hostReferences}setHostReferences(e){this.hostReferences=e}getIpAddresses(){return this.ipAddresses}setIpAddresses(e){this.ipAddresses=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("hostReferences"===t){if(void 0===this.hostReferences||null===this.hostReferences)return new E("hostReferences","undefined or null");if(!F.validateMaxItems(this.hostReferences,100))return new E("hostReferences","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.hostReferences,1))return new E("hostReferences","does not satisfy required minItems constraint: 1")}if("ipAddresses"===t){if(void 0===this.ipAddresses||null===this.ipAddresses)return new E("ipAddresses","undefined or null");if(!F.validateMaxItems(this.ipAddresses,100))return new E("ipAddresses","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.ipAddresses,1))return new E("ipAddresses","does not satisfy required minItems constraint: 1")}return"status"!==t||void 0!==this.status&&null!==this.status?new E(t,"no such property exists"):new E("status","undefined or null")}}gl.prototype.name=void 0,gl.prototype.hostReferences=void 0,gl.prototype.ipAddresses=void 0,gl.prototype.status=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class fl extends En{constructor(e,t){super(e,t),this.$objectType="dataprotection.v4.operations.ValidateSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fl,En.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}const $l={ApiClient:le,DataProtectionClusterCapabilitiesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listDataProtectionClusterCapabilities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=nt;return this.apiClient.callApi("/api/dataprotection/v4.2/config/cluster-capabilities","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}},ConsistencyGroupsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createConsistencyGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof dt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createConsistencyGroup");let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o};le.addEtagReferenceToHeader(e,s);const r=mt;return this.apiClient.callApi("/api/dataprotection/v4.2/config/consistency-groups","POST",{},{},s,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}deleteConsistencyGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteConsistencyGroupById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Ft;return this.apiClient.callApi("/api/dataprotection/v4.2/config/consistency-groups/{extId}","DELETE",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getConsistencyGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getConsistencyGroupById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=ht;return this.apiClient.callApi("/api/dataprotection/v4.2/config/consistency-groups/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listConsistencyGroups(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Pt;return this.apiClient.callApi("/api/dataprotection/v4.2/config/consistency-groups","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}updateConsistencyGroupById(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof dt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateConsistencyGroupById");if(null==o)throw new Error("Invalid body when calling updateConsistencyGroupById");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=gt;return this.apiClient.callApi("/api/dataprotection/v4.2/config/consistency-groups/{extId}","PUT",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},ProtectedResourcesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getProtectedResourceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getProtectedResourceById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Qt;return this.apiClient.callApi("/api/dataprotection/v4.2/config/protected-resources/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}promoteProtectedResource(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling promoteProtectedResource");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=un;return this.apiClient.callApi("/api/dataprotection/v4.2/config/protected-resources/{extId}/$actions/promote","POST",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}restoreProtectedResource(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof vn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreProtectedResource");if(null==o)throw new Error("Invalid body when calling restoreProtectedResource");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=rn;return this.apiClient.callApi("/api/dataprotection/v4.2/config/protected-resources/{extId}/$actions/restore","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},RecoveryPlanActionsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}cleanupRecoveryPlanResources(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling cleanupRecoveryPlanResources");const i={recoveryPlanExtId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Nn;return this.apiClient.callApi("/api/dataprotection/v4.2/operations/recovery-plans/{recoveryPlanExtId}/$actions/clean-up-resources","POST",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}plannedFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof On&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling plannedFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling plannedFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Kn;return this.apiClient.callApi("/api/dataprotection/v4.2/operations/recovery-plans/{recoveryPlanExtId}/$actions/planned-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}testFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Pn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling testFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling testFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Wn;return this.apiClient.callApi("/api/dataprotection/v4.2/operations/recovery-plans/{recoveryPlanExtId}/$actions/test-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}unplannedFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof _n&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling unplannedFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling unplannedFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=$n;return this.apiClient.callApi("/api/dataprotection/v4.2/operations/recovery-plans/{recoveryPlanExtId}/$actions/unplanned-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}validateRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof En&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling validateRecoveryPlan");if(null==o)throw new Error("Invalid body when calling validateRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=An;return this.apiClient.callApi("/api/dataprotection/v4.2/operations/recovery-plans/{recoveryPlanExtId}/$actions/validate","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},RecoveryPlanJobsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}deleteRecoveryPlanJobById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPlanJobById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=$i;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-plan-jobs/{extId}","DELETE",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getRecoveryPlanJobById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPlanJobById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=vi;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-plan-jobs/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listExecutionStepsByRecoveryPlanJobId(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'recoveryPlanJobExtId' when calling listExecutionStepsByRecoveryPlanJobId");const o={recoveryPlanJobExtId:e},s={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r},l=uo;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-plan-jobs/{recoveryPlanJobExtId}/execution-steps","GET",o,s,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],l)}listRecoveryPlanJobs(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Gi;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-plan-jobs","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listValidationErrorsByRecoveryPlanJobId(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'recoveryPlanJobExtId' when calling listValidationErrorsByRecoveryPlanJobId");const o={recoveryPlanJobExtId:e},s={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r},l=Ui;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-plan-jobs/{recoveryPlanJobExtId}/validation-errors","GET",o,s,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],l)}},RecoveryPointsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRecoveryPoint(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof As&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRecoveryPoint");let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o};le.addEtagReferenceToHeader(e,s);const r=Wr;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points","POST",{},{},s,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}deleteRecoveryPointById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPointById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=oa;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}","DELETE",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}discoverClusterForRecoveryPointId(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Ao&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling discoverClusterForRecoveryPointId");if(null==o)throw new Error("Invalid body when calling discoverClusterForRecoveryPointId");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Ho;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}/$actions/discover-cluster","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}getRecoveryPointById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPointById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Ir;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getVmRecoveryPointById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVmRecoveryPointById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getVmRecoveryPointById");const o={recoveryPointExtId:e,extId:t};let s={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=i[e])});const r={...s},a=la;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{recoveryPointExtId}/vm-recovery-points/{extId}","GET",o,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getVssMetadataByVmRecoveryPointId(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");const o={recoveryPointExtId:e,vmRecoveryPointExtId:t};let s={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=i[e])});const r={...s},a=Hr;return this.apiClient.callApi("/api/dataprotection/v4.2/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/vss-metadata","GET",o,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/octet-stream","application/json"],a)}listRecoveryPoints(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={"X-Cluster-Id":e.xClusterId,...o},r=Us;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}replicateRecoveryPoint(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof wa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling replicateRecoveryPoint");if(null==o)throw new Error("Invalid body when calling replicateRecoveryPoint");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=vo;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}/$actions/replicate","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}restoreRecoveryPoint(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Er&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreRecoveryPoint");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=ea;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}/$actions/restore","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}setRecoveryPointExpirationTime(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof _r&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling setRecoveryPointExpirationTime");if(null==o)throw new Error("Invalid body when calling setRecoveryPointExpirationTime");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Ta;return this.apiClient.callApi("/api/dataprotection/v4.2/config/recovery-points/{extId}/$actions/set-expiration-time","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}vmRecoveryPointComputeChangedRegions(e,t,n,i,...o){let s=o.length>0?o[0]:{},r=null;if(r=i instanceof Jo&&"function"==typeof i.toJson?i.toJson():i,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling vmRecoveryPointComputeChangedRegions");if(null==r)throw new Error("Invalid body when calling vmRecoveryPointComputeChangedRegions");const a={recoveryPointExtId:e,vmRecoveryPointExtId:t,extId:n};let l={};Object.keys(s).forEach(e=>{this.#e.has(e.toLowerCase())||(l[e]=s[e])});const d={...l};le.addEtagReferenceToHeader(i,d);const u=Nr;return this.apiClient.callApi("/api/dataprotection/v4.2/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},d,{},r,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}volumeGroupRecoveryPointComputeChangedRegions(e,t,n,i,...o){let s=o.length>0?o[0]:{},r=null;if(r=i instanceof pa&&"function"==typeof i.toJson?i.toJson():i,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'volumeGroupRecoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==r)throw new Error("Invalid body when calling volumeGroupRecoveryPointComputeChangedRegions");const a={recoveryPointExtId:e,volumeGroupRecoveryPointExtId:t,extId:n};let l={};Object.keys(s).forEach(e=>{this.#e.has(e.toLowerCase())||(l[e]=s[e])});const d={...l};le.addEtagReferenceToHeader(i,d);const u=ga;return this.apiClient.callApi("/api/dataprotection/v4.2/content/recovery-points/{recoveryPointExtId}/volume-group-recovery-points/{volumeGroupRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},d,{},r,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},CommonConfigEntityReference:bi,EntityType:ki,Flag:O,IPAddress:Bo,IPv4Address:Lo,IPv6Address:Vo,KVPair:S,MapOfStringWrapper:R,Message:J,MessageSeverity:U,TenantAwareModel:Re,ApiLink:L,ApiResponseMetadata:W,ExternalizableAbstractModel:Ae,BackupType:ps,BaseRecoveryPoint:os,BaseVmRecoveryPoint:$s,ClusterInfo:zo,DiskRecoveryPoint:cs,RecoveryPointStatus:Qo,RecoveryPointType:ts,VssProperties:ys,AhvVmOverrideSpec:pr,AmazonS3Bucket:Ea,AzureBlobStorageContainer:Oa,Capability:Ne,ClusterInfoApiResponse:Ho,ConsistencyGroup:dt,ConsistencyGroupMember:at,ConsistencyGroupMemberType:st,ConsistencyGroupMigrationSpec:Pa,ConsistencyGroupProjection:jt,CreateConsistencyGroupApiResponse:mt,CreateRecoveryPointApiResponse:Wr,CreationTimeRange:Aa,DataProtectionCapabilityName:Se,DataProtectionClusterCapability:Me,DataProtectionClusterCapabilityProjection:Je,DataProtectionSiteReference:At,DeleteConsistencyGroupApiResponse:Ft,DeleteRecoveryPlanJobApiResponse:$i,DeleteRecoveryPointApiResponse:oa,DisasterRecoveryLocation:as,EntityRecoveryResult:Yi,DataprotectionConfigEntityReference:kn,ErrorGroup:Ei,ErrorMessage:Pi,EsxiVmOverrideSpec:yr,ExecutionStepEntityReference:zi,ExecutionStepEntityType:Bi,ExecutionStepResult:Zi,ExpirationTimeSpec:_r,FailoverDirection:bn,ForceDeleteAllRecoveryPointsSpec:Da,GetConsistencyGroupApiResponse:ht,GetProtectedResourceApiResponse:Qt,GetRecoveryPlanJobApiResponse:vi,GetRecoveryPointApiResponse:Ir,GetVmRecoveryPointApiResponse:la,HostReference:Ja,HostType:Ua,HypervisorType:Ts,ListConsistencyGroupsApiResponse:Pt,ListDPClusterCapabilitiesApiResponse:nt,ListRecoveryPlanJobExecutionStepsApiResponse:uo,ListRecoveryPlanJobValidationErrorsApiResponse:Ui,ListRecoveryPlanJobsApiResponse:Gi,ListRecoveryPointsApiResponse:Us,LocationReference:ds,NutanixObjectsBucket:La,ObjectStorageType:Va,OperationType:to,PhaseSummary:si,ProtectedEntityType:St,ProtectedResource:Ht,ProtectedResourcePromoteApiResponse:un,ProtectedResourceReplicationStatus:Nt,ProtectedResourceRestoreApiResponse:rn,ProtectedResourceRestoreSpec:vn,RecoveryInfo:Wt,RecoveryPlanActionType:ai,RecoveryPlanJob:ui,RecoveryPlanJobExecutionStatus:Xn,RecoveryPlanJobExecutionStep:oo,RecoveryPlanJobExecutionStepProjection:ro,RecoveryPlanJobPhaseType:Qn,RecoveryPlanJobProjection:Ji,RecoveryPlanValidationError:Ci,RecoveryPlanValidationErrorProjection:Si,RecoveryPoint:As,RecoveryPointProjection:Ss,RecoveryPointReplicateApiResponse:vo,RecoveryPointReplicationSpec:wa,RecoveryPointRepository:qa,RecoveryPointRepositoryProjection:Ka,RecoveryPointRestorationSpec:Er,RecoveryPointRestoreApiResponse:ea,RecycleBinEntry:Xa,RecycleBinVm:tl,RecycleBinVmProjection:il,RecycleBinVolumeGroup:rl,RecycleBinVolumeGroupProjection:ll,ReplicationState:Mt,RestorableTimeRange:Lt,RootCauseAnalysis:xi,Severity:Oi,SiteProtectionInfo:Kt,SiteReference:ul,StageSummary:ii,Summary:ti,SynchronousReplicationRole:qt,UpdateConsistencyGroupApiResponse:gt,UpdateRecoveryPointExpirationTimeApiResponse:Ta,VmRecoveryPoint:Es,VmRecoveryPointRestoreOverride:$r,VolumeGroupOverrideSpec:kr,VolumeGroupRecoveryPoint:Ps,VolumeGroupRecoveryPointRestoreOverride:br,VolumeGroupSyncContext:hl,Witness:gl,WitnessAvailabilityStatus:vl,BaseRecoveryPointSpec:Do,ChangedRegion:Cr,ChangedVmRegionsApiResponse:Nr,ChangedVolumeGroupRegionsApiResponse:ga,ClusterDiscoverOperation:fo,ClusterDiscoverSpec:Ao,ComputeChangedRegionsClusterDiscoverSpec:jo,DiskRecoveryPointReference:wo,FileWrapper:zr,GetVssMetadataApiResponse:Hr,GetVssMetadataClusterDiscoverSpec:Po,RegionType:xr,VmDiskRecoveryPointClusterDiscoverSpec:Uo,VmDiskRecoveryPointReference:ko,VmRecoveryPointChangedRegionsComputeSpec:Jo,VolumeGroupDiskRecoveryPointClusterDiscoverSpec:ca,VolumeGroupDiskRecoveryPointReference:bo,VolumeGroupRecoveryPointChangedRegionsComputeSpec:pa,AppMessage:Ge,ErrorResponse:Ze,SchemaValidationError:Ke,SchemaValidationErrorMessage:Be,BaseRecoveryPlanActionSpec:En,CleanupRecoveryPlanResourcesApiResponse:Nn,PlannedFailoverRecoveryPlanApiResponse:Kn,PlannedFailoverSpec:On,TestFailoverRecoveryPlanApiResponse:Wn,TestFailoverSpec:Pn,UnplannedFailoverRecoveryPlanApiResponse:$n,UnplannedFailoverSpec:_n,ValidateRecoveryPlanApiResponse:An,ValidateSpec:fl,TaskReference:nn,CategoryReference:_s,GuestStaticIpSpec:Ks,OwnerReference:Gs,OwnershipInfo:Ws,SubnetReference:Zs,VmConfigOverrideSpecification:hr,VmRestoreGuestNicInfoOverrideSpec:Hs,VmRestoreGuestToolsSpecification:qs,VmRestoreIpv4ConfigOverrideSpec:er,VmRestoreNicConfigOverrideParams:ar,VmRestoreNicConfigSpecification:ur,VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec:nr,VmRestoreVirtualEthernetNicOverrideSpec:or}})(),i.default})());