@nutanix-scratch/iam-js-client 4.1.2-beta.2 → 4.1.3-beta.3
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.
- package/README.md +6 -6
- package/dist/Ntnx-Iam-js-client-prod.js +1 -1
- package/dist/Ntnx-Iam-js-client.js +648 -264
- package/dist/es/ApiClient.d.ts +25 -5
- package/dist/es/ApiClient.js +93 -23
- package/dist/es/Paginable.d.ts +1 -1
- package/dist/es/Paginable.js +3 -3
- package/dist/es/apis/authorizationpolicies-endpoints.d.ts +7 -7
- package/dist/es/apis/authorizationpolicies-endpoints.js +14 -14
- package/dist/es/apis/certificateauthenticationproviders-endpoints.d.ts +11 -3
- package/dist/es/apis/certificateauthenticationproviders-endpoints.js +20 -12
- package/dist/es/apis/clients-endpoints.d.ts +1 -1
- package/dist/es/apis/clients-endpoints.js +4 -4
- package/dist/es/apis/directoryservices-endpoints.d.ts +46 -6
- package/dist/es/apis/directoryservices-endpoints.js +186 -18
- package/dist/es/apis/entities-endpoints.d.ts +6 -6
- package/dist/es/apis/entities-endpoints.js +10 -10
- package/dist/es/apis/loginproviders-endpoints.d.ts +6 -6
- package/dist/es/apis/loginproviders-endpoints.js +9 -9
- package/dist/es/apis/operations-endpoints.d.ts +6 -6
- package/dist/es/apis/operations-endpoints.js +10 -10
- package/dist/es/apis/rolemembership-endpoints.d.ts +99 -0
- package/dist/es/apis/rolemembership-endpoints.js +277 -0
- package/dist/es/apis/roles-endpoints.d.ts +6 -6
- package/dist/es/apis/roles-endpoints.js +13 -13
- package/dist/es/apis/samlidentityproviders-endpoints.d.ts +46 -6
- package/dist/es/apis/samlidentityproviders-endpoints.js +184 -16
- package/dist/es/apis/usergroups-endpoints.d.ts +10 -6
- package/dist/es/apis/usergroups-endpoints.js +18 -12
- package/dist/es/apis/users-endpoints.d.ts +15 -11
- package/dist/es/apis/users-endpoints.js +31 -25
- package/dist/es/apis/welcomebanner-endpoints.d.ts +1 -1
- package/dist/es/apis/welcomebanner-endpoints.js +5 -5
- package/dist/es/index.d.ts +73 -1
- package/dist/es/index.js +288 -0
- package/dist/es/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/es/models/common/v1/config/Flag.js +3 -3
- package/dist/es/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/es/models/common/v1/config/KVPair.js +9 -5
- package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/es/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/es/models/common/v1/config/Message.d.ts +1 -1
- package/dist/es/models/common/v1/config/Message.js +3 -3
- package/dist/es/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/es/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/es/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiLink.js +3 -3
- package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/AlgoType.js +2 -2
- package/dist/es/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ApiKeyDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthMethodType.js +2 -2
- package/dist/es/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/AuthenticationResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthnMigrationType.js +2 -2
- package/dist/es/models/iam/v4/authn/BucketsAccessKey.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/BucketsAccessKey.js +37 -4
- package/dist/es/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
- package/dist/es/models/iam/v4/authn/CertAuthProvider.d.ts +23 -1
- package/dist/es/models/iam/v4/authn/CertAuthProvider.js +75 -4
- package/dist/es/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CertRevocationInfo.js +4 -4
- package/dist/es/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CertificateLoginRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ClaimsType.js +2 -2
- package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreationType.js +2 -2
- package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DirectoryService.d.ts +34 -1
- package/dist/es/models/iam/v4/authn/DirectoryService.js +114 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.js +43 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryType.js +2 -2
- package/dist/es/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DsServiceAccount.js +4 -4
- package/dist/es/models/iam/v4/authn/Federation.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Federation.js +4 -4
- package/dist/es/models/iam/v4/authn/FederationClaims.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/FederationClaims.js +4 -4
- package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GrantType.js +2 -2
- package/dist/es/models/iam/v4/authn/Group.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Group.js +4 -4
- package/dist/es/models/iam/v4/authn/GroupSearchType.js +2 -2
- package/dist/es/models/iam/v4/authn/GroupType.js +10 -4
- package/dist/es/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/IdpMetadata.js +4 -4
- package/dist/es/models/iam/v4/authn/IdpType.js +2 -2
- package/dist/es/models/iam/v4/authn/Key.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Key.js +7 -5
- package/dist/es/models/iam/v4/authn/KeyKind.js +10 -4
- package/dist/es/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/KeyMigrationSpec.js +4 -4
- package/dist/es/models/iam/v4/authn/KeyStatus.js +2 -2
- package/dist/es/models/iam/v4/authn/KeyType.js +2 -2
- package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUsersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/LoginProvider.d.ts +34 -1
- package/dist/es/models/iam/v4/authn/LoginProvider.js +111 -4
- package/dist/es/models/iam/v4/authn/LoginRequest.d.ts +4 -4
- package/dist/es/models/iam/v4/authn/LoginRequest.js +8 -8
- package/dist/es/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
- package/dist/es/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectKeyDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.js +4 -4
- package/dist/es/models/iam/v4/authn/OidcKey.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/OidcKey.js +4 -4
- package/dist/es/models/iam/v4/authn/OidcSubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/OidcUserinfo.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/OidcUserinfo.js +49 -4
- package/dist/es/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/OpenLdapConfig.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordChangeRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordChangeResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordResetRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordResetResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/PropagatedConnector.d.ts +120 -0
- package/dist/es/models/iam/v4/authn/PropagatedConnector.js +568 -0
- package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ResponseType.js +2 -2
- package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/SamlIdentityProvider.d.ts +44 -1
- package/dist/es/models/iam/v4/authn/SamlIdentityProvider.js +148 -4
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlSigningCredential.d.ts +80 -0
- package/dist/es/models/iam/v4/authn/SamlSigningCredential.js +353 -0
- package/dist/es/models/iam/v4/authn/Scope.js +2 -2
- package/dist/es/models/iam/v4/authn/ScopesType.js +2 -2
- package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/SigningAlgoType.js +2 -2
- package/dist/es/models/iam/v4/authn/SubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/SystemConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/SystemConfig.js +4 -4
- package/dist/es/models/iam/v4/authn/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Tenant.js +4 -4
- package/dist/es/models/iam/v4/authn/TokenRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/TokenRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UseType.js +2 -2
- package/dist/es/models/iam/v4/authn/User.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/User.js +37 -10
- package/dist/es/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserConfiguration.js +4 -4
- package/dist/es/models/iam/v4/authn/UserGroup.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserGroup.js +4 -7
- package/dist/es/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserGroupConfiguration.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserStateUpdate.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStatusType.js +2 -2
- package/dist/es/models/iam/v4/authn/UserType.js +10 -4
- package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/WelcomeBanner.js +4 -4
- package/dist/es/models/iam/v4/authz/ApiVersion.js +2 -2
- package/dist/es/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AssociatedEndpoint.js +4 -4
- package/dist/es/models/iam/v4/authz/AttributeEntity.d.ts +6 -6
- package/dist/es/models/iam/v4/authz/AttributeEntity.js +6 -6
- package/dist/es/models/iam/v4/authz/AuthorizationPolicy.d.ts +23 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicy.js +99 -4
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.js +46 -4
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.js +49 -5
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyType.js +10 -4
- package/dist/es/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationRequest.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationResponse.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.js +40 -4
- package/dist/es/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizeEntity.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthzMigrationFlags.d.ts +33 -0
- package/dist/es/models/iam/v4/authz/AuthzMigrationFlags.js +267 -0
- package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.d.ts +11 -1
- package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.js +38 -4
- package/dist/es/models/iam/v4/authz/AuthzMigrationType.js +16 -4
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +23 -1
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.js +82 -4
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +27 -4
- package/dist/es/models/iam/v4/authz/BaseRole.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/BaseRole.js +41 -4
- package/dist/es/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/BaseRoleProjection.js +4 -4
- package/dist/es/models/iam/v4/authz/Client.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Client.js +4 -4
- package/dist/es/models/iam/v4/authz/ClientConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ClientConfig.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangeset.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetData.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigType.js +2 -2
- package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/CreateRoleMembershipApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/CreateRoleMembershipApiResponse.js +294 -0
- package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/DeleteRoleMembershipApiResponse.d.ts +57 -0
- package/dist/es/models/iam/v4/authz/DeleteRoleMembershipApiResponse.js +292 -0
- package/dist/es/models/iam/v4/authz/Entity.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Entity.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/EntityConfig.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityFilter.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/EntityFilter.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityOperators.js +2 -2
- package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetClientApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetEntityApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetOperationApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetRoleApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/GetRoleApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/GetRoleMembershipApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/GetRoleMembershipApiResponse.js +294 -0
- package/dist/es/models/iam/v4/authz/HttpMethod.js +2 -2
- package/dist/es/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/IdentityFilter.js +4 -4
- package/dist/es/models/iam/v4/authz/IdentityIdpMapping.d.ts +72 -0
- package/dist/es/models/iam/v4/authz/IdentityIdpMapping.js +287 -0
- package/dist/es/models/iam/v4/authz/IdentityObject.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/IdentityObject.js +4 -4
- package/dist/es/models/iam/v4/authz/IdentityType.js +2 -2
- package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.js +314 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipsApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipsApiResponse.js +319 -0
- package/dist/es/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListRolesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/MigrateRoleSpec.js +4 -4
- package/dist/es/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/MigrationActionNotes.js +4 -4
- package/dist/es/models/iam/v4/authz/Operation.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/Operation.js +41 -4
- package/dist/es/models/iam/v4/authz/OperationConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/OperationConfig.js +16 -4
- package/dist/es/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
- package/dist/es/models/iam/v4/authz/OperationType.js +2 -2
- package/dist/es/models/iam/v4/authz/ProjectApMigrationData.d.ts +95 -0
- package/dist/es/models/iam/v4/authz/ProjectApMigrationData.js +386 -0
- package/dist/es/models/iam/v4/authz/RequestObject.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RequestObject.js +4 -4
- package/dist/es/models/iam/v4/authz/ResponseType.js +2 -2
- package/dist/es/models/iam/v4/authz/RmIdentityType.d.ts +19 -0
- package/dist/es/models/iam/v4/authz/RmIdentityType.js +83 -0
- package/dist/es/models/iam/v4/authz/Role.d.ts +29 -7
- package/dist/es/models/iam/v4/authz/Role.js +96 -12
- package/dist/es/models/iam/v4/authz/RoleConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RoleConfig.js +37 -6
- package/dist/es/models/iam/v4/authz/RoleMembership.d.ts +121 -0
- package/dist/es/models/iam/v4/authz/RoleMembership.js +597 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipProjection.d.ts +21 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipProjection.js +334 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipSummary.d.ts +55 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipSummary.js +327 -0
- package/dist/es/models/iam/v4/authz/RoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RoleProjection.js +7 -4
- package/dist/es/models/iam/v4/authz/ScopeTemplate.d.ts +67 -0
- package/dist/es/models/iam/v4/authz/ScopeTemplate.js +398 -0
- package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigEntityList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigOperationList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
- package/dist/es/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigRequest.js +7 -5
- package/dist/es/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigRoleList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigType.js +2 -2
- package/dist/es/models/iam/v4/authz/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Tenant.js +4 -4
- package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.js +4 -4
- package/dist/es/models/iam/v4/authz/UserRole.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserRole.js +16 -4
- package/dist/es/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserRoleProjection.js +4 -4
- package/dist/es/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/common/ActionBaseResponse.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationError.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.js +4 -4
- package/dist/es/models/iam/v4/common/SortOrderType.js +2 -2
- package/dist/es/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/common/ValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/error/AppMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/error/AppMessage.js +4 -4
- package/dist/es/models/iam/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/error/ErrorResponse.js +23 -6
- package/dist/es/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/es/models/iam/v4/error/SchemaValidationError.js +4 -4
- package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/tenant/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/tenant/Tenant.js +4 -4
- package/dist/es/models/validation/ValidationError.js +2 -2
- package/dist/es/utils/ValidationUtils.js +2 -2
- package/dist/lib/ApiClient.d.ts +25 -5
- package/dist/lib/ApiClient.js +93 -23
- package/dist/lib/Paginable.d.ts +1 -1
- package/dist/lib/Paginable.js +3 -3
- package/dist/lib/apis/authorizationpolicies-endpoints.d.ts +7 -7
- package/dist/lib/apis/authorizationpolicies-endpoints.js +14 -14
- package/dist/lib/apis/certificateauthenticationproviders-endpoints.d.ts +11 -3
- package/dist/lib/apis/certificateauthenticationproviders-endpoints.js +20 -12
- package/dist/lib/apis/clients-endpoints.d.ts +1 -1
- package/dist/lib/apis/clients-endpoints.js +4 -4
- package/dist/lib/apis/directoryservices-endpoints.d.ts +46 -6
- package/dist/lib/apis/directoryservices-endpoints.js +186 -18
- package/dist/lib/apis/entities-endpoints.d.ts +6 -6
- package/dist/lib/apis/entities-endpoints.js +10 -10
- package/dist/lib/apis/loginproviders-endpoints.d.ts +6 -6
- package/dist/lib/apis/loginproviders-endpoints.js +9 -9
- package/dist/lib/apis/operations-endpoints.d.ts +6 -6
- package/dist/lib/apis/operations-endpoints.js +10 -10
- package/dist/lib/apis/rolemembership-endpoints.d.ts +99 -0
- package/dist/lib/apis/rolemembership-endpoints.js +277 -0
- package/dist/lib/apis/roles-endpoints.d.ts +6 -6
- package/dist/lib/apis/roles-endpoints.js +13 -13
- package/dist/lib/apis/samlidentityproviders-endpoints.d.ts +46 -6
- package/dist/lib/apis/samlidentityproviders-endpoints.js +184 -16
- package/dist/lib/apis/usergroups-endpoints.d.ts +10 -6
- package/dist/lib/apis/usergroups-endpoints.js +18 -12
- package/dist/lib/apis/users-endpoints.d.ts +15 -11
- package/dist/lib/apis/users-endpoints.js +31 -25
- package/dist/lib/apis/welcomebanner-endpoints.d.ts +1 -1
- package/dist/lib/apis/welcomebanner-endpoints.js +5 -5
- package/dist/lib/index.d.ts +73 -1
- package/dist/lib/index.js +288 -0
- package/dist/lib/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Flag.js +3 -3
- package/dist/lib/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/lib/models/common/v1/config/KVPair.js +9 -5
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/lib/models/common/v1/config/Message.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Message.js +3 -3
- package/dist/lib/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/lib/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/lib/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiLink.js +3 -3
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/AlgoType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ApiKeyDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthMethodType.js +2 -2
- package/dist/lib/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/AuthenticationResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthnMigrationType.js +2 -2
- package/dist/lib/models/iam/v4/authn/BucketsAccessKey.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/BucketsAccessKey.js +37 -4
- package/dist/lib/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
- package/dist/lib/models/iam/v4/authn/CertAuthProvider.d.ts +23 -1
- package/dist/lib/models/iam/v4/authn/CertAuthProvider.js +75 -4
- package/dist/lib/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CertRevocationInfo.js +4 -4
- package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ClaimsType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreationType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DirectoryService.d.ts +34 -1
- package/dist/lib/models/iam/v4/authn/DirectoryService.js +114 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.js +43 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DsServiceAccount.js +4 -4
- package/dist/lib/models/iam/v4/authn/Federation.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Federation.js +4 -4
- package/dist/lib/models/iam/v4/authn/FederationClaims.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/FederationClaims.js +4 -4
- package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GrantType.js +2 -2
- package/dist/lib/models/iam/v4/authn/Group.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Group.js +4 -4
- package/dist/lib/models/iam/v4/authn/GroupSearchType.js +2 -2
- package/dist/lib/models/iam/v4/authn/GroupType.js +10 -4
- package/dist/lib/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/IdpMetadata.js +4 -4
- package/dist/lib/models/iam/v4/authn/IdpType.js +2 -2
- package/dist/lib/models/iam/v4/authn/Key.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Key.js +7 -5
- package/dist/lib/models/iam/v4/authn/KeyKind.js +10 -4
- package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.js +4 -4
- package/dist/lib/models/iam/v4/authn/KeyStatus.js +2 -2
- package/dist/lib/models/iam/v4/authn/KeyType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/LoginProvider.d.ts +34 -1
- package/dist/lib/models/iam/v4/authn/LoginProvider.js +111 -4
- package/dist/lib/models/iam/v4/authn/LoginRequest.d.ts +4 -4
- package/dist/lib/models/iam/v4/authn/LoginRequest.js +8 -8
- package/dist/lib/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
- package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.js +4 -4
- package/dist/lib/models/iam/v4/authn/OidcKey.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/OidcKey.js +4 -4
- package/dist/lib/models/iam/v4/authn/OidcSubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/OidcUserinfo.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/OidcUserinfo.js +49 -4
- package/dist/lib/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/OpenLdapConfig.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordResetRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordResetResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/PropagatedConnector.d.ts +120 -0
- package/dist/lib/models/iam/v4/authn/PropagatedConnector.js +568 -0
- package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ResponseType.js +2 -2
- package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.d.ts +44 -1
- package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.js +148 -4
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlSigningCredential.d.ts +80 -0
- package/dist/lib/models/iam/v4/authn/SamlSigningCredential.js +353 -0
- package/dist/lib/models/iam/v4/authn/Scope.js +2 -2
- package/dist/lib/models/iam/v4/authn/ScopesType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/SigningAlgoType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SystemConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/SystemConfig.js +4 -4
- package/dist/lib/models/iam/v4/authn/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Tenant.js +4 -4
- package/dist/lib/models/iam/v4/authn/TokenRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/TokenRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UseType.js +2 -2
- package/dist/lib/models/iam/v4/authn/User.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/User.js +37 -10
- package/dist/lib/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserConfiguration.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserGroup.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserGroup.js +4 -7
- package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserStateUpdate.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStatusType.js +2 -2
- package/dist/lib/models/iam/v4/authn/UserType.js +10 -4
- package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/WelcomeBanner.js +4 -4
- package/dist/lib/models/iam/v4/authz/ApiVersion.js +2 -2
- package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.js +4 -4
- package/dist/lib/models/iam/v4/authz/AttributeEntity.d.ts +6 -6
- package/dist/lib/models/iam/v4/authz/AttributeEntity.js +6 -6
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.d.ts +23 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.js +99 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.js +46 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.js +49 -5
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyType.js +10 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationRequest.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationResponse.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.js +40 -4
- package/dist/lib/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizeEntity.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthzMigrationFlags.d.ts +33 -0
- package/dist/lib/models/iam/v4/authz/AuthzMigrationFlags.js +267 -0
- package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.d.ts +11 -1
- package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.js +38 -4
- package/dist/lib/models/iam/v4/authz/AuthzMigrationType.js +16 -4
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +23 -1
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.js +82 -4
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +27 -4
- package/dist/lib/models/iam/v4/authz/BaseRole.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/BaseRole.js +41 -4
- package/dist/lib/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/BaseRoleProjection.js +4 -4
- package/dist/lib/models/iam/v4/authz/Client.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Client.js +4 -4
- package/dist/lib/models/iam/v4/authz/ClientConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ClientConfig.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangeset.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetData.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigType.js +2 -2
- package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/CreateRoleMembershipApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/CreateRoleMembershipApiResponse.js +294 -0
- package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/DeleteRoleMembershipApiResponse.d.ts +57 -0
- package/dist/lib/models/iam/v4/authz/DeleteRoleMembershipApiResponse.js +292 -0
- package/dist/lib/models/iam/v4/authz/Entity.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Entity.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/EntityConfig.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityFilter.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/EntityFilter.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityOperators.js +2 -2
- package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetClientApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/GetRoleMembershipApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/GetRoleMembershipApiResponse.js +294 -0
- package/dist/lib/models/iam/v4/authz/HttpMethod.js +2 -2
- package/dist/lib/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/IdentityFilter.js +4 -4
- package/dist/lib/models/iam/v4/authz/IdentityIdpMapping.d.ts +72 -0
- package/dist/lib/models/iam/v4/authz/IdentityIdpMapping.js +287 -0
- package/dist/lib/models/iam/v4/authz/IdentityObject.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/IdentityObject.js +4 -4
- package/dist/lib/models/iam/v4/authz/IdentityType.js +2 -2
- package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.js +314 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipsApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipsApiResponse.js +319 -0
- package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.js +4 -4
- package/dist/lib/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/MigrationActionNotes.js +4 -4
- package/dist/lib/models/iam/v4/authz/Operation.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/Operation.js +41 -4
- package/dist/lib/models/iam/v4/authz/OperationConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/OperationConfig.js +16 -4
- package/dist/lib/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
- package/dist/lib/models/iam/v4/authz/OperationType.js +2 -2
- package/dist/lib/models/iam/v4/authz/ProjectApMigrationData.d.ts +95 -0
- package/dist/lib/models/iam/v4/authz/ProjectApMigrationData.js +386 -0
- package/dist/lib/models/iam/v4/authz/RequestObject.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RequestObject.js +4 -4
- package/dist/lib/models/iam/v4/authz/ResponseType.js +2 -2
- package/dist/lib/models/iam/v4/authz/RmIdentityType.d.ts +19 -0
- package/dist/lib/models/iam/v4/authz/RmIdentityType.js +83 -0
- package/dist/lib/models/iam/v4/authz/Role.d.ts +29 -7
- package/dist/lib/models/iam/v4/authz/Role.js +96 -12
- package/dist/lib/models/iam/v4/authz/RoleConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RoleConfig.js +37 -6
- package/dist/lib/models/iam/v4/authz/RoleMembership.d.ts +121 -0
- package/dist/lib/models/iam/v4/authz/RoleMembership.js +597 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipProjection.d.ts +21 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipProjection.js +334 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipSummary.d.ts +55 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipSummary.js +327 -0
- package/dist/lib/models/iam/v4/authz/RoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RoleProjection.js +7 -4
- package/dist/lib/models/iam/v4/authz/ScopeTemplate.d.ts +67 -0
- package/dist/lib/models/iam/v4/authz/ScopeTemplate.js +398 -0
- package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
- package/dist/lib/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigRequest.js +7 -5
- package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigType.js +2 -2
- package/dist/lib/models/iam/v4/authz/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Tenant.js +4 -4
- package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.js +4 -4
- package/dist/lib/models/iam/v4/authz/UserRole.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserRole.js +16 -4
- package/dist/lib/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserRoleProjection.js +4 -4
- package/dist/lib/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/ActionBaseResponse.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationError.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.js +4 -4
- package/dist/lib/models/iam/v4/common/SortOrderType.js +2 -2
- package/dist/lib/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/ValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/error/AppMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/AppMessage.js +4 -4
- package/dist/lib/models/iam/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/ErrorResponse.js +23 -6
- package/dist/lib/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/SchemaValidationError.js +4 -4
- package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/tenant/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/tenant/Tenant.js +4 -4
- package/dist/lib/models/validation/ValidationError.js +2 -2
- package/dist/lib/utils/ValidationUtils.js +2 -2
- package/package.json +4 -4
|
@@ -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.Iam=t())}(Object("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,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,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 s=(n=n.slice(0)).length;i<s;++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}},340(e){e.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,u){var h;if(l+=1,"object"==typeof e&&null!==e){for(h=0;h<r.length;h++)if(r[h]===e)return void a(n,e,i,o);if(void 0!==u.depthLimit&&l>u.depthLimit)return void a(t,e,i,o);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(h=0;h<e.length;h++)d(e[h],h,h,r,e,l,u);else{var c=Object.keys(e);for(h=0;h<c.length;h++){var p=c[h];d(e[p],p,h,r,e,l,u)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,o){void 0===o&&(o=r());var a,d=h(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function h(e,s,r,o,d,u,c){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&u>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)h(e[p],p,p,o,e,u,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];h(e[v],v,p,o,e,u,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},784(e,t,n){"use strict";var i="win32"===process.platform,s=n(818);function r(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}return n}function o(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]*?)$/,d=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=d.exec(i);return[n,s[1],s[2],s[3]]}function h(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 c(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var o;if(i>=0?o=arguments[i]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!s.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=h(o),d=a.device,l=a.isUnc,u=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=u),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=r(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=h(e),n=t.device,i=t.isUnc,s=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=r(o.split(/[\\\/]+/),!s).join("\\"))||s||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(s?"\\":"")+o},l.isAbsolute=function(e){return h(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!s.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,}/,"\\")),l.normalize(i)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=o(t.split("\\")),r=o(n.split("\\")),a=o(i.split("\\")),d=Math.min(r.length,a.length),u=d,h=0;h<d;h++)if(r[h]!==a[h]){u=h;break}if(0==u)return t;var c=[];for(h=u;h<r.length;h++)c.push("..");return(c=c.concat(s.slice(u))).join("\\")},l._makeLong=function(e){if(!s.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=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.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},l.extname=function(e){return u(e)[3]},l.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.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]===l.sep?n+i:n+l.sep+i:i},l.parse=function(e){if(!s.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)}},l.sep="\\",l.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!s.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=r(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=r(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=o(e.split("/")),i=o(t.split("/")),s=Math.min(n.length,i.length),r=s,a=0;a<s;a++)if(n[a]!==i[a]){r=a;break}var d=[];for(a=r;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(r))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(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)}},y.sep="/",y.delimiter=":",e.exports=i?l:y,e.exports.posix=y,e.exports.win32=l},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 s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+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}},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},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 s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var r=n(960),o=n(340),a=n(695),d=n(388),l=n(19),u=n(619);function h(){}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 c=t=e.exports;t.Request=$,c.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.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 y(e){if(!d(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){g(e,t,n)});else if(d(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&g(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function m(e){return/[/+]json($|[^-\w])/.test(e)}function w(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,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),o[i]=s);return o}(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 $(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 w(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 f(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=y,c.parseString=v,c.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"},c.serialize={"application/x-www-form-urlencoded":y,"application/json":o},c.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},l(w.prototype),w.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&m(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},w.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},c.Response=w,r($.prototype),a($.prototype),$.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},$.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},$.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")})},$.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},$.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},$.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},$.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)},$.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)},$.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},$.prototype.ca=$.prototype.agent,$.prototype.buffer=$.prototype.ca,$.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},$.prototype.pipe=$.prototype.write,$.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},$.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||h,this._finalizeQueryString(),this._end()},$.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},$.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=c.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 s=this._header["content-type"],r=this._serializer||c.serialize[s?s.split(";")[0]:""];!r&&m(s)&&(r=c.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},c.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=f,c.delete=f,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},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 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 s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.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},r.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 o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.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&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.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()},r.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)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(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},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.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(s(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},r.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},r.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},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(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&&s(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},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.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("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.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)}},r.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 i=n(897);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.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.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(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),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}},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){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!$(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};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),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var $,k="",j=!1,F=["{","}"];return c(n)&&(j=!0,F=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(k=" "+RegExp.prototype.toString.call(n)),f(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==o.length||j&&0!=n.length?i<0?w(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),$=j?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(h(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(h(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return h(e,n,i,a,t,j)}),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]}($,k,F)):F[0]+k+F[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?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")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function w(e){return $(e)&&"[object RegExp]"===k(e)}function $(e){return"object"==typeof e&&null!==e}function f(e){return $(e)&&"[object Date]"===k(e)}function b(e){return $(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function j(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=w,t.isObject=$,t.isDate=f,t.isError=b,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 F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[j((e=new Date).getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":"),[e.getDate(),F[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!$(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},548(){},799(){},545(){},965(){}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.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:()=>xu});var e,t=n(585),s=n.n(t);class r{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new r,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=de.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}r.prototype.linkFirst=null,r.prototype.linkPrev=null,r.prototype.linkNext=null,r.prototype.linkLast=null,r.prototype.apiClient=null,r.prototype.page=null,r.prototype.resultsPerPage=null,r.prototype.resultsTotal=null;var o=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(o)}const d=/^(?:[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 l=[],u=0;u<256;++u)l.push((u+256).toString(16).substr(1));const h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&d.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},c=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 s=0;s<16;++s)t[n+s]=i[s];return t}return h(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),m=n(799),w=n.n(m),$=n(784),f=n.n($),b=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 k=T;class j{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 F{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 O=new WeakSet;class E{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="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new E,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}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")}E.prototype.name=void 0,E.prototype.value=!1,E.prototype.$reserved=void 0,E.prototype.$objectType=void 0,E.prototype.$unknownFields=void 0;var P=new WeakSet;class U{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 U,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:C(P,this,A).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:C(P,this,A).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("map","undefined or null")}}function A(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 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")}U.prototype.map=void 0,U.prototype.$reserved=void 0,U.prototype.$objectType=void 0,U.prototype.$unknownFields=void 0;var D=new WeakSet;class N{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=D),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,s,r,o,a;if(e){if(t=t||new N,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(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=U.constructFromObject(i[r],void 0),o.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(o)}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):I(D,this,R).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):I(D,this,R).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function R(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.name=void 0,N.prototype.value=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;const S={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(S).find(t=>S[t]===e);return null==t?S.$UNKNOWN:S[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case S.$UNKNOWN:case S.$REDACTED:case S.INFO:case S.WARNING:case S.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(S);const L=S;var M=new WeakSet;class x{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 x,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(L.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("severity","undefined or null"):new F("locale","undefined or null"):new F("message","undefined or null"):new F("code","undefined or null")}}x.prototype.code=void 0,x.prototype.message=void 0,x.prototype.locale="en_US",x.prototype.severity=void 0,x.prototype.$reserved=void 0,x.prototype.$objectType=void 0,x.prototype.$unknownFields=void 0;var J=new WeakSet;class _{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.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("rel","undefined or null"):new F("href","undefined or null")}}_.prototype.href=void 0,_.prototype.rel=void 0,_.prototype.$reserved=void 0,_.prototype.$objectType=void 0,_.prototype.$unknownFields=void 0;var K,W=new WeakSet;class q{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=W),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,s,r,o;if(e){if(t=t||new q,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=E.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}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(o=[],i=e.messages,r=0;r<i.length;r++)s=x.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new F("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new F("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new F("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new F("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new F("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new F("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new F("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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function B(e,t,n){z(e,t),t.set(e,n)}function z(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function G(e,t){return e.get(H(e,t))}function V(e,t,n){return e.set(H(e,t),n),n}function H(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.flags=void 0,q.prototype.links=void 0,q.prototype.totalAvailableResults=void 0,q.prototype.messages=void 0,q.prototype.extraInfo=void 0,q.prototype.$reserved=void 0,q.prototype.$objectType=void 0,q.prototype.$unknownFields=void 0,y()(s());var X=new WeakMap,Y=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakSet;class de{constructor(){var e;z(this,e=ae),e.add(this),B(this,X,void 0),B(this,Y,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,se,void 0),B(this,re,void 0),B(this,oe,void 0),V(oe,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",V(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={},V(ee,this,3e4),V(te,this,3e4),V(ne,this,108e5),this.readTimeout=G(te,this),this.connectTimeout=G(ee,this),this.cache=!0,V(Y,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(s().agent)),this.requestAgent=null,V(re,this,null),this.allowVersionNegotiation=!0,V(se,this,!1),this.debug=!1,V(Z,this,null),this.username=null,this.password=null,V(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),V(Q,this,e)}get verifySsl(){return G(Q,this)}set host(e){V(ie,this,e),V(se,this,!1),V(re,this,null)}get host(){return G(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=w().createWriteStream(e,{flags:"a"})),V(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&V(Y,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!==G(re,this)&&null!==G(re,this)&&null!==G(re,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b2"!==G(re,this)){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Changing uri",e,"to negotiated version",G(re,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,G(re,this))}V(X,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==G(X,this)&&""!==this.host&&""!==this.port?i=G(X,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.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 G(re,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===G(se,this)?this.callApiInternal("/api/iam/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,s="v4.1.b2";if(H(ae,this,we).call(this,H(ae,this,$e).call(this,i),H(ae,this,$e).call(this,s)))return H(ae,this,ke).call(this,G(oe,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),V(re,this,null),V(se,this,!1),void n(e);V(re,this,H(ae,this,me).call(this,"v4.1.b2",i)),V(se,this,!0),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Negotiated Version with server :",G(re,this)),n(e)}else H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}).catch(t=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,u){return this.negotiateVersion(this,a).then(function(h){return h.callApiInternal(e,t,n,i,s,r,o,a,d,l,u)})}callApiInternal(e,t,i,r,o,a,d,l,u,h,p){var y=this.buildUrl(e,i);const g="undefined"!=typeof window&&void 0!==window.document;let v=["application/octet-stream","application/pdf","application/zip"];if(h&&h.length>0&&h.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=H(ae,this,Ee).call(this,y,t,r,o,d,l,u,h);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),n(e)})});var m=s()(t,y);if(m.oldCallback=m.callback,m.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)},H(ae,this,pe).call(this,m,l),"GET"===t.toUpperCase()&&!1===this.cache&&(r._=(new Date).getTime()),m.query(H(ae,this,ce).call(this,r)),m.set(this.defaultHeaders).set(H(ae,this,ce).call(this,o)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==o["NTNX-Request-Id"]&&void 0!==o["NTNX-Request-Id"])){let e=c();m.set(H(ae,this,ce).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",m.set(H(ae,this,ce).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.2-beta.2"}))),this.requestAgent&&m.agent(this.requestAgent);var $={};$.response=H(ae,this,fe).call(this,this.connectTimeout,G(ee,this)),$.deadline=H(ae,this,fe).call(this,this.readTimeout,G(te,this)),m.timeout($);var f=o.hasOwnProperty("Content-Type")?o["Content-Type"]:H(ae,this,ue).call(this,u);if(f?"multipart/form-data"!=f&&m.type(f):m.header["Content-Type"]||m.type("application/json"),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,y),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",void 0===m.header?"":m.header),"application/x-www-form-urlencoded"===f)m.send(H(ae,this,ce).call(this,a));else if("multipart/form-data"==f){var b=H(ae,this,ce).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(H(ae,this,he).call(this,b[T])?m.attach(T,b[T]):m.field(T,b[T]))}else{if("application/octet-stream"===f&&null!=d&&"function"==typeof d.pipe){if(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Piping octet-stream request"),"function"==typeof d.pipe)d.pipe(m);else{let e;try{e=n(965)}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error fetching steam/web")}d instanceof e.ReadableStream?d.pipeTo(new e.WritableStream({write(e){m.write(e)},close(){H(ae,this,ke).call(this,G(oe,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"READABLE STREAM ABORTED")}})):m.send(d)}return new Promise((t,n)=>{m.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{H(ae,this,Oe).call(this,i,e,r,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&d&&m.send(d)}"Blob"==typeof p?m.responseType("blob"):"String"===p&&m.responseType("string"),H(ae,this,Te).call(this,m),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",void 0===m._data?"":m._data);var k=o.hasOwnProperty("Accept")&&null!=o.Accept?o.Accept:h.join(", ");return k&&m.accept(k),new Promise((n,i)=>{m.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e)}).end((o,a)=>{if(o)H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error during the request!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),404===o.status&&(V(se,this,!1),V(re,this,null)),null!==o.response&&void 0!==o.response?o.data=H(ae,this,ge).call(this,o.response,p):o.data=H(ae,this,ye).call(this,o),i(o);else{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",a.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",a.headers);let o="";if(a.headers.hasOwnProperty("content-type")&&(o=a.headers["content-type"]),v.includes(o)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=w().createWriteStream(e);H(ae,this,Ce).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",r=this;H(ae,this,ke).call(this,G(oe,this).INFO,null,"Redirecting to :",a.headers.location);var d=s()(t,a.headers.location);d.set(m.header),a.headers.hasOwnProperty("x-redirect-token")&&(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Writing X-Redirect-Token into Cookie"),d.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&d.agent(this.requestAgent),d.redirects(0),d.withCredentials(this.withCredentials),d.buffer(!1);let o=w().createWriteStream(e);d.pipe(o),d.on("response",function(t){H(ae,r,ke).call(r,G(oe,r).INFO,null,"Received response after redirection :",t.status),H(ae,r,Ce).call(r,t,o,e,n,i,p)})}else H(ae,this,Oe).call(this,a,e,r,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 s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}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 de.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=>de.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=de.convertToType(r,i),d=de.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=de.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=de.convertToType(e[s],n))}}function le(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(H(ae,this,le).call(this,e[t]))return e[t];return e[0]}function he(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 b.Blob&&e instanceof b.Blob||"function"==typeof File&&e instanceof File}function ce(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];H(ae,this,he).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||""),H(ae,this,ke).call(this,G(oe,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)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ye(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ge(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 b.Blob([e.text],{type:e.headers["content-type"]});let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;return r.flags=s,n.metadata=r,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),K.convertToType(n,t)}function ve(e,t,n){if(!(e instanceof r))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function me(e,t){if(!e||!t)return e;let n=H(ae,this,$e).call(this,e),i=H(ae,this,$e).call(this,t);return!n.family===i.family||H(ae,this,we).call(this,n,i)?e:t}function we(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),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function $e(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 fe(e,t){return e<=0?e=t:e>G(ne,this)&&(e=G(ne,this)),e}function be(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))}V(Y,this,t),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Retained cookie :",t)}else V(Y,this,null)}function Te(e){null!=G(Y,this)&&e.set(H(ae,this,ce).call(this,{Cookie:G(Y,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=G(oe,this).INFO),!H(ae,this,je).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!==G(Z,this)&&null!==G(Z,this)&&"function"==typeof G(Z,this).log?G(Z,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===G(oe,this).DEBUG}function Fe(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 Oe(e,t,n,i,s,r){try{var o=H(ae,this,ge).call(this,e,i);H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",e.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",e.headers),H(ae,this,be).call(this,e||{}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),H(ae,this,ve).call(this,o,t,n),s({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error while processing response!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),e.data=H(ae,this,ye).call(this,e),r(e)}}function Ee(e,t,n,i,s,r,o,a){let d={};r.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}`);d.Authorization=`Basic ${t}`}H(ae,this,ke).call(this,G(oe,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?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,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 l=H(ae,this,ce).call(this,n),u=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let h=e;u&&(h+=(h.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...H(ae,this,ce).call(this,i),...d};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=c();p["NTNX-Request-Id"]=e}null!=G(Y,this)&&(p.Cookie=H(ae,this,ce).call(this,{Cookie:G(Y,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:H(ae,this,ue).call(this,o);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,e),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",p),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",s||""),{url:h,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Ce(e,t,n,i,s,r){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=f().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.data={path:f().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;r.flags=s,o.metadata=r}e.on("end",()=>{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),0!==a.length?(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),w().renameSync(n,a),i({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),error.data=H(ae,this,ye).call(this,error),s(e)})}function Pe(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")}K=de,de.instance=new de;var Ue=new WeakSet;class Ae{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=Ue),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ae,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(L.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:Pe(Ue,this,Ie).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:Pe(Ue,this,Ie).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("argumentsMap","undefined or null"):new F("errorGroup","undefined or null"):new F("locale","undefined or null"):new F("code","undefined or null"):new F("severity","undefined or null"):new F("message","undefined or null")}}function Ie(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}Ae.prototype.message=void 0,Ae.prototype.severity=void 0,Ae.prototype.code=void 0,Ae.prototype.locale="en_US",Ae.prototype.errorGroup=void 0,Ae.prototype.argumentsMap=void 0,Ae.prototype.$reserved=void 0,Ae.prototype.$objectType=void 0,Ae.prototype.$unknownFields=void 0;var De=new WeakSet;class Ne{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=De),t.add(e),this.$objectType="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ne,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributePath","undefined or null"):new F("message","undefined or null"):new F("location","undefined or null")}}function Re(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")}Ne.prototype.location=void 0,Ne.prototype.message=void 0,Ne.prototype.attributePath=void 0,Ne.prototype.$reserved=void 0,Ne.prototype.$objectType=void 0,Ne.prototype.$unknownFields=void 0;var Se=new WeakSet;class Le{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=Se),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Le,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(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ne.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}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:Re(Se,this,Me).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("validationErrorMessages","undefined or null"):new F("path","undefined or null"):new F("error","undefined or null"):new F("statusCode","undefined or null"):new F("timestamp","undefined or null")}}function Me(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xe(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")}Le.prototype.timestamp=void 0,Le.prototype.statusCode=void 0,Le.prototype.error=void 0,Le.prototype.path=void 0,Le.prototype.validationErrorMessages=void 0,Le.prototype.$reserved=void 0,Le.prototype.$objectType=void 0,Le.prototype.$unknownFields=void 0;var Je=new WeakSet;class _e{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=Je),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new _e,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("iam.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ae.constructFromObject(i[r],void 0),o.push(s)}t.setError(o)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Le.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):xe(Je,this,Ke).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):xe(Je,this,Ke).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}function Ke(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 We(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")}_e.prototype.error=void 0,_e.prototype.$reserved=void 0,_e.prototype.$objectType=void 0,_e.prototype.$unknownFields=void 0;var qe=new WeakSet;class Be extends r{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=qe),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Be,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):We(qe,this,ze).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):We(qe,this,ze).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ze(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}Be.prototype.metadata=void 0,Be.prototype.data=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ve{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=Ge),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 Ve,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.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 F("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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ve.prototype.tenantId=void 0,Ve.prototype.$reserved=void 0,Ve.prototype.$objectType=void 0,Ve.prototype.$unknownFields=void 0;var He=new WeakSet;class Xe extends Ve{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=He),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,s,r,o;if(e){if(t=t||new Xe,Ve.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(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new F("extId","undefined or null");if(null==e){if(!j.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 F("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===k.update&&!j.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 F("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 F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}return new F(t,"no such property exists")}}Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ye=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=Ye),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ze,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),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())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new F("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new F("ocspResponder","undefined or null");if(!j.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new F("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new F("crlDps","undefined or null");if(!j.validateMaxItems(this.crlDps,10))return new F("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("globalCrlRefreshInterval","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")}Ze.prototype.isOcspEnabled=void 0,Ze.prototype.ocspResponder=void 0,Ze.prototype.isCrlEnabled=void 0,Ze.prototype.crlDps=void 0,Ze.prototype.globalCrlRefreshInterval=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var et=new WeakSet;class tt extends Xe{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=et),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(Ze.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Qe(et,this,nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Qe(et,this,nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new F("clientCaChain","undefined or null");if(!j.validateMinLength(this.clientCaChain,64))return new F("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new F("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new F("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new F("dirSvcExtID","undefined or null");if(!j.validatePattern(this.dirSvcExtID,/^[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 F("dirSvcExtID","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("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new F("caCertFileName","undefined or null");if(!j.validateMaxLength(this.caCertFileName,255))return new F("caCertFileName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.caCertFileName,1))return new F("caCertFileName","does not satisfy required minLength constraint: 1")}return"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("certRevocationInfo","undefined or null")}}function nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function it(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")}tt.prototype.name=void 0,tt.prototype.clientCaChain=void 0,tt.prototype.isCertAuthEnabled=void 0,tt.prototype.isCacEnabled=void 0,tt.prototype.dirSvcExtID=void 0,tt.prototype.caCertFileName=void 0,tt.prototype.certRevocationInfo=void 0,tt.prototype.createdTime=void 0,tt.prototype.lastUpdatedTime=void 0,tt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var st=new WeakSet;class rt extends r{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=st),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new rt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.CertAuthProvider"!==d)throw"Unknown list of type "+d+" in data";s=tt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):it(st,this,ot).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):it(st,this,ot).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ot(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 at(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")}rt.prototype.metadata=void 0,rt.prototype.data=void 0,rt.prototype.$reserved=void 0,rt.prototype.$objectType=void 0,rt.prototype.$unknownFields=void 0;var dt=new WeakSet;class lt extends r{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=dt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):at(dt,this,ut).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):at(dt,this,ut).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ut(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 ht(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")}lt.prototype.metadata=void 0,lt.prototype.data=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var ct=new WeakSet;class pt extends r{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="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):ht(ct,this,yt).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):ht(ct,this,yt).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function yt(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 gt(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")}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 vt=new WeakSet;class mt extends r{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=vt),t.add(e),this.$objectType="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):gt(vt,this,wt).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):gt(vt,this,wt).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wt(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}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;const $t={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($t).find(t=>$t[t]===e);return null==t?$t.$UNKNOWN:$t[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $t.$UNKNOWN:case $t.$REDACTED:case $t.ACTIVE_DIRECTORY:case $t.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze($t);const ft=$t;var bt=new WeakSet;class Tt{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=bt),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tt,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tt.prototype.username=void 0,Tt.prototype.password=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;const kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kt).find(t=>kt[t]===e);return null==t?kt.$UNKNOWN:kt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kt.$UNKNOWN:case kt.$REDACTED:case kt.NON_RECURSIVE:case kt.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(kt);const jt=kt;var Ft=new WeakSet;class Ot{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ft),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ot,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),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())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$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 k?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new F("userObjectClass","undefined or null");if(!j.validateMaxLength(this.userObjectClass,64))return new F("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new F("userSearchBase","undefined or null");if(!j.validateMaxLength(this.userSearchBase,200))return new F("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,64))return new F("usernameAttribute","does not satisfy required maxLength 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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ot.prototype.userObjectClass=void 0,Ot.prototype.userSearchBase=void 0,Ot.prototype.usernameAttribute=void 0,Ot.prototype.$reserved=void 0,Ot.prototype.$objectType=void 0,Ot.prototype.$unknownFields=void 0;var Et=new WeakSet;class Ct{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Et),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),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())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$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 k?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new F("groupObjectClass","undefined or null");if(!j.validateMaxLength(this.groupObjectClass,64))return new F("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new F("groupSearchBase","undefined or null");if(!j.validateMaxLength(this.groupSearchBase,200))return new F("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new F("groupMemberAttribute","undefined or null");if(!j.validateMaxLength(this.groupMemberAttribute,64))return new F("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new F("groupMemberAttributeValue","undefined or null");if(!j.validateMaxLength(this.groupMemberAttributeValue,64))return new F("groupMemberAttributeValue","does not satisfy required maxLength 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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ct.prototype.groupObjectClass=void 0,Ct.prototype.groupSearchBase=void 0,Ct.prototype.groupMemberAttribute=void 0,Ct.prototype.groupMemberAttributeValue=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;var Pt=new WeakSet;class Ut{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=Pt),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ut,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(Ot.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(Ct.constructFromObject(e.userGroupConfiguration)),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())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().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 k?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("userGroupConfiguration","undefined or null"):new F("userConfiguration","undefined or null")}}function At(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")}Ut.prototype.userConfiguration=void 0,Ut.prototype.userGroupConfiguration=void 0,Ut.prototype.$reserved=void 0,Ut.prototype.$objectType=void 0,Ut.prototype.$unknownFields=void 0;var It=new WeakSet;class Dt extends Xe{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="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Dt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(ft.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Tt.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(Ut.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(jt.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:At(It,this,Nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:At(It,this,Nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new F("url","undefined or null");if(!j.validateMaxLength(this.url,2e3))return new F("url","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.url,3))return new F("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new F("secondaryUrls","undefined or null");if(!j.validateMaxItems(this.secondaryUrls,5))return new F("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new F("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new F("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new F("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new F("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new F("whiteListedGroups","undefined or null");if(!j.validateMaxItems(this.whiteListedGroups,1e3))return new F("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rt(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.url=void 0,Dt.prototype.secondaryUrls=void 0,Dt.prototype.domainName=void 0,Dt.prototype.directoryType=void 0,Dt.prototype.serviceAccount=void 0,Dt.prototype.openLdapConfiguration=void 0,Dt.prototype.groupSearchType=void 0,Dt.prototype.whiteListedGroups=void 0,Dt.prototype.createdTime=void 0,Dt.prototype.lastUpdatedTime=void 0,Dt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var St=new WeakSet;class Lt extends r{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=St),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Rt(St,this,Mt).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):Rt(St,this,Mt).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mt(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}Lt.prototype.metadata=void 0,Lt.prototype.data=void 0,Lt.prototype.$reserved=void 0,Lt.prototype.$objectType=void 0,Lt.prototype.$unknownFields=void 0;var xt=new WeakSet;class Jt{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.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Jt,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),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())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$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 k?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new F("query","undefined or null");if(!j.validateMaxLength(this.query,2e3))return new F("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new F("searchedAttributes","undefined or null");if(!j.validateMaxItems(this.searchedAttributes,25))return new F("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new F("returnedAttributes","undefined or null");if(!j.validateMaxItems(this.returnedAttributes,25))return new F("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("isWildcardSearch","undefined or null")}}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")}Jt.prototype.query=void 0,Jt.prototype.searchedAttributes=void 0,Jt.prototype.returnedAttributes=void 0,Jt.prototype.isWildcardSearch=!0,Jt.prototype.$reserved=void 0,Jt.prototype.$objectType=void 0,Jt.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends r{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=Kt),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):_t(Kt,this,qt).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(Kt,this,qt).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function qt(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}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var Bt=new WeakSet;class zt{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=Bt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zt,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(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())}getValues(){return this.values}setValues(e){this.values=e}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.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new F("values","undefined or null");if(!j.validateMaxItems(this.values,25))return new F("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,1e3))return new F("name","does not satisfy required maxLength constraint: 1000")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}zt.prototype.values=void 0,zt.prototype.name=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Gt=new WeakSet;class Vt{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=Gt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Vt,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=zt.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}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())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new F("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new F("name","does not satisfy required maxLength constraint: 64")}if("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new F("attributes","undefined or null");if(!j.validateMaxItems(this.attributes,25))return new F("attributes","does not satisfy required maxItems constraint: 25")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Vt.prototype.entityType=void 0,Vt.prototype.name=void 0,Vt.prototype.attributes=void 0,Vt.prototype.$reserved=void 0,Vt.prototype.$objectType=void 0,Vt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Xt{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=Ht),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xt,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Vt.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),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())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new F("searchResults","undefined or null");if(!j.validateMaxItems(this.searchResults,1e3))return new F("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yt(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")}Xt.prototype.searchResults=void 0,Xt.prototype.domainName=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt extends r{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="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Xt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Yt(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):Yt(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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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}function tn(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")}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 nn=new WeakSet;class sn extends r{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=nn),t.add(e),this.$objectType="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):tn(nn,this,rn).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):tn(nn,this,rn).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rn(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 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")}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;var an=new WeakSet;class dn extends r{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=an),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new dn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.DirectoryService"!==d)throw"Unknown list of type "+d+" in data";s=Dt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):on(an,this,ln).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(an,this,ln).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ln(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}dn.prototype.metadata=void 0,dn.prototype.data=void 0,dn.prototype.$reserved=void 0,dn.prototype.$objectType=void 0,dn.prototype.$unknownFields=void 0;var un=new WeakSet;class hn{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=un),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hn,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),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}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$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 k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}hn.prototype.message=void 0,hn.prototype.$reserved=void 0,hn.prototype.$objectType=void 0,hn.prototype.$unknownFields=void 0;class cn extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cn,hn.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 k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function pn(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 yn=new WeakSet;class gn extends r{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=yn),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(cn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):pn(yn,this,vn).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):pn(yn,this,vn).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function vn(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")}gn.prototype.metadata=void 0,gn.prototype.data=void 0,gn.prototype.$reserved=void 0,gn.prototype.$objectType=void 0,gn.prototype.$unknownFields=void 0;var wn=new WeakSet;class $n extends r{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=wn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):mn(wn,this,fn).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):mn(wn,this,fn).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function fn(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 bn=new WeakSet;class Tn{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=bn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tn.prototype.username=void 0,Tn.prototype.password=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;const kn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kn).find(t=>kn[t]===e);return null==t?kn.$UNKNOWN:kn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kn.$UNKNOWN:case kn.$REDACTED:case kn.USER_DEFINED:case kn.SERVICE_DEFINED:case kn.PREDEFINED_READ_ONLY:case kn.PREDEFINED_UPDATE_IDENTITY_ONLY:case kn.SERVICE_DEFINED_READ_ONLY:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY }")}}};Object.freeze(kn);const jn=kn;var Fn=new WeakSet;class On{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=Fn),t.add(e),this.$objectType="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),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())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entityFilter","undefined or null")}}On.prototype.entityFilter=void 0,On.prototype.$reserved=void 0,On.prototype.$objectType=void 0,On.prototype.$unknownFields=void 0;var En=new WeakSet;class Cn extends Xe{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=En),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=On.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!j.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new F("role","undefined or null");if(!j.validateMaxLength(this.role,255))return new F("role","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.role,/^[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 F("role","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 F(t,"no such property exists")}}Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Pn=new WeakSet;class Un{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=Pn),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Un,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),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())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("identityFilter","undefined or null")}}function An(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.identityFilter=void 0,Un.prototype.$reserved=void 0,Un.prototype.$objectType=void 0,Un.prototype.$unknownFields=void 0;var In=new WeakSet;class Dn extends Cn{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=In),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Dn,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=Un.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(jn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!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())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:An(In,this,Nn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:An(In,this,Nn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...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.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new F("identities","undefined or null");if(!j.validateMaxItems(this.identities,600))return new F("identities","does not satisfy required maxItems constraint: 600");if(!j.validateMinItems(this.identities,1))return new F("identities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new F(t,"no such property exists"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("authorizationPolicyType","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Sn=new WeakSet;class Ln extends r{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="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ln,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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(Sn,this,Mn).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(Sn,this,Mn).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mn(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 xn(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")}Ln.prototype.metadata=void 0,Ln.prototype.data=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Jn=new WeakSet;class _n extends r{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=Jn),t.add(e),this.$objectType="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):xn(Jn,this,Kn).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):xn(Jn,this,Kn).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kn(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 Wn=new WeakSet;class qn extends Xe{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=Wn),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bn).find(t=>Bn[t]===e);return null==t?Bn.$UNKNOWN:Bn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bn.$UNKNOWN:case Bn.$REDACTED:case Bn.IMPACTED:case Bn.NOT_IMPACTED:case Bn.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(Bn);const zn=Bn;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")}var Vn=new WeakSet;class Hn extends qn{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="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Hn,qn.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(zn.constructFromObject(e.operationSchemaChangeImpact)),!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())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gn(Vn,this,Xn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gn(Vn,this,Xn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new F("accessibleClients","undefined or null");if(!j.validateMaxItems(this.accessibleClients,50))return new F("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new F("accessibleEntityTypes","undefined or null");if(!j.validateMaxItems(this.accessibleEntityTypes,500))return new F("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}return"accessibleClientsCount"!==t||void 0!==this.accessibleClientsCount&&null!==this.accessibleClientsCount?"accessibleEntityTypesCount"!==t||void 0!==this.accessibleEntityTypesCount&&null!==this.accessibleEntityTypesCount?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new F(t,"no such property exists"):new F("operationSchemaChangeImpact","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("accessibleEntityTypesCount","undefined or null"):new F("accessibleClientsCount","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Yn extends Hn{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yn,Hn.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Zn(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 Qn=new WeakSet;class ei extends Dn{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=Qn),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ei,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(Yn.constructFromObject(e.roleProjection)),!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())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Zn(Qn,this,ti).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Zn(Qn,this,ti).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...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.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ni(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")}ei.prototype.roleProjection=void 0,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ii=new WeakSet;class si extends r{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="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.AuthorizationPolicy":s=Dn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=ei.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):ni(ii,this,ri).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):ni(ii,this,ri).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ri(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 oi(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")}si.prototype.metadata=void 0,si.prototype.data=void 0,si.prototype.$reserved=void 0,si.prototype.$objectType=void 0,si.prototype.$unknownFields=void 0;var ai=new WeakSet;class di extends r{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="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new di,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):oi(ai,this,li).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):oi(ai,this,li).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function li(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 ui(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")}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 hi=new WeakSet;class ci extends r{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=hi),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ci,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):ui(hi,this,pi).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):ui(hi,this,pi).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pi(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 yi(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")}ci.prototype.metadata=void 0,ci.prototype.data=void 0,ci.prototype.$reserved=void 0,ci.prototype.$objectType=void 0,ci.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends Xe{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=gi),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vi,Xe.constructFromObject(e,t,!0),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("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(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())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yi(gi,this,mi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yi(gi,this,mi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$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 k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new F("deploymentList","undefined or null");if(!j.validateMaxItems(this.deploymentList,5))return new F("deploymentList","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.deploymentList,1))return new F("deploymentList","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}function mi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function wi(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.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var $i=new WeakSet;class fi extends r{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=$i),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.Client":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):wi($i,this,bi).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):wi($i,this,bi).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function bi(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}fi.prototype.metadata=void 0,fi.prototype.data=void 0,fi.prototype.$reserved=void 0,fi.prototype.$objectType=void 0,fi.prototype.$unknownFields=void 0;const Ti={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ti).find(t=>Ti[t]===e);return null==t?Ti.$UNKNOWN:Ti[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ti.$UNKNOWN:case Ti.$REDACTED:case Ti.ALLOF:case Ti.ANYOF:case Ti.EQ:case Ti.NONEOF:case Ti.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Ti);const ki=Ti;var ji=new WeakSet;class Fi extends Xe{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=ji),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Fi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=ki.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^\\\"]*$/))return new F("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new F("supportedOperators","undefined or null");if(!j.validateMaxItems(this.supportedOperators,5))return new F("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new F("attributeValues","undefined or null");if(!j.validateMaxItems(this.attributeValues,25))return new F("attributeValues","does not satisfy required maxItems constraint: 25")}return new F(t,"no such property exists")}}function Oi(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")}Fi.prototype.displayName=void 0,Fi.prototype.name=void 0,Fi.prototype.supportedOperators=void 0,Fi.prototype.attributeValues=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ei=new WeakSet;class Ci extends Xe{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=Ei),t.add(e),this.$objectType="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ci,Xe.constructFromObject(e,t,!0),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("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=Fi.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!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}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Oi(Ei,this,Pi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Oi(Ei,this,Pi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new F("searchURL","undefined or null");if(!j.validateMaxLength(this.searchURL,2e3))return new F("searchURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.searchURL,3))return new F("searchURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new F("attributeList","undefined or null");if(!j.validateMaxItems(this.attributeList,10))return new F("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new F(t,"no such property exists"):new F("isLogicalAndSupportedForAttributes","undefined or null")}}function Pi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ui(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")}Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ai=new WeakSet;class Ii extends r{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="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ii,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Entity"!==d)throw"Unknown list of type "+d+" in data";s=Ci.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):Ui(Ai,this,Di).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):Ui(Ai,this,Di).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Di(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 Ni(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")}Ii.prototype.metadata=void 0,Ii.prototype.data=void 0,Ii.prototype.$reserved=void 0,Ii.prototype.$objectType=void 0,Ii.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends r{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=Ri),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.Entity":t.setData(Ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Ni(Ri,this,Li).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):Ni(Ri,this,Li).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Li(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}Si.prototype.metadata=void 0,Si.prototype.data=void 0,Si.prototype.$reserved=void 0,Si.prototype.$objectType=void 0,Si.prototype.$unknownFields=void 0;const Mi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",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.LOCAL:case Mi.SAML:case Mi.LDAP:case Mi.CERT:case Mi.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Mi);const xi=Mi;function Ji(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 _i=new WeakSet;class Ki extends Xe{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=_i),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ki,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(xi.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ji(_i,this,Wi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ji(_i,this,Wi).call(this,this.getLastUpdatedTime(),!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.getType()&&null!==this.getType()?{type:this.getType()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"type"!==t||void 0!==this.type&&null!==this.type?"isBrowserLoginSupported"!==t||void 0!==this.isBrowserLoginSupported&&null!==this.isBrowserLoginSupported?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isBrowserLoginSupported","undefined or null"):new F("type","undefined or null")}}function Wi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qi(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")}Ki.prototype.name=void 0,Ki.prototype.type=void 0,Ki.prototype.isBrowserLoginSupported=void 0,Ki.prototype.createdTime=void 0,Ki.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Bi=new WeakSet;class zi extends r{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=Bi),t.add(e),this.$objectType="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new zi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.LoginProvider"!==d)throw"Unknown list of type "+d+" in data";s=Ki.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):qi(Bi,this,Gi).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):qi(Bi,this,Gi).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gi(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.metadata=void 0,zi.prototype.data=void 0,zi.prototype.$reserved=void 0,zi.prototype.$objectType=void 0,zi.prototype.$unknownFields=void 0;const Vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vi).find(t=>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.V3:case Vi.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(Vi);const Hi=Vi,Xi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xi).find(t=>Xi[t]===e);return null==t?Xi.$UNKNOWN:Xi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xi.$UNKNOWN:case Xi.$REDACTED:case Xi.POST:case Xi.GET:case Xi.PUT:case Xi.PATCH:case Xi.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(Xi);const Yi=Xi;var Zi=new WeakSet;class Qi{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=Zi),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qi,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(Hi.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Yi.constructFromObject(e.httpMethod)),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())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new F("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new F("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("httpMethod","undefined or null")}}Qi.prototype.apiVersion=void 0,Qi.prototype.endpointUrl=void 0,Qi.prototype.httpMethod=void 0,Qi.prototype.$reserved=void 0,Qi.prototype.$objectType=void 0,Qi.prototype.$unknownFields=void 0;var es=new WeakSet;class ts{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=es),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ts,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),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())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$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 k?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new F("notes","undefined or null");if(!j.validateMaxLength(this.notes,1e3))return new F("notes","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ts.prototype.notes=void 0,ts.prototype.$reserved=void 0,ts.prototype.$objectType=void 0,ts.prototype.$unknownFields=void 0;const ns={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ns).find(t=>ns[t]===e);return null==t?ns.$UNKNOWN:ns[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ns.$UNKNOWN:case ns.$REDACTED:case ns.INTERNAL:case ns.SYSTEM_DEFINED_ONLY:case ns.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(ns);const is=ns;function ss(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 rs=new WeakSet;class os extends Xe{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=rs),t.add(e),this.$objectType="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new os,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(is.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=Qi.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(ts.constructFromObject(e.migrationActionNotes)),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ss(rs,this,as).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ss(rs,this,as).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new F("entityType","undefined or null");if(!j.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new F("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new F("relatedOperationList","undefined or null");if(!j.validateMaxItems(this.relatedOperationList,1e3))return new F("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new F("associatedEndpointList","undefined or null");if(!j.validateMaxItems(this.associatedEndpointList,4))return new F("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new F(t,"no such property exists"):new F("migrationActionNotes","undefined or null")}}function as(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ls=new WeakSet;class us extends r{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=ls),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Operation"!==d)throw"Unknown list of type "+d+" in data";s=os.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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(ls,this,hs).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(ls,this,hs).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hs(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 cs(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")}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 ps=new WeakSet;class ys extends r{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=ps),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ys,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.Operation":t.setData(os.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):cs(ps,this,gs).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):cs(ps,this,gs).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gs(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 vs(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.metadata=void 0,ys.prototype.data=void 0,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var ms=new WeakSet;class ws extends r{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=ms),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ws,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):vs(ms,this,$s).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):vs(ms,this,$s).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $s(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 fs(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")}ws.prototype.metadata=void 0,ws.prototype.data=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends r{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=bs),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ts,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):fs(bs,this,ks).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):fs(bs,this,ks).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ks(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 js(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")}Ts.prototype.metadata=void 0,Ts.prototype.data=void 0,Ts.prototype.$reserved=void 0,Ts.prototype.$objectType=void 0,Ts.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Os extends r{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="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Os,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):js(Fs,this,Es).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):js(Fs,this,Es).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Es(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 Cs(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")}Os.prototype.metadata=void 0,Os.prototype.data=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Ps=new WeakSet;class Us extends r{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=Ps),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.Role":s=Hn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleProjection":s=Yn.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):Cs(Ps,this,As).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):Cs(Ps,this,As).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function As(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 Is(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")}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 Ds=new WeakSet;class Ns extends r{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=Ds),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ns,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Is(Ds,this,Rs).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):Is(Ds,this,Rs).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rs(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 Ss(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")}Ns.prototype.metadata=void 0,Ns.prototype.data=void 0,Ns.prototype.$reserved=void 0,Ns.prototype.$objectType=void 0,Ns.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Ms extends r{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=Ls),t.add(e),this.$objectType="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Ss(Ls,this,xs).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):Ss(Ls,this,xs).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xs(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}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;const Js={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Js).find(t=>Js[t]===e);return null==t?Js.$UNKNOWN:Js[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Js.$UNKNOWN:case Js.$REDACTED:case Js.EMAILADDRESS:case Js.UNSPECIFIED:case Js.X509SUBJECTNAME:case Js.WINDOWSDOMAINQUALIFIEDNAME:case Js.ENCRYPTED:case Js.ENTITY:case Js.KERBEROS:case Js.PERSISTENT:case Js.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(Js);const _s=Js;var Ks=new WeakSet;class Ws{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ks),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ws,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(_s.constructFromObject(e.nameIdPolicyFormat)),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())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$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 k?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!j.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new F("loginUrl","undefined or null");if(!j.validateMaxLength(this.loginUrl,2e3))return new F("loginUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.loginUrl,3))return new F("loginUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new F("logoutUrl","undefined or null");if(!j.validateMaxLength(this.logoutUrl,2e3))return new F("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.logoutUrl,3))return new F("logoutUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new F("errorUrl","undefined or null");if(!j.validateMaxLength(this.errorUrl,2e3))return new F("errorUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.errorUrl,3))return new F("errorUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new F("certificate","undefined or null");if(!j.validateMinLength(this.certificate,64))return new F("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nameIdPolicyFormat","undefined or null")}}function qs(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")}Ws.prototype.entityId=void 0,Ws.prototype.loginUrl=void 0,Ws.prototype.logoutUrl=void 0,Ws.prototype.errorUrl=void 0,Ws.prototype.certificate=void 0,Ws.prototype.nameIdPolicyFormat=void 0,Ws.prototype.$reserved=void 0,Ws.prototype.$objectType=void 0,Ws.prototype.$unknownFields=void 0;var Bs=new WeakSet;class zs extends Xe{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=Bs),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(Ws.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qs(Bs,this,Gs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:qs(Bs,this,Gs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new F("idpMetadataUrl","undefined or null");if(!j.validateMaxLength(this.idpMetadataUrl,2e3))return new F("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.idpMetadataUrl,3))return new F("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new F("idpMetadataXml","undefined or null");if(!j.validateMinLength(this.idpMetadataXml,3))return new F("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new F("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,256))return new F("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.usernameAttribute,1))return new F("usernameAttribute","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new F("emailAttribute","undefined or null");if(!j.validateMaxLength(this.emailAttribute,256))return new F("emailAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.emailAttribute,3))return new F("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new F("groupsAttribute","undefined or null");if(!j.validateMaxLength(this.groupsAttribute,256))return new F("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.groupsAttribute,3))return new F("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new F("groupsDelim","undefined or null");if(!j.validateMaxLength(this.groupsDelim,3))return new F("groupsDelim","does not satisfy required maxLength constraint: 3");if(!j.validateMinLength(this.groupsDelim,1))return new F("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new F("redirectURL","undefined or null");if(!j.validateMaxLength(this.redirectURL,2e3))return new F("redirectURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.redirectURL,3))return new F("redirectURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new F("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new F("customAttributes","undefined or null");if(!j.validateMaxItems(this.customAttributes,25))return new F("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new F("entityIssuer","undefined or null");if(!j.validateMaxLength(this.entityIssuer,2e3))return new F("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityIssuer,3))return new F("entityIssuer","does not satisfy required minLength constraint: 3")}return"isSignedAuthnReqEnabled"!==t||void 0!==this.isSignedAuthnReqEnabled&&null!==this.isSignedAuthnReqEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSignedAuthnReqEnabled","undefined or null")}}function Gs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vs(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")}zs.prototype.idpMetadataUrl=void 0,zs.prototype.idpMetadataXml=void 0,zs.prototype.idpMetadata=void 0,zs.prototype.name=void 0,zs.prototype.usernameAttribute="name",zs.prototype.emailAttribute="email",zs.prototype.groupsAttribute=void 0,zs.prototype.groupsDelim=void 0,zs.prototype.redirectURL=void 0,zs.prototype.customAttributes=void 0,zs.prototype.entityIssuer=void 0,zs.prototype.isSignedAuthnReqEnabled=void 0,zs.prototype.createdTime=void 0,zs.prototype.lastUpdatedTime=void 0,zs.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Hs=new WeakSet;class Xs extends r{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=Hs),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Xs,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Vs(Hs,this,Ys).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):Vs(Hs,this,Ys).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ys(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 Zs(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")}Xs.prototype.metadata=void 0,Xs.prototype.data=void 0,Xs.prototype.$reserved=void 0,Xs.prototype.$objectType=void 0,Xs.prototype.$unknownFields=void 0;var Qs=new WeakSet;class er extends r{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=Qs),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new er,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Zs(Qs,this,tr).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):Zs(Qs,this,tr).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function tr(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 nr(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.metadata=void 0,er.prototype.data=void 0,er.prototype.$reserved=void 0,er.prototype.$objectType=void 0,er.prototype.$unknownFields=void 0;var ir=new WeakSet;class sr extends r{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=ir),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):nr(ir,this,rr).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):nr(ir,this,rr).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rr(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 or(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")}sr.prototype.metadata=void 0,sr.prototype.data=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var ar=new WeakSet;class dr extends r{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=ar),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):or(ar,this,lr).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):or(ar,this,lr).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","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}function ur(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")}dr.prototype.metadata=void 0,dr.prototype.data=void 0,dr.prototype.$reserved=void 0,dr.prototype.$objectType=void 0,dr.prototype.$unknownFields=void 0;var hr=new WeakSet;class cr extends r{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=hr),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new cr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.SamlIdentityProvider"!==d)throw"Unknown list of type "+d+" in data";s=zs.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):ur(hr,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):ur(hr,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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}function yr(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.metadata=void 0,cr.prototype.data=void 0,cr.prototype.$reserved=void 0,cr.prototype.$objectType=void 0,cr.prototype.$unknownFields=void 0;var gr=new WeakSet;class vr extends r{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=gr),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):yr(gr,this,mr).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):yr(gr,this,mr).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function mr(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}vr.prototype.metadata=void 0,vr.prototype.data=void 0,vr.prototype.$reserved=void 0,vr.prototype.$objectType=void 0,vr.prototype.$unknownFields=void 0;const wr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wr).find(t=>wr[t]===e);return null==t?wr.$UNKNOWN:wr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wr.$UNKNOWN:case wr.$REDACTED:case wr.SAML:case wr.LDAP:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP }")}}};Object.freeze(wr);const $r=wr;function fr(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 br=new WeakSet;class Tr extends Xe{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=br),t.add(e),this.$objectType="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType($r.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:fr(br,this,kr).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:fr(br,this,kr).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new F("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[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 F("idpId","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 F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new F("distinguishedName","undefined or null");if(!j.validateMaxLength(this.distinguishedName,255))return new F("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function kr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}Tr.prototype.groupType=void 0,Tr.prototype.idpId=void 0,Tr.prototype.name=void 0,Tr.prototype.distinguishedName=void 0,Tr.prototype.createdTime=void 0,Tr.prototype.lastUpdatedTime=void 0,Tr.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fr=new WeakSet;class Or extends r{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=Fr),t.add(e),this.$objectType="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Or,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):jr(Fr,this,Er).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(Fr,this,Er).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Er(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 Cr(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.metadata=void 0,Or.prototype.data=void 0,Or.prototype.$reserved=void 0,Or.prototype.$objectType=void 0,Or.prototype.$unknownFields=void 0;var Pr=new WeakSet;class Ur extends r{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=Pr),t.add(e),this.$objectType="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ur,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.UserGroup"!==d)throw"Unknown list of type "+d+" in data";s=Tr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):Cr(Pr,this,Ar).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):Cr(Pr,this,Ar).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ar(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 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")}Ur.prototype.metadata=void 0,Ur.prototype.data=void 0,Ur.prototype.$reserved=void 0,Ur.prototype.$objectType=void 0,Ur.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Nr extends r{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="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Ir(Dr,this,Rr).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):Ir(Dr,this,Rr).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rr(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 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")}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 Lr=new WeakSet;class Mr extends r{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=Lr),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Sr(Lr,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):Sr(Lr,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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}Mr.prototype.metadata=void 0,Mr.prototype.data=void 0,Mr.prototype.$reserved=void 0,Mr.prototype.$objectType=void 0,Mr.prototype.$unknownFields=void 0;var Jr=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=Jr),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),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())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new F("apiKey","undefined or null");if(!j.validateMaxLength(this.apiKey,32))return new F("apiKey","does not satisfy required maxLength constraint: 32");if(!j.validateMinLength(this.apiKey,32))return new F("apiKey","does not satisfy required minLength constraint: 32")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}_r.prototype.apiKey=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;const Kr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Kr).find(t=>Kr[t]===e);return null==t?Kr.$UNKNOWN:Kr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Kr.$UNKNOWN:case Kr.$REDACTED:case Kr.PREDEFINED:case Kr.USERDEFINED:case Kr.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(Kr);const Wr=Kr,qr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qr).find(t=>qr[t]===e);return null==t?qr.$UNKNOWN:qr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qr.$UNKNOWN:case qr.$REDACTED:case qr.API_KEY:case qr.OBJECT_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY }")}}};Object.freeze(qr);const Br=qr,zr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zr).find(t=>zr[t]===e);return null==t?zr.$UNKNOWN:zr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zr.$UNKNOWN:case zr.$REDACTED:case zr.VALID:case zr.REVOKED:case zr.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(zr);const Gr=zr;var Vr=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=Vr),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hr,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),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())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new F("secretKey","undefined or null");if(!j.validateMaxLength(this.secretKey,24))return new F("secretKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.secretKey,24))return new F("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new F("accessKey","undefined or null");if(!j.validateMaxLength(this.accessKey,24))return new F("accessKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.accessKey,24))return new F("accessKey","does not satisfy required minLength constraint: 24")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Xr(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.secretKey=void 0,Hr.prototype.accessKey=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Yr=new WeakSet;class Zr extends Xe{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=Yr),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zr,Xe.constructFromObject(e,t,!0),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("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(Br.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Gr.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(_r.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Hr.constructFromObject(e.keyDetails,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}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xr(Yr,this,eo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xr(Yr,this,eo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Xr(Yr,this,eo).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xr(Yr,this,Qr).call(this,this.getKeyDetails(),!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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$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 k?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new F("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[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 F("lastUpdatedBy","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("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[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 F("createdBy","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("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new F(t,"no such property exists"):new F("keyDetails","undefined or null"):new F("lastUsedTime","undefined or null")}}function Qr(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 eo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function to(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.name=void 0,Zr.prototype.description=void 0,Zr.prototype.keyType=void 0,Zr.prototype.createdTime=void 0,Zr.prototype.lastUpdatedBy=void 0,Zr.prototype.creationType=void 0,Zr.prototype.expiryTime=void 0,Zr.prototype.status=void 0,Zr.prototype.createdBy=void 0,Zr.prototype.lastUpdatedTime=void 0,Zr.prototype.assignedTo=void 0,Zr.prototype.lastUsedTime=void 0,Zr.prototype.keyDetails=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var no=new WeakSet;class io extends r{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="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new io,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):to(no,this,so).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):to(no,this,so).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function so(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}io.prototype.metadata=void 0,io.prototype.data=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;class ro extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ro,hn.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 k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function oo(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 ao=new WeakSet;class lo extends r{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=ao),t.add(e),this.$objectType="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.PasswordResetResponse":t.setData(ro.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):oo(ao,this,uo).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):oo(ao,this,uo).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function uo(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}lo.prototype.metadata=void 0,lo.prototype.data=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;const ho={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ho).find(t=>ho[t]===e);return null==t?ho.$UNKNOWN:ho[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ho.$UNKNOWN:case ho.$REDACTED:case ho.ACTIVE:case ho.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(ho);const co=ho;var po=new WeakSet;class yo{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=po),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yo,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),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}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()}:{},$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 k?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("status","undefined or null")}}yo.prototype.status=void 0,yo.prototype.$reserved=void 0,yo.prototype.$objectType=void 0,yo.prototype.$unknownFields=void 0;class go extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new go,hn.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 k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function vo(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 mo=new WeakSet;class wo extends r{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="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.UserStateUpdateResponse":t.setData(go.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):vo(mo,this,$o).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):vo(mo,this,$o).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $o(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}wo.prototype.metadata=void 0,wo.prototype.data=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;const fo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fo).find(t=>fo[t]===e);return null==t?fo.$UNKNOWN:fo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fo.$UNKNOWN:case fo.$REDACTED:case fo.VALID:case fo.REVOKED:case fo.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(fo);const bo=fo;function To(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 ko=new WeakSet;class jo extends Xe{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=ko),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(bo.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:To(ko,this,Fo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:To(ko,this,Fo).call(this,this.getLastUpdatedTime(),!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.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...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 k?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new F("accessKeyName","undefined or null");if(!j.validateMaxLength(this.accessKeyName,255))return new F("accessKeyName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.accessKeyName,1))return new F("accessKeyName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[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 F("userId","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("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[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 F("lastUpdatedBy","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("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[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 F("createdBy","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"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null")}}function Fo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}jo.prototype.accessKeyName=void 0,jo.prototype.secretAccessKey=void 0,jo.prototype.userId=void 0,jo.prototype.createdTime=void 0,jo.prototype.lastUpdatedBy=void 0,jo.prototype.assignedTo=void 0,jo.prototype.creationType=void 0,jo.prototype.expiryTime=void 0,jo.prototype.status=void 0,jo.prototype.createdBy=void 0,jo.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oo).find(t=>Oo[t]===e);return null==t?Oo.$UNKNOWN:Oo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oo.$UNKNOWN:case Oo.$REDACTED:case Oo.LOCAL:case Oo.SAML:case Oo.LDAP:case Oo.EXTERNAL:case Oo.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT }")}}};Object.freeze(Oo);const Eo=Oo;function Co(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 Po=new WeakSet;class Uo extends Xe{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="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Uo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=jo.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!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())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:Co(Po,this,Ao).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Co(Po,this,Ao).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Co(Po,this,Ao).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...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.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[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 F("idpId","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("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new F("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new F("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new F("additionalAttributes","undefined or null");if(!j.validateMaxItems(this.additionalAttributes,10))return new F("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new F("bucketsAccessKeys","undefined or null");if(!j.validateMaxItems(this.bucketsAccessKeys,5))return new F("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new F("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[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 F("createdBy","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("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[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 F("lastUpdatedBy","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"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new F(t,"no such property exists"):new F("defaultLandingPagePath","undefined or null"):new F("creationType","undefined or null"):new F("description","undefined or null")}}function Ao(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}Uo.prototype.username=void 0,Uo.prototype.userType=void 0,Uo.prototype.idpId=void 0,Uo.prototype.displayName=void 0,Uo.prototype.firstName=void 0,Uo.prototype.middleInitial=void 0,Uo.prototype.lastName=void 0,Uo.prototype.emailId=void 0,Uo.prototype.locale=void 0,Uo.prototype.region=void 0,Uo.prototype.password=void 0,Uo.prototype.isForceResetPasswordEnabled=void 0,Uo.prototype.additionalAttributes=void 0,Uo.prototype.status=void 0,Uo.prototype.bucketsAccessKeys=void 0,Uo.prototype.lastLoginTime=void 0,Uo.prototype.createdTime=void 0,Uo.prototype.lastUpdatedTime=void 0,Uo.prototype.createdBy=void 0,Uo.prototype.lastUpdatedBy=void 0,Uo.prototype.description=void 0,Uo.prototype.creationType=void 0,Uo.prototype.defaultLandingPagePath=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Do=new WeakSet;class No extends r{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=Do),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new No,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.Key"!==d)throw"Unknown list of type "+d+" in data";s=Zr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):Io(Do,this,Ro).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):Io(Do,this,Ro).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ro(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 So(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")}No.prototype.metadata=void 0,No.prototype.data=void 0,No.prototype.$reserved=void 0,No.prototype.$objectType=void 0,No.prototype.$unknownFields=void 0;var Lo=new WeakSet;class Mo extends r{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="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.AppMessage":t.setData(Ae.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):So(Lo,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):So(Lo,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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}function Jo(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")}Mo.prototype.metadata=void 0,Mo.prototype.data=void 0,Mo.prototype.$reserved=void 0,Mo.prototype.$objectType=void 0,Mo.prototype.$unknownFields=void 0;var _o=new WeakSet;class Ko extends r{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=_o),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ko,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Jo(_o,this,Wo).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):Jo(_o,this,Wo).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Wo(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 qo(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")}Ko.prototype.metadata=void 0,Ko.prototype.data=void 0,Ko.prototype.$reserved=void 0,Ko.prototype.$objectType=void 0,Ko.prototype.$unknownFields=void 0;var Bo=new WeakSet;class zo extends r{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=Bo),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):qo(Bo,this,Go).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):qo(Bo,this,Go).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Go(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 Vo(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.metadata=void 0,zo.prototype.data=void 0,zo.prototype.$reserved=void 0,zo.prototype.$objectType=void 0,zo.prototype.$unknownFields=void 0;var Ho=new WeakSet;class Xo extends r{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=Ho),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Xo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.User"!==d)throw"Unknown list of type "+d+" in data";s=Uo.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.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):Vo(Ho,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):Vo(Ho,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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}function Zo(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")}Xo.prototype.metadata=void 0,Xo.prototype.data=void 0,Xo.prototype.$reserved=void 0,Xo.prototype.$objectType=void 0,Xo.prototype.$unknownFields=void 0;var Qo=new WeakSet;class ea extends r{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=Qo),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ea,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.error.ErrorResponse":t.setData(_e.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):Zo(Qo,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):Zo(Qo,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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("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 sa extends r{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="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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,ra).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,ra).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ra(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}sa.prototype.metadata=void 0,sa.prototype.data=void 0,sa.prototype.$reserved=void 0,sa.prototype.$objectType=void 0,sa.prototype.$unknownFields=void 0;var oa=new WeakSet;class aa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=oa),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new aa,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),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())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$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 k?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null"):new F("oldPassword","undefined or null")}}function da(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")}aa.prototype.username=void 0,aa.prototype.oldPassword=void 0,aa.prototype.newPassword=void 0,aa.prototype.$reserved=void 0,aa.prototype.$objectType=void 0,aa.prototype.$unknownFields=void 0;var la=new WeakSet;class ua extends r{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=la),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.User":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):da(la,this,ha).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):da(la,this,ha).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ha(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}ua.prototype.metadata=void 0,ua.prototype.data=void 0,ua.prototype.$reserved=void 0,ua.prototype.$objectType=void 0,ua.prototype.$unknownFields=void 0;var ca=new WeakSet;class pa{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=ca),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pa,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),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())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$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 k?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null")}}pa.prototype.newPassword=void 0,pa.prototype.$reserved=void 0,pa.prototype.$objectType=void 0,pa.prototype.$unknownFields=void 0;class ya extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ya,hn.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 k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}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")}var va=new WeakSet;class ma extends r{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=va),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ma,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.PasswordChangeResponse":t.setData(ya.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):ga(va,this,wa).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):ga(va,this,wa).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wa(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")}ma.prototype.metadata=void 0,ma.prototype.data=void 0,ma.prototype.$reserved=void 0,ma.prototype.$objectType=void 0,ma.prototype.$unknownFields=void 0;var fa=new WeakSet;class ba{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="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ba,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),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())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$a(fa,this,Ta).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$a(fa,this,Ta).call(this,this.getLastUpdatedTime(),!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.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new F("content","undefined or null");if(!j.validateMaxLength(this.content,1e4))return new F("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isEnabled","undefined or null")}}function Ta(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ka(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")}ba.prototype.content=void 0,ba.prototype.isEnabled=!0,ba.prototype.createdTime=void 0,ba.prototype.lastUpdatedTime=void 0,ba.prototype.$reserved=void 0,ba.prototype.$objectType=void 0,ba.prototype.$unknownFields=void 0;var ja=new WeakSet;class Fa extends r{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=ja),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):ka(ja,this,Oa).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):ka(ja,this,Oa).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Oa(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 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")}Fa.prototype.metadata=void 0,Fa.prototype.data=void 0,Fa.prototype.$reserved=void 0,Fa.prototype.$objectType=void 0,Fa.prototype.$unknownFields=void 0;var Ca=new WeakSet;class Pa extends r{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=Ca),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.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"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.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):Ea(Ca,this,Ua).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):Ea(Ca,this,Ua).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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ua(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}Pa.prototype.metadata=void 0,Pa.prototype.data=void 0,Pa.prototype.$reserved=void 0,Pa.prototype.$objectType=void 0,Pa.prototype.$unknownFields=void 0;const Aa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Aa).find(t=>Aa[t]===e);return null==t?Aa.$UNKNOWN:Aa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Aa.$UNKNOWN:case Aa.$REDACTED:case Aa.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(Aa);const Ia=Aa,Da={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Da).find(t=>Da[t]===e);return null==t?Da.$UNKNOWN:Da[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Da.$UNKNOWN:case Da.$REDACTED:case Da.CLIENT_SECRET_BASIC:case Da.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(Da);const Na=Da;var Ra=new WeakSet;class Sa{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=Ra),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sa,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),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())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new F("authCodeUri","undefined or null");if(!j.validateMaxLength(this.authCodeUri,2e3))return new F("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Sa.prototype.authCodeUri=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;const La={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(La).find(t=>La[t]===e);return null==t?La.$UNKNOWN:La[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case La.$UNKNOWN:case La.$REDACTED:case La.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze(La);const Ma=La;var xa=new WeakSet;class Ja{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=xa),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ja,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(Ma.constructFromObject(e.migrationType)),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())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$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 k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}Ja.prototype.migrationType=void 0,Ja.prototype.$reserved=void 0,Ja.prototype.$objectType=void 0,Ja.prototype.$unknownFields=void 0;var _a=new WeakSet;class Ka{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=_a),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ka,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),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())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$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 k?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new F("relayState","undefined or null");if(!j.validateMaxLength(this.relayState,255))return new F("relayState","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.relayState,1))return new F("relayState","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ka.prototype.relayState=void 0,Ka.prototype.$reserved=void 0,Ka.prototype.$objectType=void 0,Ka.prototype.$unknownFields=void 0;const Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wa).find(t=>Wa[t]===e);return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.UUID:case Wa.TENANT_UUID:case Wa.SUB:case Wa.EMAIL:case Wa.DISPLAY_NAME:case Wa.GROUPS:case Wa.ISS:case Wa.AUD:case Wa.EXP:case Wa.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(Wa);const qa=Wa;var Ba=new WeakSet;class za extends Xe{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=Ba),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new za,Xe.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}za.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ga=new WeakSet;class Va extends Xe{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=Ga),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Va,Xe.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}Va.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ha=new WeakSet;class Xa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ha),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xa,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=za.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Va.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}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())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().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 k?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[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 F("userId","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("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,20))return new F("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new F("ous","undefined or null");if(!j.validateMaxItems(this.ous,20))return new F("ous","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xa.prototype.userId=void 0,Xa.prototype.groups=void 0,Xa.prototype.ous=void 0,Xa.prototype.$reserved=void 0,Xa.prototype.$objectType=void 0,Xa.prototype.$unknownFields=void 0;const Ya={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ya).find(t=>Ya[t]===e);return null==t?Ya.$UNKNOWN:Ya[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ya.$UNKNOWN:case Ya.$REDACTED:case Ya.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Ya);const Za=Ya;var Qa=new WeakSet;class ed{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=Qa),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ed,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),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}getEmail(){return this.email}setEmail(e){this.email=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.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,16))return new F("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,16))return new F("email","does not satisfy required maxLength constraint: 16")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function td(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")}ed.prototype.name=void 0,ed.prototype.email=void 0,ed.prototype.$reserved=void 0,ed.prototype.$objectType=void 0,ed.prototype.$unknownFields=void 0;var nd=new WeakSet;class id extends Xe{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=nd),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(ed.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:td(nd,this,sd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:td(nd,this,sd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new F("wellKnownConfig","undefined or null");if(!j.validateMaxLength(this.wellKnownConfig,2e3))return new F("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.wellKnownConfig,3))return new F("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[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 F("idpId","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("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new F("cloudTenant","undefined or null");if(!j.validatePattern(this.cloudTenant,/^[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 F("cloudTenant","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("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new F("cloudApiKey","undefined or null");if(!j.validateMaxLength(this.cloudApiKey,128))return new F("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("claimMap","undefined or null")}}function sd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}id.prototype.wellKnownConfig=void 0,id.prototype.idpId=void 0,id.prototype.cloudTenant=void 0,id.prototype.cloudApiKey=void 0,id.prototype.claimMap=void 0,id.prototype.createdTime=void 0,id.prototype.lastUpdatedTime=void 0,id.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const rd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(rd).find(t=>rd[t]===e);return null==t?rd.$UNKNOWN:rd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case rd.$UNKNOWN:case rd.$REDACTED:case rd.AUTHORIZATION_CODE:case rd.REFRESH_TOKEN:case rd.CLIENT_CREDENTIALS:case rd.PASSWORD:case rd.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(rd);const od=rd;var ad=new WeakSet;class dd extends Xe{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=ad),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new dd,Xe.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}dd.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ld=new WeakSet;class ud{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=ld),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ud,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),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())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$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 k?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("maxKeyCount","undefined or null")}}ud.prototype.maxKeyCount=void 0,ud.prototype.$reserved=void 0,ud.prototype.$objectType=void 0,ud.prototype.$unknownFields=void 0;const hd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hd).find(t=>hd[t]===e);return null==t?hd.$UNKNOWN:hd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hd.$UNKNOWN:case hd.$REDACTED:case hd.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(hd);const cd=hd,pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pd).find(t=>pd[t]===e);return null==t?pd.$UNKNOWN:pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pd.$UNKNOWN:case pd.$REDACTED:case pd.ID_TOKEN:case pd.CODE:case pd.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(pd);const yd=pd,gd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(gd).find(t=>gd[t]===e);return null==t?gd.$UNKNOWN:gd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case gd.$UNKNOWN:case gd.$REDACTED:case gd.OPENID:case gd.PROFILE:case gd.EMAIL:case gd.OFFLINE_ACCESS:case gd.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(gd);const vd=gd;var md=new WeakSet;class wd extends Xe{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=md),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new wd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(yd.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=vd.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!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())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...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.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new F("clientId","undefined or null");if(!j.validatePattern(this.clientId,/^[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 F("clientId","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("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new F("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxItems(this.scope,10))return new F("scope","does not satisfy required maxItems constraint: 10");if(!j.validateMinItems(this.scope,1))return new F("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validateMaxLength(this.redirectUri,2e3))return new F("redirectUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new F("nonce","undefined or null");if(!j.validateMaxLength(this.nonce,2e3))return new F("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new F("state","undefined or null");if(!j.validateMaxLength(this.state,2e3))return new F("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new F("audience","undefined or null");if(!j.validateMaxLength(this.audience,2e3))return new F("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new F("approvalPrompt","undefined or null");if(!j.validateMaxLength(this.approvalPrompt,2e3))return new F("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new F("loginProviderId","undefined or null");if(!j.validatePattern(this.loginProviderId,/^[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 F("loginProviderId","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"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new F(t,"no such property exists"):new F("isServiceProviderEnabled","undefined or null"):new F("isUserLoggedIn","undefined or null")}}function $d(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")}wd.prototype.clientId=void 0,wd.prototype.responseType=void 0,wd.prototype.scope=void 0,wd.prototype.redirectUri=void 0,wd.prototype.nonce=void 0,wd.prototype.state=void 0,wd.prototype.audience=void 0,wd.prototype.approvalPrompt=void 0,wd.prototype.loginProviderId=void 0,wd.prototype.isUserLoggedIn=void 0,wd.prototype.isServiceProviderEnabled=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var fd=new WeakSet;class bd{constructor(e,t,n,i,s,r,o,a,d,l){var u,h;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(u=this,h=fd),h.add(u),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bd,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),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())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$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 k?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new F("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.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 F("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}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[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 F("idpId","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("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Td(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}bd.prototype.secretAccessKey=void 0,bd.prototype.emailId=void 0,bd.prototype.userId=void 0,bd.prototype.userType=void 0,bd.prototype.tenantId=void 0,bd.prototype.idpId=void 0,bd.prototype.username=void 0,bd.prototype.creationType=void 0,bd.prototype.customClaims=void 0,bd.prototype.assignedTo=void 0,bd.prototype.$reserved=void 0,bd.prototype.$objectType=void 0,bd.prototype.$unknownFields=void 0;var kd=new WeakSet;class jd{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=kd),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jd,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),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())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$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 k?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("accessKey","undefined or null")}}jd.prototype.accessKey=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;const Fd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fd).find(t=>Fd[t]===e);return null==t?Fd.$UNKNOWN:Fd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fd.$UNKNOWN:case Fd.$REDACTED:case Fd.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(Fd);const Od=Fd;var Ed=new WeakSet;class Cd{constructor(e,t,n,i,s,r,o){(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,Ed),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cd,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(Ia.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(Od.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(cd.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),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())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$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 k?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("e","undefined or null"):new F("n","undefined or null"):new F("x5c","undefined or null"):new F("kid","undefined or null"):new F("kty","undefined or null"):new F("use","undefined or null"):new F("alg","undefined or null")}}Cd.prototype.alg=void 0,Cd.prototype.use=void 0,Cd.prototype.kty=void 0,Cd.prototype.kid=void 0,Cd.prototype.x5c=void 0,Cd.prototype.n=void 0,Cd.prototype.e=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;const Pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Pd).find(t=>Pd[t]===e);return null==t?Pd.$UNKNOWN:Pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Pd.$UNKNOWN:case Pd.$REDACTED:case Pd.LOCAL:case Pd.LDAP:case Pd.SAML:case Pd.CERT:case Pd.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Pd);const Ud=Pd;var Ad=new WeakSet;class Id extends Xe{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=Ad),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Id,Xe.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function Dd(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")}Id.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Nd=new WeakSet;class Rd extends Xe{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=Nd),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Rd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(Ud.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=dd.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(Id.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!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())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...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.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new F("iss","undefined or null");if(!j.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new F("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new F("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new F("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new F("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,255))return new F("email","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new F("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[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 F("userId","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("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new F("connectorId","undefined or null");if(!j.validatePattern(this.connectorId,/^[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 F("connectorId","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("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,25))return new F("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new F("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new F("legacyRoles","undefined or null");if(!j.validateMaxItems(this.legacyRoles,5))return new F("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"locale"!==t||void 0!==this.locale&&null!==this.locale?"region"!==t||void 0!==this.region&&null!==this.region?"status"!==t||void 0!==this.status&&null!==this.status?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new F(t,"no such property exists"):new F("defaultLandingPagePath","undefined or null"):new F("status","undefined or null"):new F("region","undefined or null"):new F("locale","undefined or null")}}function Sd(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}Rd.prototype.iss=void 0,Rd.prototype.sub=void 0,Rd.prototype.subType=void 0,Rd.prototype.exp=void 0,Rd.prototype.iat=void 0,Rd.prototype.email=void 0,Rd.prototype.isEmailVerified=void 0,Rd.prototype.name=void 0,Rd.prototype.userId=void 0,Rd.prototype.connectorId=void 0,Rd.prototype.groups=void 0,Rd.prototype.tenant=void 0,Rd.prototype.customClaims=void 0,Rd.prototype.legacyRoles=void 0,Rd.prototype.firstName=void 0,Rd.prototype.middleInitial=void 0,Rd.prototype.lastName=void 0,Rd.prototype.locale=void 0,Rd.prototype.region=void 0,Rd.prototype.status=void 0,Rd.prototype.defaultLandingPagePath=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ld={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ld).find(t=>Ld[t]===e);return null==t?Ld.$UNKNOWN:Ld[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ld.$UNKNOWN:case Ld.$REDACTED:case Ld.OPENID:case Ld.PROFILE:case Ld.EMAIL:case Ld.GROUPS:case Ld.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze(Ld);const Md=Ld,xd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xd).find(t=>xd[t]===e);return null==t?xd.$UNKNOWN:xd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xd.$UNKNOWN:case xd.$REDACTED:case xd.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(xd);const Jd=xd,_d={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(_d).find(t=>_d[t]===e);return null==t?_d.$UNKNOWN:_d[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case _d.$UNKNOWN:case _d.$REDACTED:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(_d);const Kd=_d;function Wd(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 qd=new WeakSet;class Bd{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=qd),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Bd,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),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())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wd(qd,this,zd).call(this,this.getLastUpdatedTime(),!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.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().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 k?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new F("nameValuePair","undefined or null");if(!j.validateMaxItems(this.nameValuePair,10))return new F("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null")}}function zd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bd.prototype.nameValuePair=void 0,Bd.prototype.lastUpdatedTime=void 0,Bd.prototype.$reserved=void 0,Bd.prototype.$objectType=void 0,Bd.prototype.$unknownFields=void 0;var Gd=new WeakSet;class Vd{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=Gd),i.add(n),this.grantType=e,this.clientId=t,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vd,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(od.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(Kd.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),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())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$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 k?n=["grantType","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new F("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new F("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxLength(this.scope,100))return new F("scope","does not satisfy required maxLength constraint: 100");if(!j.validateMinLength(this.scope,1))return new F("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new F("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new F("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new F("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new F("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nonTenantIssuer","undefined or null"):new F("subjectTokenType","undefined or null"):new F("subjectToken","undefined or null"):new F("audience","undefined or null")}}Vd.prototype.grantType=void 0,Vd.prototype.code=void 0,Vd.prototype.connectorId=void 0,Vd.prototype.scope=void 0,Vd.prototype.refreshToken=void 0,Vd.prototype.clientId=void 0,Vd.prototype.clientAssertionType=void 0,Vd.prototype.clientAssertion=void 0,Vd.prototype.redirectUri=void 0,Vd.prototype.audience=void 0,Vd.prototype.subjectToken=void 0,Vd.prototype.subjectTokenType=void 0,Vd.prototype.nonTenantIssuer=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;var Hd=new WeakSet;class Xd{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=Hd),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xd,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new F("password","undefined or null");if(!j.validateMaxLength(this.password,255))return new F("password","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.password,1))return new F("password","does not satisfy required minLength 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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yd(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")}Xd.prototype.username=void 0,Xd.prototype.password=void 0,Xd.prototype.$reserved=void 0,Xd.prototype.$objectType=void 0,Xd.prototype.$unknownFields=void 0;var Zd=new WeakSet;class Qd extends Dn{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=Zd),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qd,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Yd(Zd,this,el).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Yd(Zd,this,el).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...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.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("opaquedata","undefined or null")}}function el(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qd.prototype.opaquedata=void 0,Qd.prototype.isInternal=!1,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const tl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(tl).find(t=>tl[t]===e);return null==t?tl.$UNKNOWN:tl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case tl.$UNKNOWN:case tl.$REDACTED:case tl.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(tl);const nl=tl;var il=new WeakSet;class sl{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=il),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new sl,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(nl.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),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())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("identityType","undefined or null")}}sl.prototype.identityType=void 0,sl.prototype.attributes=void 0,sl.prototype.$reserved=void 0,sl.prototype.$objectType=void 0,sl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol{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=rl),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ol,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),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())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$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 k?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("operation","undefined or null"):new F("type","undefined or null")}}ol.prototype.type=void 0,ol.prototype.operation=void 0,ol.prototype.attributes=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;const al={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(al).find(t=>al[t]===e);return null==t?al.$UNKNOWN:al[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case al.$UNKNOWN:case al.$REDACTED:case al.BOOLEANRESPONSE:case al.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(al);const dl=al;var ll=new WeakSet;class ul{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=ll),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ul,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(ol.constructFromObject(e.entity)),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())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().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 k?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entity","undefined or null"):new F("responseType","undefined or null"):new F("requestID","undefined or null")}}ul.prototype.requestID=void 0,ul.prototype.responseType=void 0,ul.prototype.entity=void 0,ul.prototype.$reserved=void 0,ul.prototype.$objectType=void 0,ul.prototype.$unknownFields=void 0;var hl=new WeakSet;class cl{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=hl),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cl,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(sl.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=ul.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}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())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().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 k?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new F("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new F("requestList","undefined or null");if(!j.validateMaxItems(this.requestList,25))return new F("requestList","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.requestList,1))return new F("requestList","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cl.prototype.identity=void 0,cl.prototype.requestList=void 0,cl.prototype.$reserved=void 0,cl.prototype.$objectType=void 0,cl.prototype.$unknownFields=void 0;var pl=new WeakSet;class yl{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=pl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yl,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),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())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("filters","undefined or null"):new F("authorized","undefined or null"):new F("responseType","undefined or null"):new F("requestId","undefined or null")}}yl.prototype.requestId=void 0,yl.prototype.responseType=void 0,yl.prototype.authorized=void 0,yl.prototype.filters=void 0,yl.prototype.$reserved=void 0,yl.prototype.$objectType=void 0,yl.prototype.$unknownFields=void 0;var gl=new WeakSet;class vl{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=gl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new vl,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=yl.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}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())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new F("response","undefined or null");if(!j.validateMaxItems(this.response,25))return new F("response","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.response,1))return new F("response","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}vl.prototype.response=void 0,vl.prototype.$reserved=void 0,vl.prototype.$objectType=void 0,vl.prototype.$unknownFields=void 0;const ml={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ml).find(t=>ml[t]===e);return null==t?ml.$UNKNOWN:ml[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ml.$UNKNOWN:case ml.$REDACTED:case ml.REMOVE_AP_TENANT_ID_FILTERS:case ml.NC_USER_AP_TO_USER_DEFINED:case ml.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case ml.REMOVE_CLIENT_FOUNDATION_CENTRAL:case ml.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case ml.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION }")}}};Object.freeze(ml);const wl=ml;var $l=new WeakSet;class fl{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=$l),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fl,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(wl.constructFromObject(e.migrationType)),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())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$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 k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}fl.prototype.migrationType=void 0,fl.prototype.$reserved=void 0,fl.prototype.$objectType=void 0,fl.prototype.$unknownFields=void 0;class bl extends qn{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bl,qn.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tl=new WeakSet;class kl extends Cn{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=Tl),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kl,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(bl.constructFromObject(e.baseRoleProjection)),!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())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...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.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new F(t,"no such property exists"):new F("baseRoleProjection","undefined or null")}}function jl(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")}kl.prototype.baseRoleProjection=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fl=new WeakSet;class Ol extends vi{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=Fl),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ol,vi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!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())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:jl(Fl,this,El).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:jl(Fl,this,El).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...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.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$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 k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new F(t,"no such property exists"):new F("legacyClientName","undefined or null")}}function El(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ol.prototype.legacyClientName=void 0,vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Cl=new WeakSet;class Pl{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=Cl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Pl,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(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())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new F("addedObjects","undefined or null");if(!j.validateMaxItems(this.addedObjects,20))return new F("addedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedObjects,1))return new F("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new F("removedObjects","undefined or null");if(!j.validateMaxItems(this.removedObjects,20))return new F("removedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedObjects,1))return new F("removedObjects","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Pl.prototype.addedObjects=void 0,Pl.prototype.removedObjects=void 0,Pl.prototype.$reserved=void 0,Pl.prototype.$objectType=void 0,Pl.prototype.$unknownFields=void 0;var Ul=new WeakSet;class Al{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=Ul),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Al,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(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())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new F("addedOperations","undefined or null");if(!j.validateMaxItems(this.addedOperations,20))return new F("addedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedOperations,1))return new F("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new F("removedOperations","undefined or null");if(!j.validateMaxItems(this.removedOperations,20))return new F("removedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedOperations,1))return new F("removedOperations","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Al.prototype.addedOperations=void 0,Al.prototype.removedOperations=void 0,Al.prototype.$reserved=void 0,Al.prototype.$objectType=void 0,Al.prototype.$unknownFields=void 0;var Il=new WeakSet;class Dl{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=Il),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Dl,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),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())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$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 k?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new F("newDisplayName","undefined or null");if(!j.validateMaxLength(this.newDisplayName,255))return new F("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new F("previousDisplayName","undefined or null");if(!j.validateMaxLength(this.previousDisplayName,255))return new F("previousDisplayName","does not satisfy required maxLength constraint: 255")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Dl.prototype.newDisplayName=void 0,Dl.prototype.previousDisplayName=void 0,Dl.prototype.$reserved=void 0,Dl.prototype.$objectType=void 0,Dl.prototype.$unknownFields=void 0;var Nl=new WeakSet;class Rl{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=Nl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Rl,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(Dl.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(Pl.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset(Al.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset(Al.constructFromObject(e.legacyParentOperationListChangeset)),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())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("legacyParentOperationListChangeset","undefined or null"):new F("legacyOperationListChangeset","undefined or null"):new F("legacyObjectListChangeset","undefined or null"):new F("displayNameChangeset","undefined or null")}}Rl.prototype.displayNameChangeset=void 0,Rl.prototype.legacyObjectListChangeset=void 0,Rl.prototype.legacyOperationListChangeset=void 0,Rl.prototype.legacyParentOperationListChangeset=void 0,Rl.prototype.$reserved=void 0,Rl.prototype.$objectType=void 0,Rl.prototype.$unknownFields=void 0;const Sl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Sl).find(t=>Sl[t]===e);return null==t?Sl.$UNKNOWN:Sl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Sl.$UNKNOWN:case Sl.$REDACTED:case Sl.OPERATION:case Sl.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(Sl);const Ll=Sl;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")}var xl=new WeakSet;class Jl extends Xe{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=xl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Jl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(Ll.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Rl.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ml(xl,this,_l).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ml(xl,this,_l).call(this,this.getLastUpdatedTime(),!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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("changeset","undefined or null"):new F("configType","undefined or null")}}function _l(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Jl.prototype.displayName=void 0,Jl.prototype.clientName=void 0,Jl.prototype.configType=void 0,Jl.prototype.changeset=void 0,Jl.prototype.createdTime=void 0,Jl.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Kl extends Jl{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kl,Jl.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Wl(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 ql=new WeakSet;class Bl extends Ci{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=ql),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Bl,Ci.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Wl(ql,this,zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wl(ql,this,zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...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.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyObjectList","undefined or null")}}function zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bl.prototype.legacyObjectList=void 0,Bl.prototype.isInternal=void 0,Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Gl=new WeakSet;class Vl{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=Gl),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vl,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),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())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$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 k?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("shouldIncludeRelatedOperations","undefined or null")}}function Hl(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")}Vl.prototype.shouldIncludeRelatedOperations=void 0,Vl.prototype.$reserved=void 0,Vl.prototype.$objectType=void 0,Vl.prototype.$unknownFields=void 0;var Xl=new WeakSet;class Yl 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=Xl),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Yl,os.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(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())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Hl(Xl,this,Zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Hl(Xl,this,Zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new F(t,"no such property exists"):new F("legacyParentOperationList","undefined or null"):new F("legacyOperationList","undefined or null"):new F("isInternal","undefined or null")}}function Zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ql(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.isInternal=void 0,Yl.prototype.legacyOperationList=void 0,Yl.prototype.legacyParentOperationList=void 0,os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var eu=new WeakSet;class tu extends Hn{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=eu),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tu,Hn.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ql(eu,this,nu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ql(eu,this,nu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...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.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyRole","undefined or null")}}function nu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}tu.prototype.legacyRole=void 0,tu.prototype.isInternal=void 0,Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var iu=new WeakSet;class su{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=iu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new su,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Qd.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}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())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new F("authorizationPolicies","undefined or null");if(!j.validateMaxItems(this.authorizationPolicies,50))return new F("authorizationPolicies","does not satisfy required maxItems constraint: 50")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}su.prototype.authorizationPolicies=void 0,su.prototype.$reserved=void 0,su.prototype.$objectType=void 0,su.prototype.$unknownFields=void 0;var ru=new WeakSet;class ou{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=ru),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ou,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Bl.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}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())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,200))return new F("entities","does not satisfy required maxItems constraint: 200")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ou.prototype.entities=void 0,ou.prototype.$reserved=void 0,ou.prototype.$objectType=void 0,ou.prototype.$unknownFields=void 0;var au=new WeakSet;class du{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=au),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new du,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Yl.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}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())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,500))return new F("operations","does not satisfy required maxItems constraint: 500")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}du.prototype.operations=void 0,du.prototype.$reserved=void 0,du.prototype.$objectType=void 0,du.prototype.$unknownFields=void 0;const lu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(lu).find(t=>lu[t]===e);return null==t?lu.$UNKNOWN:lu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case lu.$UNKNOWN:case lu.$REDACTED:case lu.CREATE:case lu.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(lu);const uu=lu;var hu=new WeakSet;class cu{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=hu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cu,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=tu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}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())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new F("roles","undefined or null");if(!j.validateMaxItems(this.roles,50))return new F("roles","does not satisfy required maxItems constraint: 50")}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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cu.prototype.roles=void 0,cu.prototype.$reserved=void 0,cu.prototype.$objectType=void 0,cu.prototype.$unknownFields=void 0;const pu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pu).find(t=>pu[t]===e);return null==t?pu.$UNKNOWN:pu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pu.$UNKNOWN:case pu.$REDACTED:case pu.CLIENT:case pu.ENTITY:case pu.OPERATION:case pu.ROLE:case pu.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(pu);const yu=pu;function gu(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 vu=new WeakSet;class mu{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=vu),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mu,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(yu.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(uu.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(Ol.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(ou.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(du.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(cu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(su.constructFromObject(e.configList,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())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):gu(vu,this,wu).call(this,this.getConfigList(),!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.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):gu(vu,this,wu).call(this,this.getConfigList())}:{},$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 k?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new F("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.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 F("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}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("configList","undefined or null"):new F("operationType","undefined or null")}}function wu(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}mu.prototype.configType=void 0,mu.prototype.tenantId=void 0,mu.prototype.clientName=void 0,mu.prototype.operationType=void 0,mu.prototype.configList=void 0,mu.prototype.$reserved=void 0,mu.prototype.$objectType=void 0,mu.prototype.$unknownFields=void 0;var $u=new WeakSet;class fu extends Xe{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=$u),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!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())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...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.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}fu.prototype.tenantName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class bu extends Cn{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bu,Cn.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tu=new WeakSet;class ku extends qn{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=Tu),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ku,qn.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(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())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...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.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}ku.prototype.operations=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class ju extends ku{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ju,ku.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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Fu=new WeakSet;class Ou{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=Fu),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ou,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),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}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}function Eu(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")}Ou.prototype.message=void 0,Ou.prototype.$reserved=void 0,Ou.prototype.$objectType=void 0,Ou.prototype.$unknownFields=void 0;var Cu=new WeakSet;class Pu{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=Cu),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Pu,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ou.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}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())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=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!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Eu(Cu,this,Uu).call(this,this.getTimestamp(),!1)}:{},...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:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new F("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new F("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new F("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new F("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new F("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new F("validationErrorMessages","undefined or null");if(!j.validateMaxItems(this.validationErrorMessages,20))return new F("validationErrorMessages","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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Uu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Pu.prototype.code=void 0,Pu.prototype.error=void 0,Pu.prototype.errorGroup=void 0,Pu.prototype.path=void 0,Pu.prototype.statusCode=void 0,Pu.prototype.timestamp=void 0,Pu.prototype.validationErrorMessages=void 0,Pu.prototype.$reserved=void 0,Pu.prototype.$objectType=void 0,Pu.prototype.$unknownFields=void 0;var Au=new WeakSet;class Iu{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=Au),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Iu,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(Pu.constructFromObject(e.error)),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{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}Iu.prototype.error=void 0,Iu.prototype.$reserved=void 0,Iu.prototype.$objectType=void 0,Iu.prototype.$unknownFields=void 0;var Du=new WeakSet;class Nu extends Xe{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=Du),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(Iu.constructFromObject(e.data)),!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())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().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.getData()&&null!==this.getData()?{data:this.getData().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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new F(t,"no such property exists"):new F("data","undefined or null")}}Nu.prototype.data=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ru={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ru).find(t=>Ru[t]===e);return null==t?Ru.$UNKNOWN:Ru[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ru.$UNKNOWN:case Ru.$REDACTED:case Ru.ASC:case Ru.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Ru);const Su=Ru;var Lu=new WeakSet;class Mu extends Xe{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=Lu),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!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())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...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.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$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 k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new F(t,"no such property exists"):new F("tenantDescription","undefined or null")}}Mu.prototype.tenantName=void 0,Mu.prototype.tenantDescription=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const xu={ApiClient:de,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},u={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId},h=mt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","POST",{},{},l,u,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],h)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Be;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=pt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=rt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let u={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(u[e]=d[e])});const h={...u},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId},p=lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","PUT",l,{},h,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Tn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=gn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(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 createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=$n;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Wt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Jt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Qt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ci;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=_n;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ln;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(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("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=di;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=fi;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ii;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zi;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ys;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Hn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ts;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ws;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Os;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Hn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ns;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof zs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=sr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=er;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=vr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Ms;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=cr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof zs&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Xs;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tr&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Nr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Or;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Mr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ur;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof aa&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ma;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Uo&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Zr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ko;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=ea;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=io;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=No;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Xo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof pa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=lo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Mo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Uo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=zo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof yo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=wo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Fa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ba&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Pa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:E,KVPair:N,MapOfStringWrapper:U,Message:x,MessageSeverity:L,TenantAwareModel:Ve,ApiLink:_,ApiResponseMetadata:q,ExternalizableAbstractModel:Xe,ActivateUserApiResponse:wo,AlgoType:Ia,ApiKeyDetails:_r,AuthMethodType:Na,AuthenticationResponse:Sa,AuthnMigrationRequest:Ja,AuthnMigrationType:Ma,BucketsAccessKey:jo,BucketsAccessKeyStatusType:bo,CertAuthProvider:tt,CertRevocationInfo:Ze,CertificateLoginRequest:Ka,ChangeUserPasswordApiResponse:ma,ClaimsType:qa,ConnectionDirectoryServiceApiResponse:gn,CreateCertAuthProviderApiResponse:mt,CreateDirectoryServiceApiResponse:$n,CreateKeyApiResponse:Ko,CreateSamlIdentityProviderApiResponse:sr,CreateUserApiResponse:ua,CreateUserGroupApiResponse:Nr,CreationType:Wr,DeleteCertAuthProviderApiResponse:Be,DeleteDirectoryServiceApiResponse:Wt,DeleteSamlIdentityProviderApiResponse:dr,DeleteUserGroupApiResponse:Or,DeleteUserKeyApiResponse:ea,DirectoryService:Dt,DirectoryServiceConnectionRequest:Tn,DirectoryServiceConnectionResponse:cn,DirectoryServiceInfo:Xa,DirectoryServiceInfoGroup:za,DirectoryServiceInfoOu:Va,DirectoryServiceSearchAttribute:zt,DirectoryServiceSearchEntity:Vt,DirectoryServiceSearchQuery:Jt,DirectoryServiceSearchResult:Xt,DirectoryType:ft,DiscoverySubjectType:Za,DsServiceAccount:Tt,Federation:id,FederationClaims:ed,GetCertAuthProviderApiResponse:pt,GetDirectoryServiceApiResponse:sn,GetSamlIdentityProviderApiResponse:er,GetSamlIdpSpMetadataApiResponse:vr,GetSamlSpMetadataApiResponse:Ms,GetUserApiResponse:sa,GetUserGroupApiResponse:Mr,GetUserKeyApiResponse:io,GetWelcomeBannerApiResponse:Fa,GrantType:od,Group:dd,GroupSearchType:jt,GroupType:$r,IdpMetadata:Ws,IdpType:xi,Key:Zr,KeyKind:Br,KeyMigrationSpec:ud,KeyStatus:Gr,KeyType:cd,ListCertAuthProvidersApiResponse:rt,ListDirectoryServicesApiResponse:dn,ListLoginProvidersApiResponse:zi,ListSamlIdentityProvidersApiResponse:cr,ListUserGroupsApiResponse:Ur,ListUserKeysApiResponse:No,ListUsersApiResponse:Xo,LoginProvider:Ki,LoginRequest:wd,NameIdPolicyFormat:_s,ObjectKeyDetails:Hr,ObjectsAuthDetails:bd,ObjectsAuthSpec:jd,OidcKey:Cd,OidcSubjectType:Ud,OidcUserinfo:Rd,OpenLdapConfig:Ut,PasswordChangeRequest:aa,PasswordChangeResponse:ya,PasswordResetRequest:pa,PasswordResetResponse:ro,ResetUserPasswordApiResponse:lo,AuthnResponseType:yd,RevokeUserKeyApiResponse:Mo,SamlIdentityProvider:zs,Scope:vd,ScopesType:Md,SearchDirectoryServiceApiResponse:Qt,SigningAlgoType:Jd,SubjectType:Kd,SystemConfig:Bd,AuthnTenant:Id,TokenRequest:Vd,UpdateCertAuthProviderApiResponse:lt,UpdateDirectoryServiceApiResponse:Lt,UpdateSamlIdentityProviderApiResponse:Xs,UpdateUserApiResponse:zo,UpdateWelcomeBannerApiResponse:Pa,UseType:Od,User:Uo,UserConfiguration:Ot,UserGroup:Tr,UserGroupConfiguration:Ct,UserStateUpdate:yo,UserStateUpdateResponse:go,UserStatusType:co,UserType:Eo,ValidateCredentialsRequest:Xd,WelcomeBanner:ba,ApiVersion:Hi,AssociatedEndpoint:Qi,AttributeEntity:Fi,AuthorizationPolicy:Dn,AuthorizationPolicyConfig:Qd,AuthorizationPolicyProjection:ei,AuthorizationPolicyType:jn,AuthorizationRequest:cl,AuthorizationResponse:vl,AuthorizationResponseObject:yl,AuthorizeEntity:ol,AuthzMigrationRequest:fl,AuthzMigrationType:wl,BaseAuthorizationPolicy:Cn,BaseAuthorizationPolicyProjection:kl,BaseRole:qn,BaseRoleProjection:bl,Client:vi,ClientConfig:Ol,ConfigChangeset:Jl,ConfigChangesetData:Rl,ConfigChangesetDataObjects:Pl,ConfigChangesetDataOperations:Al,ConfigChangesetDisplayName:Dl,ConfigChangesetProjection:Kl,ConfigType:Ll,CreateAuthorizationPolicyApiResponse:ci,CreateRoleApiResponse:Ts,DeleteAuthorizationPolicyApiResponse:_n,DeleteRoleApiResponse:ws,Entity:Ci,EntityConfig:Bl,EntityFilter:On,EntityOperators:ki,GetAuthorizationPolicyApiResponse:Ln,GetClientApiResponse:fi,GetEntityApiResponse:Si,GetOperationApiResponse:ys,GetRoleApiResponse:Os,HttpMethod:Yi,IdentityFilter:Un,IdentityObject:sl,IdentityType:nl,ListAuthorizationPoliciesApiResponse:si,ListEntitiesApiResponse:Ii,ListOperationsApiResponse:us,ListRolesApiResponse:Us,MigrateRoleSpec:Vl,MigrationActionNotes:ts,Operation:os,OperationConfig:Yl,OperationSchemaChangeImpact:zn,OperationType:is,RequestObject:ul,AuthzResponseType:dl,Role:Hn,RoleConfig:tu,RoleProjection:Yn,SeedConfigAuthorizationPolicyList:su,SeedConfigEntityList:ou,SeedConfigOperationList:du,SeedConfigOperationType:uu,SeedConfigRequest:mu,SeedConfigRoleList:cu,SeedConfigType:yu,AuthzTenant:fu,UpdateAuthorizationPolicyApiResponse:di,UpdateRoleApiResponse:Ns,UserAuthorizationPolicy:bu,UserRole:ku,UserRoleProjection:ju,ActionBaseResponse:hn,CommonSchemaValidationError:Iu,CommonSchemaValidationErrorMessage:Pu,SchemaValidationErrorResponse:Nu,SortOrderType:Su,ValidationErrorMessage:Ou,AppMessage:Ae,ErrorResponse:_e,ErrorSchemaValidationError:Le,ErrorSchemaValidationErrorMessage:Ne,TenantTenant:Mu}})(),i.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.Iam=t())}(Object("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,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,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 s=(n=n.slice(0)).length;i<s;++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}},340(e){e.exports=o,o.default=o,o.stable=h,o.stableStringify=h;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,h){var u;if(l+=1,"object"==typeof e&&null!==e){for(u=0;u<r.length;u++)if(r[u]===e)return void a(n,e,i,o);if(void 0!==h.depthLimit&&l>h.depthLimit)return void a(t,e,i,o);if(void 0!==h.edgesLimit&&s+1>h.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(u=0;u<e.length;u++)d(e[u],u,u,r,e,l,h);else{var c=Object.keys(e);for(u=0;u<c.length;u++){var p=c[u];d(e[p],p,u,r,e,l,h)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function h(e,t,n,o){void 0===o&&(o=r());var a,d=u(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function u(e,s,r,o,d,h,c){var p;if(h+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&h>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)u(e[p],p,p,o,e,h,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];u(e[v],v,p,o,e,h,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},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 s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+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}},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},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 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 s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.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},r.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 o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.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&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.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()},r.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)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(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},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.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(s(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},r.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},r.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},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(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&&s(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},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.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("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.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)}},r.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 i=n(897);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.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.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(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),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}},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){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!w(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};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),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if($(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return h(n)}var w,j="",k=!1,F=["{","}"];return c(n)&&(k=!0,F=["[","]"]),T(n)&&(j=" [Function"+(n.name?": "+n.name:"")+"]"),$(n)&&(j=" "+RegExp.prototype.toString.call(n)),f(n)&&(j=" "+Date.prototype.toUTCString.call(n)),b(n)&&(j=" "+h(n)),0!==o.length||k&&0!=n.length?i<0?$(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=k?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(u(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(u(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return u(e,n,i,a,t,k)}),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,j,F)):F[0]+j+F[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?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")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function $(e){return w(e)&&"[object RegExp]"===j(e)}function w(e){return"object"==typeof e&&null!==e}function f(e){return w(e)&&"[object Date]"===j(e)}function b(e){return w(e)&&("[object Error]"===j(e)||e instanceof Error)}function T(e){return"function"==typeof e}function j(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.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]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=$,t.isObject=w,t.isDate=f,t.isError=b,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 F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[k((e=new Date).getHours()),k(e.getMinutes()),k(e.getSeconds())].join(":"),[e.getDate(),F[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}},548(){},799(){},545(){},965(){}};const t={};function n(i){const s=t[i];if(void 0!==s)return s.exports;const r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.cw=e=>{var t;return()=>{if(e){var n=e;e=0,t={exports:{}},n.call(t.exports,t,t.exports)}return t.exports}},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);let i={};return(()=>{"use strict";n.d(i,{default:()=>Nc});var e,t=n.cw(function(e,t){var n="win32"===process.platform,i=d();function s(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}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 o=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,a=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function h(e){var t=o.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=a.exec(i);return[n,s[1],s[2],s[3]]}function u(e){var t=o.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function c(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 a=u(o),d=a.device,l=a.isUnc,h=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=h),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=s(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=u(e),n=t.device,i=t.isUnc,r=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=s(o.split(/[\\\/]+/),!r).join("\\"))||r||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(r?"\\":"")+o},l.isAbsolute=function(e){return u(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 s=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(s=s.replace(/^[\\\/]{2,}/,"\\")),l.normalize(s)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=r(t.split("\\")),o=r(n.split("\\")),a=r(i.split("\\")),d=Math.min(o.length,a.length),h=d,u=0;u<d;u++)if(o[u]!==a[u]){h=u;break}if(0==h)return t;var c=[];for(u=h;u<o.length;u++)c.push("..");return(c=c.concat(s.slice(h))).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=h(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.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},l.extname=function(e){return h(e)[3]},l.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,s=e.base||"";return n?n[n.length-1]===l.sep?n+s:n+l.sep+s:s},l.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=h(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 p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.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=s(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=s(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.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 y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),s=Math.min(n.length,i.length),o=s,a=0;a<s;a++)if(n[a]!==i[a]){o=a;break}var d=[];for(a=o;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(o))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(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)}},y.sep="/",y.delimiter=":",e.exports=n?l:y,e.exports.posix=y,e.exports.win32=l}),s=n.cw(function(e,t){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 s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var d=n(960),l=n(340),h=o(),u=r(),c=a(),p=n(619);function y(){}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 g=t=e.exports;t.Request=T,g.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.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 v="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function m(e){if(!u(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&$(t,n,e[n]);return t.join("&")}function $(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){$(e,t,n)});else if(u(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&$(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function w(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).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 b(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,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=v(n.slice(t+1)),o[i]=s);return o}(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 T(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 b(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 j(e,t,n){var i=g("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}g.serializeObject=m,g.parseString=w,g.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"},g.serialize={"application/x-www-form-urlencoded":m,"application/json":l},g.parse={"application/x-www-form-urlencoded":w,"application/json":JSON.parse},c(b.prototype),b.prototype._parseBody=function(e){var t=g.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&f(this.type)&&(t=g.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},b.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},g.Response=b,d(T.prototype),h(T.prototype),T.prototype.type=function(e){return this.set("Content-Type",g.types[e]||e),this},T.prototype.accept=function(e){return this.set("Accept",g.types[e]||e),this},T.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")})},T.prototype.query=function(e){return"string"!=typeof e&&(e=m(e)),e&&this._query.push(e),this},T.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},T.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},T.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)},T.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)},T.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},T.prototype.ca=T.prototype.agent,T.prototype.buffer=T.prototype.ca,T.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},T.prototype.pipe=T.prototype.write,T.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},T.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||y,this._finalizeQueryString(),this._end()},T.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},T.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=g.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 s=this._header["content-type"],r=this._serializer||g.serialize[s?s.split(";")[0]:""];!r&&f(s)&&(r=g.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},g.agent=function(){return new p},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){p.prototype[e.toLowerCase()]=function(t,n){var i=new g.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),p.prototype.del=p.prototype.delete,g.get=function(e,t,n){var i=g("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},g.head=function(e,t,n){var i=g("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},g.options=function(e,t,n){var i=g("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},g.del=j,g.delete=j,g.patch=function(e,t,n){var i=g("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},g.post=function(e,t,n){var i=g("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},g.put=function(e,t,n){var i=g("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}}),r=()=>n(388),o=()=>n(695),a=()=>n(19),d=()=>n(818),l=()=>n(799);function h(){return h.c||(h.c=n.n(s()))}s();class u{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new u,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=pe.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}u.prototype.linkFirst=null,u.prototype.linkPrev=null,u.prototype.linkNext=null,u.prototype.linkLast=null,u.prototype.apiClient=null,u.prototype.page=null,u.prototype.resultsPerPage=null,u.prototype.resultsTotal=null;var c=new Uint8Array(16);function p(){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(c)}const y=/^(?:[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 g=[],v=0;v<256;++v)g.push((v+256).toString(16).substr(1));const m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(g[e[t+0]]+g[e[t+1]]+g[e[t+2]]+g[e[t+3]]+"-"+g[e[t+4]]+g[e[t+5]]+"-"+g[e[t+6]]+g[e[t+7]]+"-"+g[e[t+8]]+g[e[t+9]]+"-"+g[e[t+10]]+g[e[t+11]]+g[e[t+12]]+g[e[t+13]]+g[e[t+14]]+g[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&y.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},$=function(e,t,n){var i=(e=e||{}).random||(e.rng||p)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return m(i)};var w=n(540),f=n.n(w),b=n(545),T=n.n(b);function j(){return j.c||(j.c=n.n(l()))}function k(){return k.c||(k.c=n.n(t()))}t();var F=n(548);const O={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return O[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===O.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(O);const E=O;class I{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 P{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 A=new WeakSet;class C{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="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new C,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,128))return new P("name","does not satisfy required maxLength constraint: 128");if(!I.validateMinLength(this.name,3))return new P("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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("value","undefined or null")}}function D(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")}C.prototype.name=void 0,C.prototype.value=!1,C.prototype.$reserved=void 0,C.prototype.$objectType=void 0,C.prototype.$unknownFields=void 0;var U=new WeakSet;class N{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=U),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 N,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:D(U,this,S).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:D(U,this,S).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("map","undefined or null")}}function S(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 R(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.map=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;var x=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=x),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,s,r,o,a;if(e){if(t=t||new L,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(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":default:o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=N.constructFromObject(i[r],void 0),o.push(s)}t.setValue(o)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":default:t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)))}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):R(x,this,M).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):R(x,this,M).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,128))return new P("name","does not satisfy required maxLength constraint: 128");if(!I.validateMinLength(this.name,3))return new P("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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("value","undefined or null")}}function M(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}L.prototype.name=void 0,L.prototype.value=void 0,L.prototype.$reserved=void 0,L.prototype.$objectType=void 0,L.prototype.$unknownFields=void 0;const J={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(J).find(t=>J[t]===e);return null==t?J.$UNKNOWN:J[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case J.$UNKNOWN:case J.$REDACTED:case J.INFO:case J.WARNING:case J.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(J);const _=J;var W=new WeakSet;class K{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=W),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 K,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(_.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("severity","undefined or null"):new P("locale","undefined or null"):new P("message","undefined or null"):new P("code","undefined or null")}}K.prototype.code=void 0,K.prototype.message=void 0,K.prototype.locale="en_US",K.prototype.severity=void 0,K.prototype.$reserved=void 0,K.prototype.$objectType=void 0,K.prototype.$unknownFields=void 0;var q=new WeakSet;class B{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=q),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 B,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("rel","undefined or null"):new P("href","undefined or null")}}B.prototype.href=void 0,B.prototype.rel=void 0,B.prototype.$reserved=void 0,B.prototype.$objectType=void 0,B.prototype.$unknownFields=void 0;var z,G=new WeakSet;class V{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=G),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,s,r,o;if(e){if(t=t||new V,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=C.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=B.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}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(o=[],i=e.messages,r=0;r<i.length;r++)s=K.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=L.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new P("flags","undefined or null");if(!I.validateMaxItems(this.flags,20))return new P("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new P("links","undefined or null");if(!I.validateMaxItems(this.links,20))return new P("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new P("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new P("messages","undefined or null");if(!I.validateMaxItems(this.messages,20))return new P("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new P("extraInfo","undefined or null");if(!I.validateMaxItems(this.extraInfo,20))return new P("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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function H(e,t,n){Y(e,t),t.set(e,n)}function Y(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function X(e,t){return e.get(Q(e,t))}function Z(e,t,n){return e.set(Q(e,t),n),n}function Q(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.flags=void 0,V.prototype.links=void 0,V.prototype.totalAvailableResults=void 0,V.prototype.messages=void 0,V.prototype.extraInfo=void 0,V.prototype.$reserved=void 0,V.prototype.$objectType=void 0,V.prototype.$unknownFields=void 0,f()(h()());var ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakMap,de=new WeakMap,le=new WeakMap,he=new WeakMap,ue=new WeakMap,ce=new WeakSet;class pe{constructor(){var e;Y(this,e=ce),e.add(this),H(this,ee,void 0),H(this,te,void 0),H(this,ne,void 0),H(this,ie,void 0),H(this,se,void 0),H(this,re,void 0),H(this,oe,void 0),H(this,ae,void 0),H(this,de,void 0),H(this,le,void 0),H(this,he,void 0),H(this,ue,void 0),Z(ue,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",Z(de,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={},Z(re,this,3e4),Z(oe,this,3e4),Z(ae,this,108e5),this.readTimeout=X(oe,this),this.connectTimeout=X(re,this),this.cache=!0,Z(te,this,null),Z(ne,this,!0),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(h()().agent)),this.requestAgent=null,Z(he,this,null),this.allowVersionNegotiation=!0,Z(le,this,!1),this.debug=!1,Z(ie,this,null),this._username=null,this._password=null,Z(se,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(T().Agent)({rejectUnauthorized:e}),Z(se,this,e)}get verifySsl(){return X(se,this)}set host(e){e!==X(de,this)&&(Z(de,this,e),Z(le,this,!1),Z(he,this,null),Z(te,this,null),Z(ne,this,!0),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Hostname changed, clearing existing cookie if any"))}get host(){return X(de,this)}get username(){return this._username}set username(e){e!==this._username&&(this._username=e,Z(te,this,null),Z(ne,this,!0),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Username changed, clearing existing cookie if any"))}get password(){return this._password}set password(e){e!==this._password&&(this._password=e,Z(te,this,null),Z(ne,this,!0),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Password changed, clearing existing cookie if any"))}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=j()().createWriteStream(e,{flags:"a"})),Z(ie,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&Z(te,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!==X(he,this)&&null!==X(he,this)&&null!==X(he,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b3"!==X(he,this)){Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Changing uri",e,"to negotiated version",X(he,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,X(he,this))}Z(ee,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==X(ee,this)&&""!==this.host&&""!==this.port?i=X(ee,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.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")){let i=null;if(e.headers.hasOwnProperty("etag")?i=e.headers.etag:e.headers.hasOwnProperty("x-ntnx-etag")&&(i=e.headers["x-ntnx-etag"]),null!==i&&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 X(he,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===X(le,this)?this.callApiInternal("/api/iam/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,s="v4.1.b2";if(Q(ce,this,je).call(this,Q(ce,this,ke).call(this,i),Q(ce,this,ke).call(this,s)))return Q(ce,this,Ie).call(this,X(ue,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),Z(he,this,null),Z(le,this,!1),void n(e);Z(he,this,Q(ce,this,Te).call(this,"v4.1.b3",i)),Z(le,this,!0),Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Negotiated Version with server :",X(he,this)),n(e)}else Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Could not fetch supported versions from server"),Z(he,this,null),Z(le,this,!1),n(e)}).catch(t=>{Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Could not fetch supported versions from server"),Z(he,this,null),Z(le,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,h){return this.negotiateVersion(this,a).then(function(u){return u.callApiInternal(e,t,n,i,s,r,o,a,d,l,h)})}callApiInternal(e,t,i,s,r,o,a,d,l,u,c){var p=this.buildUrl(e,i);const y="undefined"!=typeof window&&void 0!==window.document;let g=["application/octet-stream","application/pdf","application/zip"];if(u&&u.length>0&&u.some(e=>g.includes(e))&&y&&this.downloadDestination)return new Promise((e,n)=>{const i=Q(ce,this,De).call(this,p,t,s,r,a,d,l,u);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Caught the following error :",e),n(e)})});var v=h()()(t,p);if(v.oldCallback=v.callback,v.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"),Z(ne,this,!0),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)},Q(ce,this,$e).call(this,v,d),"GET"===t.toUpperCase()&&!1===this.cache&&(s._=(new Date).getTime()),v.query(Q(ce,this,me).call(this,s)),v.set(this.defaultHeaders).set(Q(ce,this,me).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=$();v.set(Q(ce,this,me).call(this,{"NTNX-Request-Id":e}))}y||(this.downloadDestination=".",v.set(Q(ce,this,me).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.3-beta.3"}))),this.requestAgent&&v.agent(this.requestAgent);var m={};m.response=Q(ce,this,Fe).call(this,this.connectTimeout,X(re,this)),m.deadline=Q(ce,this,Fe).call(this,this.readTimeout,X(oe,this)),v.timeout(m);var w=r.hasOwnProperty("Content-Type")?r["Content-Type"]:Q(ce,this,ge).call(this,l);if(w?"multipart/form-data"!=w&&v.type(w):v.header["Content-Type"]||v.type("application/json"),Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Request URL :",t,p),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,Q(ce,this,Ae),"Request Headers :",void 0===v.header?"":v.header),"application/x-www-form-urlencoded"===w)v.send(Q(ce,this,me).call(this,o));else if("multipart/form-data"==w){var f=Q(ce,this,me).call(this,o);for(var b in f)f.hasOwnProperty(b)&&(Q(ce,this,ve).call(this,f[b])?v.attach(b,f[b]):v.field(b,f[b]))}else{if("application/octet-stream"===w&&null!=a&&"function"==typeof a.pipe){if(Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Piping octet-stream request"),"function"==typeof a.pipe)a.pipe(v);else{let e;try{e=n(965)}catch(e){Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Error fetching steam/web")}a instanceof e.ReadableStream?a.pipeTo(new e.WritableStream({write(e){v.write(e)},close(){Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"READABLE STREAM ABORTED")}})):v.send(a)}return new Promise((t,n)=>{v.on("error",e=>{Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{Q(ce,this,Ce).call(this,i,e,s,c,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&a&&v.send(a)}"Blob"==typeof c?v.responseType("blob"):"String"===c&&v.responseType("string"),Q(ce,this,Ee).call(this,v),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Request Body :",void 0===v._data?"":v._data);var T=r.hasOwnProperty("Accept")&&null!=r.Accept?r.Accept:u.join(", ");T&&v.accept(T);let k=u&&u.some(e=>g.includes(e));return new Promise((n,i)=>{v.buffer(!k).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Caught the following error :",e)}).end((r,o)=>{if(r)Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Caught error during the request!"),Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,r),404===r.status&&(Z(le,this,!1),Z(he,this,null)),null!==r.response&&void 0!==r.response?r.data=Q(ce,this,fe).call(this,r.response,c):r.data=Q(ce,this,we).call(this,r),i(r);else{Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Response Status :",o.status),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,Q(ce,this,Ae),"Response Headers :",o.headers);let r="";if(o.headers.hasOwnProperty("content-type")&&(r=o.headers["content-type"]),g.includes(r)){if(!y){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=j()().createWriteStream(e);Q(ce,this,Ue).call(this,o,t,e,n,i,c)}}else if(302==o.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",s=this;Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Redirecting to :",o.headers.location);var a=h()()(t,o.headers.location);a.set(v.header),o.headers.hasOwnProperty("x-redirect-token")&&(Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Writing X-Redirect-Token into Cookie"),a.set("Cookie",o.headers["x-redirect-token"])),this.requestAgent&&a.agent(this.requestAgent),a.redirects(0),a.withCredentials(this.withCredentials),a.buffer(!1);let r=j()().createWriteStream(e);a.pipe(r),a.on("response",function(t){Q(ce,s,Ie).call(s,X(ue,s).INFO,null,"Received response after redirection :",t.status),Q(ce,s,Ue).call(s,t,r,e,n,i,c)})}else Q(ce,this,Ce).call(this,o,e,s,c,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 s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}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 pe.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=>pe.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=pe.convertToType(r,i),d=pe.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=pe.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=pe.convertToType(e[s],n))}}function ye(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ge(e){for(var t=0;t<e.length;t++)if(Q(ce,this,ye).call(this,e[t]))return e[t];return e[0]}function ve(e){{let t;try{t=l()}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof F.Blob&&e instanceof F.Blob||"function"==typeof File&&e instanceof File}function me(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];Q(ce,this,ve).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function $e(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||""),Q(ce,this,Ie).call(this,X(ue,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)}Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"oauth2 applied to request");break;default:throw Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function we(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function fe(e,t){if(null==e||null==t||204==e.status)return null;var n=e.headers&&e.headers["content-type"]?e.headers["content-type"].split(";")[0].trim():"";if(n&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard","text/plain"].includes(n)){var i;(i=new t).setData(e.text);let n=new C;n.name="hasError",n.value=!1;let s=[n],r=new V;return r.flags=s,i.metadata=r,i}return(null==(i=e.body)||"object"==typeof i&&void 0===i.length&&!Object.keys(i).length)&&(i=e.text),z.convertToType(i,t)}function be(e,t,n){if(!(e instanceof u))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function Te(e,t){if(!e||!t)return e;let n=Q(ce,this,ke).call(this,e),i=Q(ce,this,ke).call(this,t);return!n.family===i.family||Q(ce,this,je).call(this,n,i)?e:t}function je(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),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function ke(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 Fe(e,t){return e<=0?e=t:e>X(ae,this)&&(e=X(ae,this)),e}function Oe(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))}Z(te,this,t),Z(ne,this,!1),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Retained cookie :",t)}else Z(te,this,null)}function Ee(e){null==X(te,this)||X(ne,this)||e.set(Q(ce,this,me).call(this,{Cookie:X(te,this)}))}function Ie(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=X(ue,this).INFO),!Q(ce,this,Pe).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!==X(ie,this)&&null!==X(ie,this)&&"function"==typeof X(ie,this).log?X(ie,this).log(i):console.log(i)}}function Pe(e){return!this.debug&&e===X(ue,this).DEBUG}function Ae(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 Ce(e,t,n,i,s,r){try{var o=Q(ce,this,fe).call(this,e,i);Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Response Status :",e.status),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,Q(ce,this,Ae),"Response Headers :",e.headers),Q(ce,this,Oe).call(this,e||{}),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),Q(ce,this,be).call(this,o,t,n),s({data:o,response:e})):(Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Caught error while processing response!"),Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,e),e.data=Q(ce,this,we).call(this,e),r(e)}}function De(e,t,n,i,s,r,o,a){let d={};r.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}`);d.Authorization=`Basic ${t}`}Q(ce,this,Ie).call(this,X(ue,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?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"oauth2 applied to request");break;default:throw Q(ce,this,Ie).call(this,X(ue,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 l=Q(ce,this,me).call(this,n),h=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let u=e;h&&(u+=(u.includes("?")?"&":"?")+h);const c={...this.defaultHeaders,...Q(ce,this,me).call(this,i),...d};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=$();c["NTNX-Request-Id"]=e}null==X(te,this)||X(ne,this)||(c.Cookie=Q(ce,this,me).call(this,{Cookie:X(te,this)}));var p=i.hasOwnProperty("Content-Type")?i["Content-Type"]:Q(ce,this,ge).call(this,o);c["Content-Type"]=p;var y=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return y&&(c.Accept=y),Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Request URL :",t,e),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,Q(ce,this,Ae),"Request Headers :",c),Q(ce,this,Ie).call(this,X(ue,this).DEBUG,null,"Request Body :",s||""),{url:u,options:{method:t,headers:c,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Ue(e,t,n,i,s,r){Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=k()().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.setData({path:k()().parse(a),$objectType:"Path"});let i=new C;i.name="hasError",i.value=!1;let s=[i],r=new V;r.flags=s,o.metadata=r}e.on("end",()=>{Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Finished streaming response"),0!==a.length?(Q(ce,this,Ie).call(this,X(ue,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),j()().renameSync(n,a),i({data:o,response:e})):(Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{Q(ce,this,Ie).call(this,X(ue,this).ERROR,null,"Caught the following error :",e),error.data=Q(ce,this,we).call(this,error),s(e)})}function Ne(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")}z=pe,pe.instance=new pe;var Se=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=Se),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Re,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(_.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:Ne(Se,this,xe).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:Ne(Se,this,xe).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("argumentsMap","undefined or null"):new P("errorGroup","undefined or null"):new P("locale","undefined or null"):new P("code","undefined or null"):new P("severity","undefined or null"):new P("message","undefined or null")}}function xe(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}Re.prototype.message=void 0,Re.prototype.severity=void 0,Re.prototype.code=void 0,Re.prototype.locale="en_US",Re.prototype.errorGroup=void 0,Re.prototype.argumentsMap=void 0,Re.prototype.$reserved=void 0,Re.prototype.$objectType=void 0,Re.prototype.$unknownFields=void 0;var Le=new WeakSet;class Me{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="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Me,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("attributePath","undefined or null"):new P("message","undefined or null"):new P("location","undefined or null")}}function Je(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")}Me.prototype.location=void 0,Me.prototype.message=void 0,Me.prototype.attributePath=void 0,Me.prototype.$reserved=void 0,Me.prototype.$objectType=void 0,Me.prototype.$unknownFields=void 0;var _e=new WeakSet;class We{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=_e),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new We,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(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Me.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}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:Je(_e,this,Ke).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("validationErrorMessages","undefined or null"):new P("path","undefined or null"):new P("error","undefined or null"):new P("statusCode","undefined or null"):new P("timestamp","undefined or null")}}function Ke(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}We.prototype.timestamp=void 0,We.prototype.statusCode=void 0,We.prototype.error=void 0,We.prototype.path=void 0,We.prototype.validationErrorMessages=void 0,We.prototype.$reserved=void 0,We.prototype.$objectType=void 0,We.prototype.$unknownFields=void 0;var Be=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=Be),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,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(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.error.AppMessage"===a?(s=Re.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setError(o)}else a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"===a?t.setError(We.constructFromObject(e.error,void 0)):t.setError(e.error);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):qe(Be,this,Ge).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):qe(Be,this,Ge).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("error","undefined or null")}}function Ge(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 Ve(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 He=new WeakSet;class Ye extends u{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=He),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ye,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):Ve(He,this,Xe).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):Ve(He,this,Xe).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Xe(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}Ye.prototype.metadata=void 0,Ye.prototype.data=void 0,Ye.prototype.$reserved=void 0,Ye.prototype.$objectType=void 0,Ye.prototype.$unknownFields=void 0;var Ze=new WeakSet;class Qe{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="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qe,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new P("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 P("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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Qe.prototype.tenantId=void 0,Qe.prototype.$reserved=void 0,Qe.prototype.$objectType=void 0,Qe.prototype.$unknownFields=void 0;var et=new WeakSet;class tt extends Qe{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=et),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,s,r,o;if(e){if(t=t||new tt,Qe.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(o=[],i=e.links,r=0;r<i.length;r++)s=B.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new P("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 P("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 P("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 P("links","undefined or null");if(!I.validateMaxItems(this.links,20))return new P("links","does not satisfy required maxItems constraint: 20")}return new P(t,"no such property exists")}}tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var nt=new WeakSet;class it{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=nt),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new it,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),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())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new P("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new P("ocspResponder","undefined or null");if(!I.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new P("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new P("crlDps","undefined or null");if(!I.validateMaxItems(this.crlDps,10))return new P("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("globalCrlRefreshInterval","undefined or null")}}function st(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")}it.prototype.isOcspEnabled=void 0,it.prototype.ocspResponder=void 0,it.prototype.isCrlEnabled=void 0,it.prototype.crlDps=void 0,it.prototype.globalCrlRefreshInterval=void 0,it.prototype.$reserved=void 0,it.prototype.$objectType=void 0,it.prototype.$unknownFields=void 0;var rt=new WeakSet;class ot extends tt{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=rt),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ot,tt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(it.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:st(rt,this,at).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:st(rt,this,at).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new P("clientCaChain","undefined or null");if(!I.validateMinLength(this.clientCaChain,64))return new P("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new P("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new P("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new P("dirSvcExtID","undefined or null");if(!I.validatePattern(this.dirSvcExtID,/^[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 P("dirSvcExtID","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("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new P("caCertFileName","undefined or null");if(!I.validateMaxLength(this.caCertFileName,255))return new P("caCertFileName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.caCertFileName,1))return new P("caCertFileName","does not satisfy required minLength constraint: 1")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("certRevocationInfo","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function at(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function dt(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")}ot.prototype.name=void 0,ot.prototype.clientCaChain=void 0,ot.prototype.isCertAuthEnabled=void 0,ot.prototype.isCacEnabled=void 0,ot.prototype.dirSvcExtID=void 0,ot.prototype.caCertFileName=void 0,ot.prototype.projectExtId="00000000-0000-0000-0000-000000000000",ot.prototype.isSharedWithAllProjects=!0,ot.prototype.certRevocationInfo=void 0,ot.prototype.createdTime=void 0,ot.prototype.lastUpdatedTime=void 0,ot.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var lt=new WeakSet;class ht extends u{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=lt),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new ht,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.CertAuthProvider"===a?(s=ot.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):dt(lt,this,ut).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):dt(lt,this,ut).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function ut(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 ct(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 pt=new WeakSet;class yt extends u{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=pt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new yt,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.CertAuthProvider":t.setData(ot.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ct(pt,this,gt).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):ct(pt,this,gt).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function gt(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")}yt.prototype.metadata=void 0,yt.prototype.data=void 0,yt.prototype.$reserved=void 0,yt.prototype.$objectType=void 0,yt.prototype.$unknownFields=void 0;var mt=new WeakSet;class $t extends u{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=mt),t.add(e),this.$objectType="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $t,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.CertAuthProvider":t.setData(ot.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):vt(mt,this,wt).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(mt,this,wt).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function wt(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 ft(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")}$t.prototype.metadata=void 0,$t.prototype.data=void 0,$t.prototype.$reserved=void 0,$t.prototype.$objectType=void 0,$t.prototype.$unknownFields=void 0;var bt=new WeakSet;class Tt extends u{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="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Tt,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.CertAuthProvider":t.setData(ot.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ft(bt,this,jt).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):ft(bt,this,jt).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function jt(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 kt(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")}Tt.prototype.metadata=void 0,Tt.prototype.data=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;var Ft=new WeakSet;class Ot extends u{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=Ft),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ot,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):kt(Ft,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):kt(Ft,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}Ot.prototype.metadata=void 0,Ot.prototype.data=void 0,Ot.prototype.$reserved=void 0,Ot.prototype.$objectType=void 0,Ot.prototype.$unknownFields=void 0;const It={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(It).find(t=>It[t]===e);return null==t?It.$UNKNOWN:It[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case It.$UNKNOWN:case It.$REDACTED:case It.ACTIVE_DIRECTORY:case It.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze(It);const Pt=It;var At=new WeakSet;class Ct{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=At),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 E?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,512))return new P("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("password","undefined or null")}}Ct.prototype.username=void 0,Ct.prototype.password=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;const Dt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",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.NON_RECURSIVE:case Dt.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(Dt);const Ut=Dt;var Nt=new WeakSet;class St{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Nt),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new St,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),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())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$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 E?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new P("userObjectClass","undefined or null");if(!I.validateMaxLength(this.userObjectClass,64))return new P("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new P("userSearchBase","undefined or null");if(!I.validateMaxLength(this.userSearchBase,200))return new P("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new P("usernameAttribute","undefined or null");if(!I.validateMaxLength(this.usernameAttribute,64))return new P("usernameAttribute","does not satisfy required maxLength 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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}St.prototype.userObjectClass=void 0,St.prototype.userSearchBase=void 0,St.prototype.usernameAttribute=void 0,St.prototype.$reserved=void 0,St.prototype.$objectType=void 0,St.prototype.$unknownFields=void 0;var Rt=new WeakSet;class xt{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Rt),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new xt,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),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())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$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 E?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new P("groupObjectClass","undefined or null");if(!I.validateMaxLength(this.groupObjectClass,64))return new P("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new P("groupSearchBase","undefined or null");if(!I.validateMaxLength(this.groupSearchBase,200))return new P("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new P("groupMemberAttribute","undefined or null");if(!I.validateMaxLength(this.groupMemberAttribute,64))return new P("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new P("groupMemberAttributeValue","undefined or null");if(!I.validateMaxLength(this.groupMemberAttributeValue,64))return new P("groupMemberAttributeValue","does not satisfy required maxLength 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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}xt.prototype.groupObjectClass=void 0,xt.prototype.groupSearchBase=void 0,xt.prototype.groupMemberAttribute=void 0,xt.prototype.groupMemberAttributeValue=void 0,xt.prototype.$reserved=void 0,xt.prototype.$objectType=void 0,xt.prototype.$unknownFields=void 0;var Lt=new WeakSet;class Mt{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=Lt),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mt,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(St.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(xt.constructFromObject(e.userGroupConfiguration)),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())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().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 E?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("userGroupConfiguration","undefined or null"):new P("userConfiguration","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.userConfiguration=void 0,Mt.prototype.userGroupConfiguration=void 0,Mt.prototype.$reserved=void 0,Mt.prototype.$objectType=void 0,Mt.prototype.$unknownFields=void 0;var _t=new WeakSet;class Wt extends tt{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=_t),t.add(e),this.$objectType="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Wt,tt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(Pt.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Ct.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(Mt.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(Ut.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Jt(_t,this,Kt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Jt(_t,this,Kt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new P("url","undefined or null");if(!I.validateMaxLength(this.url,2e3))return new P("url","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.url,3))return new P("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new P("secondaryUrls","undefined or null");if(!I.validateMaxItems(this.secondaryUrls,5))return new P("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new P("domainName","undefined or null");if(!I.validateMaxLength(this.domainName,255))return new P("domainName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.domainName,3))return new P("domainName","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new P("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new P("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new P("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new P("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new P("whiteListedGroups","undefined or null");if(!I.validateMaxItems(this.whiteListedGroups,1e3))return new P("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("sharedWithProjects","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function Kt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qt(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")}Wt.prototype.name=void 0,Wt.prototype.url=void 0,Wt.prototype.secondaryUrls=void 0,Wt.prototype.domainName=void 0,Wt.prototype.directoryType=void 0,Wt.prototype.serviceAccount=void 0,Wt.prototype.openLdapConfiguration=void 0,Wt.prototype.groupSearchType=void 0,Wt.prototype.whiteListedGroups=void 0,Wt.prototype.projectExtId=void 0,Wt.prototype.isSharedWithAllProjects=void 0,Wt.prototype.sharedWithProjects=void 0,Wt.prototype.createdTime=void 0,Wt.prototype.lastUpdatedTime=void 0,Wt.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Bt=new WeakSet;class zt extends u{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="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zt,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryService":t.setData(Wt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):qt(Bt,this,Gt).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):qt(Bt,this,Gt).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Gt(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")}zt.prototype.metadata=void 0,zt.prototype.data=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Yt extends u{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=Ht),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new Yt,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.DirectoryService"===a?(s=Wt.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):Vt(Ht,this,Xt).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(Ht,this,Xt).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Xt(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}Yt.prototype.metadata=void 0,Yt.prototype.data=void 0,Yt.prototype.$reserved=void 0,Yt.prototype.$objectType=void 0,Yt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt{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=Zt),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qt,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),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}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("message","undefined or null")}}Qt.prototype.message=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;class en extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new en,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function tn(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 nn=new WeakSet;class sn extends u{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=nn),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(en.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):tn(nn,this,rn).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):tn(nn,this,rn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function rn(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}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;class on extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceUnshareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new on,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function an(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 dn=new WeakSet;class ln extends u{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="iam.v4.authn.UnshareDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ln,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceUnshareResponse":t.setData(on.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):an(dn,this,hn).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):an(dn,this,hn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function hn(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 un(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")}ln.prototype.metadata=void 0,ln.prototype.data=void 0,ln.prototype.$reserved=void 0,ln.prototype.$objectType=void 0,ln.prototype.$unknownFields=void 0;var cn=new WeakSet;class pn extends u{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=cn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pn,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryService":t.setData(Wt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):un(cn,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):un(cn,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}pn.prototype.metadata=void 0,pn.prototype.data=void 0,pn.prototype.$reserved=void 0,pn.prototype.$objectType=void 0,pn.prototype.$unknownFields=void 0;class gn extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceUnshareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new gn,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function vn(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 mn=new WeakSet;class $n extends u{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=mn),t.add(e),this.$objectType="iam.v4.authn.UnshareAllDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceUnshareAllResponse":t.setData(gn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):vn(mn,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):vn(mn,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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 fn=new WeakSet;class bn{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=fn),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.DirectoryServiceUnshareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bn,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),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())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$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 E?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function Tn(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")}bn.prototype.projectExtId=void 0,bn.prototype.$reserved=void 0,bn.prototype.$objectType=void 0,bn.prototype.$unknownFields=void 0;var jn=new WeakSet;class kn extends u{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=jn),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new kn,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryService":t.setData(Wt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Tn(jn,this,Fn).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):Tn(jn,this,Fn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Fn(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;var On=new WeakSet;class En{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=On),n.add(t),this.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new En,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),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())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$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 E?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new P("query","undefined or null");if(!I.validateMaxLength(this.query,2e3))return new P("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new P("searchedAttributes","undefined or null");if(!I.validateMaxItems(this.searchedAttributes,25))return new P("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new P("returnedAttributes","undefined or null");if(!I.validateMaxItems(this.returnedAttributes,25))return new P("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("isWildcardSearch","undefined or null")}}En.prototype.query=void 0,En.prototype.searchedAttributes=void 0,En.prototype.returnedAttributes=void 0,En.prototype.isWildcardSearch=!0,En.prototype.$reserved=void 0,En.prototype.$objectType=void 0,En.prototype.$unknownFields=void 0;var In=new WeakSet;class Pn{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=In),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.DirectoryServiceShareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pn,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),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())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$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 E?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Pn.prototype.projectExtId=void 0,Pn.prototype.$reserved=void 0,Pn.prototype.$objectType=void 0,Pn.prototype.$unknownFields=void 0;class An extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceShareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new An,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function Cn(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 Dn=new WeakSet;class Un extends u{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="iam.v4.authn.ShareDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Un,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceShareResponse":t.setData(An.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Cn(Dn,this,Nn).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):Cn(Dn,this,Nn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Nn(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}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 Sn=new WeakSet;class Rn{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=Sn),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Rn,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(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())}getValues(){return this.values}setValues(e){this.values=e}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.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new P("values","undefined or null");if(!I.validateMaxItems(this.values,25))return new P("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,1e3))return new P("name","does not satisfy required maxLength constraint: 1000")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Rn.prototype.values=void 0,Rn.prototype.name=void 0,Rn.prototype.$reserved=void 0,Rn.prototype.$objectType=void 0,Rn.prototype.$unknownFields=void 0;var xn=new WeakSet;class Ln{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=xn),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ln,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=Rn.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}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())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new P("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,64))return new P("name","does not satisfy required maxLength constraint: 64")}if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new P("identityExtId","undefined or null");if(!I.validatePattern(this.identityExtId,/^[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 P("identityExtId","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("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new P("attributes","undefined or null");if(!I.validateMaxItems(this.attributes,25))return new P("attributes","does not satisfy required maxItems constraint: 25")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Ln.prototype.entityType=void 0,Ln.prototype.name=void 0,Ln.prototype.identityExtId=void 0,Ln.prototype.attributes=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Mn=new WeakSet;class Jn{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=Mn),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Jn,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Ln.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),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())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new P("searchResults","undefined or null");if(!I.validateMaxItems(this.searchResults,1e3))return new P("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new P("domainName","undefined or null");if(!I.validateMaxLength(this.domainName,255))return new P("domainName","does not satisfy required maxLength constraint: 255")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function _n(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")}Jn.prototype.searchResults=void 0,Jn.prototype.domainName=void 0,Jn.prototype.$reserved=void 0,Jn.prototype.$objectType=void 0,Jn.prototype.$unknownFields=void 0;var Wn=new WeakSet;class Kn extends u{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=Wn),t.add(e),this.$objectType="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Kn,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Jn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):_n(Wn,this,qn).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):_n(Wn,this,qn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function qn(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;class Bn extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceShareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bn,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function zn(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 Gn=new WeakSet;class Vn extends u{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=Gn),t.add(e),this.$objectType="iam.v4.authn.ShareAllDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Vn,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.DirectoryServiceShareAllResponse":t.setData(Bn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):zn(Gn,this,Hn).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):zn(Gn,this,Hn).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Hn(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}Vn.prototype.metadata=void 0,Vn.prototype.data=void 0,Vn.prototype.$reserved=void 0,Vn.prototype.$objectType=void 0,Vn.prototype.$unknownFields=void 0;var Yn=new WeakSet;class Xn{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=Yn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 E?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,512))return new P("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("password","undefined or null")}}Xn.prototype.username=void 0,Xn.prototype.password=void 0,Xn.prototype.$reserved=void 0,Xn.prototype.$objectType=void 0,Xn.prototype.$unknownFields=void 0;const Zn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",MEMBERSHIP_DEFINED:"MEMBERSHIP_DEFINED",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.USER_DEFINED:case Zn.SERVICE_DEFINED:case Zn.PREDEFINED_READ_ONLY:case Zn.PREDEFINED_UPDATE_IDENTITY_ONLY:case Zn.SERVICE_DEFINED_READ_ONLY:case Zn.MEMBERSHIP_DEFINED:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY|MEMBERSHIP_DEFINED }")}}};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="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ti,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),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())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("entityFilter","undefined or null")}}ti.prototype.entityFilter=void 0,ti.prototype.$reserved=void 0,ti.prototype.$objectType=void 0,ti.prototype.$unknownFields=void 0;var ni=new WeakSet;class ii extends tt{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="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ii,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=ti.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),e.hasOwnProperty("isGlobal")&&null!==e.isGlobal&&void 0!==e.isGlobal&&t.setIsGlobal(e.isGlobal),e.hasOwnProperty("domainExtIds")&&null!==e.domainExtIds&&void 0!==e.domainExtIds){for(o=[],i=e.domainExtIds,r=0;r<i.length;r++)o.push(i[r]);t.setDomainExtIds(o)}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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}getIsGlobal(){return this.isGlobal}setIsGlobal(e){this.isGlobal=e}getDomainExtIds(){return this.domainExtIds}setDomainExtIds(e){this.domainExtIds=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new P("entities","undefined or null");if(!I.validateMaxItems(this.entities,500))return new P("entities","does not satisfy required maxItems constraint: 500");if(!I.validateMinItems(this.entities,1))return new P("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new P("role","undefined or null");if(!I.validateMaxLength(this.role,255))return new P("role","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.role,/^[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 P("role","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"isGlobal"!==t||void 0!==this.isGlobal&&null!==this.isGlobal?"domainExtIds"!==t||void 0!==this.domainExtIds&&null!==this.domainExtIds?new P(t,"no such property exists"):new P("domainExtIds","undefined or null"):new P("isGlobal","undefined or null")}}ii.prototype.displayName=void 0,ii.prototype.description=void 0,ii.prototype.clientName=void 0,ii.prototype.entities=void 0,ii.prototype.role=void 0,ii.prototype.isGlobal=!1,ii.prototype.domainExtIds=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var si=new WeakSet;class ri{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=si),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ri,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),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())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("identityFilter","undefined or null")}}function oi(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")}ri.prototype.identityFilter=void 0,ri.prototype.$reserved=void 0,ri.prototype.$objectType=void 0,ri.prototype.$unknownFields=void 0;var ai=new WeakSet;class di extends ii{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="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new di,ii.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=ri.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(Qn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!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())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:oi(ai,this,li).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:oi(ai,this,li).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...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.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new P("identities","undefined or null");if(!I.validateMaxItems(this.identities,600))return new P("identities","does not satisfy required maxItems constraint: 600");if(!I.validateMinItems(this.identities,1))return new P("identities","does not satisfy required minItems constraint: 1")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new P(t,"no such property exists"):new P("assignedUserGroupsCount","undefined or null"):new P("assignedUsersCount","undefined or null"):new P("authorizationPolicyType","undefined or null"):new P("isSystemDefined","undefined or null"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function li(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}di.prototype.identities=void 0,di.prototype.projectExtId=void 0,di.prototype.isSharedWithAllProjects=void 0,di.prototype.createdTime=void 0,di.prototype.lastUpdatedTime=void 0,di.prototype.createdBy=void 0,di.prototype.isSystemDefined=!0,di.prototype.authorizationPolicyType=void 0,di.prototype.assignedUsersCount=void 0,di.prototype.assignedUserGroupsCount=void 0,ii.prototype.displayName=void 0,ii.prototype.description=void 0,ii.prototype.clientName=void 0,ii.prototype.entities=void 0,ii.prototype.role=void 0,ii.prototype.isGlobal=!1,ii.prototype.domainExtIds=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var hi=new WeakSet;class ui extends tt{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=hi),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ui,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("isGlobal")&&null!==e.isGlobal&&void 0!==e.isGlobal&&t.setIsGlobal(e.isGlobal),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getIsGlobal(){return this.isGlobal}setIsGlobal(e){this.isGlobal=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"isGlobal"!==t||void 0!==this.isGlobal&&null!==this.isGlobal?new P(t,"no such property exists"):new P("isGlobal","undefined or null")}}ui.prototype.displayName=void 0,ui.prototype.clientName=void 0,ui.prototype.isGlobal=!1,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const ci={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ci).find(t=>ci[t]===e);return null==t?ci.$UNKNOWN:ci[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ci.$UNKNOWN:case ci.$REDACTED:case ci.IMPACTED:case ci.NOT_IMPACTED:case ci.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(ci);const pi=ci;function yi(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 gi=new WeakSet;class vi extends ui{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=gi),t.add(e),this.$objectType="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vi,ui.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(pi.constructFromObject(e.operationSchemaChangeImpact)),!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())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yi(gi,this,mi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yi(gi,this,mi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new P("operations","undefined or null");if(!I.validateMaxItems(this.operations,2e3))return new P("operations","does not satisfy required maxItems constraint: 2000");if(!I.validateMinItems(this.operations,1))return new P("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new P("accessibleClients","undefined or null");if(!I.validateMaxItems(this.accessibleClients,50))return new P("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new P("accessibleEntityTypes","undefined or null");if(!I.validateMaxItems(this.accessibleEntityTypes,500))return new P("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}if("accessibleClientsCount"===t&&(void 0===this.accessibleClientsCount||null===this.accessibleClientsCount))return new P("accessibleClientsCount","undefined or null");if("accessibleEntityTypesCount"===t&&(void 0===this.accessibleEntityTypesCount||null===this.accessibleEntityTypesCount))return new P("accessibleEntityTypesCount","undefined or null");if("assignedUsersCount"===t&&(void 0===this.assignedUsersCount||null===this.assignedUsersCount))return new P("assignedUsersCount","undefined or null");if("assignedUserGroupsCount"===t&&(void 0===this.assignedUserGroupsCount||null===this.assignedUserGroupsCount))return new P("assignedUserGroupsCount","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new P(t,"no such property exists"):new P("operationSchemaChangeImpact","undefined or null"):new P("isSystemDefined","undefined or null"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function mi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vi.prototype.description=void 0,vi.prototype.operations=void 0,vi.prototype.accessibleClients=void 0,vi.prototype.accessibleEntityTypes=void 0,vi.prototype.accessibleClientsCount=void 0,vi.prototype.accessibleEntityTypesCount=void 0,vi.prototype.assignedUsersCount=void 0,vi.prototype.assignedUserGroupsCount=void 0,vi.prototype.projectExtId=void 0,vi.prototype.isSharedWithAllProjects=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.isSystemDefined=!0,vi.prototype.operationSchemaChangeImpact=void 0,ui.prototype.displayName=void 0,ui.prototype.clientName=void 0,ui.prototype.isGlobal=!1,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;class $i extends vi{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new $i,vi.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function wi(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 fi=new WeakSet;class bi extends di{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="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bi,di.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection($i.constructFromObject(e.roleProjection)),!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())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:wi(fi,this,Ti).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:wi(fi,this,Ti).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...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.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new P(t,"no such property exists"):new P("roleProjection","undefined or null")}}function Ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ji(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")}bi.prototype.roleProjection=void 0,di.prototype.identities=void 0,di.prototype.projectExtId=void 0,di.prototype.isSharedWithAllProjects=void 0,di.prototype.createdTime=void 0,di.prototype.lastUpdatedTime=void 0,di.prototype.createdBy=void 0,di.prototype.isSystemDefined=!0,di.prototype.authorizationPolicyType=void 0,di.prototype.assignedUsersCount=void 0,di.prototype.assignedUserGroupsCount=void 0,ii.prototype.displayName=void 0,ii.prototype.description=void 0,ii.prototype.clientName=void 0,ii.prototype.entities=void 0,ii.prototype.role=void 0,ii.prototype.isGlobal=!1,ii.prototype.domainExtIds=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var ki=new WeakSet;class Fi extends u{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=ki),t.add(e),this.$objectType="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fi,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.AuthorizationPolicy":t.setData(di.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.AuthorizationPolicyProjection":t.setData(bi.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ji(ki,this,Oi).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):ji(ki,this,Oi).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Oi(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 Ei(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")}Fi.prototype.metadata=void 0,Fi.prototype.data=void 0,Fi.prototype.$reserved=void 0,Fi.prototype.$objectType=void 0,Fi.prototype.$unknownFields=void 0;var Ii=new WeakSet;class Pi extends u{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="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pi,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):Ei(Ii,this,Ai).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):Ei(Ii,this,Ai).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ai(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 Ci(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")}Pi.prototype.metadata=void 0,Pi.prototype.data=void 0,Pi.prototype.$reserved=void 0,Pi.prototype.$objectType=void 0,Pi.prototype.$unknownFields=void 0;var Di=new WeakSet;class Ui extends u{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="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new Ui,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"iam.v4.authz.AuthorizationPolicy":s=di.constructFromObject(i[r],void 0),o.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=bi.constructFromObject(i[r],void 0),o.push(s);break;default:o.push(i[r])}t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):Ci(Di,this,Ni).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):Ci(Di,this,Ni).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ni(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 Si(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.metadata=void 0,Ui.prototype.data=void 0,Ui.prototype.$reserved=void 0,Ui.prototype.$objectType=void 0,Ui.prototype.$unknownFields=void 0;var Ri=new WeakSet;class xi extends u{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=Ri),t.add(e),this.$objectType="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new xi,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"common.v1.config.Message":t.setData(K.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Si(Ri,this,Li).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):Si(Ri,this,Li).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Li(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 Mi(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")}xi.prototype.metadata=void 0,xi.prototype.data=void 0,xi.prototype.$reserved=void 0,xi.prototype.$objectType=void 0,xi.prototype.$unknownFields=void 0;var Ji=new WeakSet;class _i extends u{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=Ji),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _i,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.AuthorizationPolicy":t.setData(di.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.AuthorizationPolicyProjection":t.setData(bi.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Mi(Ji,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):Mi(Ji,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}function Ki(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")}_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;var qi=new WeakSet;class Bi extends tt{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=qi),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Bi,tt.constructFromObject(e,t,!0),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("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(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())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ki(qi,this,zi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ki(qi,this,zi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$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 E?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new P("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new P("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new P("deploymentList","undefined or null");if(!I.validateMaxItems(this.deploymentList,5))return new P("deploymentList","does not satisfy required maxItems constraint: 5");if(!I.validateMinItems(this.deploymentList,1))return new P("deploymentList","does not satisfy required minItems constraint: 1")}return new P(t,"no such property exists")}}function zi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():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")}Bi.prototype.name=void 0,Bi.prototype.description=void 0,Bi.prototype.displayName=void 0,Bi.prototype.createdTime=void 0,Bi.prototype.lastUpdatedTime=void 0,Bi.prototype.createdBy=void 0,Bi.prototype.deploymentList=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Vi=new WeakSet;class Hi extends u{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=Vi),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Hi,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.Client":t.setData(Bi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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(Vi,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):Gi(Vi,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}Hi.prototype.metadata=void 0,Hi.prototype.data=void 0,Hi.prototype.$reserved=void 0,Hi.prototype.$objectType=void 0,Hi.prototype.$unknownFields=void 0;const Xi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xi).find(t=>Xi[t]===e);return null==t?Xi.$UNKNOWN:Xi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xi.$UNKNOWN:case Xi.$REDACTED:case Xi.ALLOF:case Xi.ANYOF:case Xi.EQ:case Xi.NONEOF:case Xi.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Xi);const Zi=Xi;var Qi=new WeakSet;class es extends tt{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=Qi),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new es,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=Zi.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^\\\"]*$/))return new P("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^\\\"]*$/))return new P("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new P("supportedOperators","undefined or null");if(!I.validateMaxItems(this.supportedOperators,5))return new P("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new P("attributeValues","undefined or null");if(!I.validateMaxItems(this.attributeValues,25))return new P("attributeValues","does not satisfy required maxItems constraint: 25")}return new P(t,"no such property exists")}}function ts(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")}es.prototype.displayName=void 0,es.prototype.name=void 0,es.prototype.supportedOperators=void 0,es.prototype.attributeValues=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var ns=new WeakSet;class is extends tt{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="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new is,tt.constructFromObject(e,t,!0),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("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=es.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!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}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ts(ns,this,ss).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ts(ns,this,ss).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^\\\"]*$/))return new P("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.clientName,1))return new P("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new P("searchURL","undefined or null");if(!I.validateMaxLength(this.searchURL,2e3))return new P("searchURL","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.searchURL,3))return new P("searchURL","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new P("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new P("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new P("attributeList","undefined or null");if(!I.validateMaxItems(this.attributeList,10))return new P("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new P(t,"no such property exists"):new P("isLogicalAndSupportedForAttributes","undefined or null")}}function ss(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}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")}is.prototype.name=void 0,is.prototype.description=void 0,is.prototype.displayName=void 0,is.prototype.clientName=void 0,is.prototype.searchURL=void 0,is.prototype.createdTime=void 0,is.prototype.lastUpdatedTime=void 0,is.prototype.createdBy=void 0,is.prototype.attributeList=void 0,is.prototype.isLogicalAndSupportedForAttributes=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var os=new WeakSet;class as extends u{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=os),t.add(e),this.$objectType="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new as,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authz.Entity"===a?(s=is.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):rs(os,this,ds).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):rs(os,this,ds).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function ds(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 ls(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")}as.prototype.metadata=void 0,as.prototype.data=void 0,as.prototype.$reserved=void 0,as.prototype.$objectType=void 0,as.prototype.$unknownFields=void 0;var hs=new WeakSet;class us extends u{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=hs),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.Entity":t.setData(is.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ls(hs,this,cs).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):ls(hs,this,cs).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function cs(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;const ps={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ps).find(t=>ps[t]===e);return null==t?ps.$UNKNOWN:ps[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ps.$UNKNOWN:case ps.$REDACTED:case ps.LOCAL:case ps.SAML:case ps.LDAP:case ps.CERT:case ps.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(ps);const ys=ps;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")}var vs=new WeakSet;class ms extends tt{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=vs),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ms,tt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(ys.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:gs(vs,this,$s).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:gs(vs,this,$s).call(this,this.getLastUpdatedTime(),!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.getType()&&null!==this.getType()?{type:this.getType()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("type"===t&&(void 0===this.type||null===this.type))return new P("type","undefined or null");if("isBrowserLoginSupported"===t&&(void 0===this.isBrowserLoginSupported||null===this.isBrowserLoginSupported))return new P("isBrowserLoginSupported","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new P(t,"no such property exists"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("sharedWithProjects","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function $s(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ws(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")}ms.prototype.name=void 0,ms.prototype.type=void 0,ms.prototype.isBrowserLoginSupported=void 0,ms.prototype.projectExtId=void 0,ms.prototype.isSharedWithAllProjects=void 0,ms.prototype.sharedWithProjects=void 0,ms.prototype.createdTime=void 0,ms.prototype.lastUpdatedTime=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var fs=new WeakSet;class bs extends u{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="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new bs,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.LoginProvider"===a?(s=ms.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):ws(fs,this,Ts).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):ws(fs,this,Ts).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ts(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}bs.prototype.metadata=void 0,bs.prototype.data=void 0,bs.prototype.$reserved=void 0,bs.prototype.$objectType=void 0,bs.prototype.$unknownFields=void 0;const js={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(js).find(t=>js[t]===e);return null==t?js.$UNKNOWN:js[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case js.$UNKNOWN:case js.$REDACTED:case js.V3:case js.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(js);const ks=js,Fs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fs).find(t=>Fs[t]===e);return null==t?Fs.$UNKNOWN:Fs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fs.$UNKNOWN:case Fs.$REDACTED:case Fs.POST:case Fs.GET:case Fs.PUT:case Fs.PATCH:case Fs.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(Fs);const Os=Fs;var Es=new WeakSet;class Is{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=Es),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Is,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(ks.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Os.constructFromObject(e.httpMethod)),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())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new P("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new P("endpointUrl","undefined or null");if(!I.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("httpMethod","undefined or null")}}Is.prototype.apiVersion=void 0,Is.prototype.endpointUrl=void 0,Is.prototype.httpMethod=void 0,Is.prototype.$reserved=void 0,Is.prototype.$objectType=void 0,Is.prototype.$unknownFields=void 0;var Ps=new WeakSet;class As{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=Ps),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new As,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),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())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$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 E?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new P("notes","undefined or null");if(!I.validateMaxLength(this.notes,1e3))return new P("notes","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}As.prototype.notes=void 0,As.prototype.$reserved=void 0,As.prototype.$objectType=void 0,As.prototype.$unknownFields=void 0;const Cs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Cs).find(t=>Cs[t]===e);return null==t?Cs.$UNKNOWN:Cs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Cs.$UNKNOWN:case Cs.$REDACTED:case Cs.INTERNAL:case Cs.SYSTEM_DEFINED_ONLY:case Cs.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(Cs);const Ds=Cs;function Us(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 Ss extends tt{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="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ss,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("allowOnSharedEntity")&&null!==e.allowOnSharedEntity&&void 0!==e.allowOnSharedEntity&&t.setAllowOnSharedEntity(e.allowOnSharedEntity),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(Ds.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=Is.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(As.constructFromObject(e.migrationActionNotes)),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getAllowOnSharedEntity(){return this.allowOnSharedEntity}setAllowOnSharedEntity(e){this.allowOnSharedEntity=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Us(Ns,this,Rs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Us(Ns,this,Rs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new P("entityType","undefined or null");if(!I.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("allowOnSharedEntity"===t&&(void 0===this.allowOnSharedEntity||null===this.allowOnSharedEntity))return new P("allowOnSharedEntity","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new P("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new P("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new P("relatedOperationList","undefined or null");if(!I.validateMaxItems(this.relatedOperationList,1e3))return new P("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new P("associatedEndpointList","undefined or null");if(!I.validateMaxItems(this.associatedEndpointList,4))return new P("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new P(t,"no such property exists"):new P("migrationActionNotes","undefined or null")}}function Rs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xs(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")}Ss.prototype.displayName=void 0,Ss.prototype.description=void 0,Ss.prototype.entityType=void 0,Ss.prototype.clientName=void 0,Ss.prototype.allowOnSharedEntity=!1,Ss.prototype.createdTime=void 0,Ss.prototype.lastUpdatedTime=void 0,Ss.prototype.operationType=void 0,Ss.prototype.relatedOperationList=void 0,Ss.prototype.associatedEndpointList=void 0,Ss.prototype.migrationActionNotes=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Ls=new WeakSet;class Ms extends u{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=Ls),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authz.Operation"===a?(s=Ss.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):xs(Ls,this,Js).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):xs(Ls,this,Js).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","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 _s(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")}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;var Ws=new WeakSet;class Ks extends u{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=Ws),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ks,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.Operation":t.setData(Ss.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):_s(Ws,this,qs).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):_s(Ws,this,qs).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function qs(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}Ks.prototype.metadata=void 0,Ks.prototype.data=void 0,Ks.prototype.$reserved=void 0,Ks.prototype.$objectType=void 0,Ks.prototype.$unknownFields=void 0;const Bs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"USER",GROUP:"GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bs).find(t=>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.USER:case Bs.GROUP:return;default:throw new Error("Invalid : must be RmIdentityType.{ $UNKNOWN|$REDACTED|USER|GROUP }")}}};Object.freeze(Bs);const zs=Bs;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")}var Vs=new WeakSet;class Hs extends tt{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=Vs),t.add(e),this.$objectType="iam.v4.authz.RoleMembership",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Hs,tt.constructFromObject(e,t,!0),e.hasOwnProperty("roleExtId")&&null!==e.roleExtId&&void 0!==e.roleExtId&&t.setRoleExtId(e.roleExtId),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("scopeTemplateName")&&null!==e.scopeTemplateName&&void 0!==e.scopeTemplateName&&t.setScopeTemplateName(e.scopeTemplateName),e.hasOwnProperty("scopeTemplateNameValues")&&null!==e.scopeTemplateNameValues&&void 0!==e.scopeTemplateNameValues){for(o=[],i=e.scopeTemplateNameValues,r=0;r<i.length;r++)s=L.constructFromObject(i[r],void 0),o.push(s);t.setScopeTemplateNameValues(o)}if(e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(zs.constructFromObject(e.identityType)),e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("idpExtId")&&null!==e.idpExtId&&void 0!==e.idpExtId&&t.setIdpExtId(e.idpExtId),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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())}getRoleExtId(){return this.roleExtId}setRoleExtId(e){this.roleExtId=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getScopeTemplateName(){return this.scopeTemplateName}setScopeTemplateName(e){this.scopeTemplateName=e}getScopeTemplateNameValues(){return this.scopeTemplateNameValues}setScopeTemplateNameValues(e){this.scopeTemplateNameValues=e}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getIdpExtId(){return this.idpExtId}setIdpExtId(e){this.idpExtId=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gs(Vs,this,Ys).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gs(Vs,this,Ys).call(this,this.getLastUpdatedTime(),!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.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roleExtId"===t){if(void 0===this.roleExtId||null===this.roleExtId)return new P("roleExtId","undefined or null");if(!I.validateMaxLength(this.roleExtId,255))return new P("roleExtId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.roleExtId,/^[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 P("roleExtId","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("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validateMaxLength(this.projectExtId,255))return new P("projectExtId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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("scopeTemplateName"===t){if(void 0===this.scopeTemplateName||null===this.scopeTemplateName)return new P("scopeTemplateName","undefined or null");if(!I.validateMaxLength(this.scopeTemplateName,255))return new P("scopeTemplateName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.scopeTemplateName,1))return new P("scopeTemplateName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.scopeTemplateName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("scopeTemplateName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("scopeTemplateNameValues"===t){if(void 0===this.scopeTemplateNameValues||null===this.scopeTemplateNameValues)return new P("scopeTemplateNameValues","undefined or null");if(!I.validateMaxItems(this.scopeTemplateNameValues,10))return new P("scopeTemplateNameValues","does not satisfy required maxItems constraint: 10");if(!I.validateMinItems(this.scopeTemplateNameValues,1))return new P("scopeTemplateNameValues","does not satisfy required minItems constraint: 1")}if("identityType"===t&&(void 0===this.identityType||null===this.identityType))return new P("identityType","undefined or null");if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new P("identityExtId","undefined or null");if(!I.validateMaxLength(this.identityExtId,255))return new P("identityExtId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.identityExtId,/^[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 P("identityExtId","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("idpExtId"===t){if(void 0===this.idpExtId||null===this.idpExtId)return new P("idpExtId","undefined or null");if(!I.validateMaxLength(this.idpExtId,255))return new P("idpExtId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.idpExtId,/^[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 P("idpExtId","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("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new P("createdBy","undefined or null");if(!I.validatePattern(this.createdBy,/^[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 P("createdBy","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"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new P(t,"no such property exists"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null")}}function Ys(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Xs(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")}Hs.prototype.roleExtId=void 0,Hs.prototype.projectExtId="00000000-0000-0000-0000-000000000000",Hs.prototype.scopeTemplateName=void 0,Hs.prototype.scopeTemplateNameValues=void 0,Hs.prototype.identityType=void 0,Hs.prototype.identityExtId=void 0,Hs.prototype.idpExtId=void 0,Hs.prototype.createdBy=void 0,Hs.prototype.createdTime=void 0,Hs.prototype.lastUpdatedTime=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Zs=new WeakSet;class Qs extends Hs{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=Zs),t.add(e),this.$objectType="iam.v4.authz.RoleMembershipProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qs,Hs.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection($i.constructFromObject(e.roleProjection)),!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())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xs(Zs,this,er).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xs(Zs,this,er).call(this,this.getLastUpdatedTime(),!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.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new P(t,"no such property exists"):new P("roleProjection","undefined or null")}}function er(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function tr(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")}Qs.prototype.roleProjection=void 0,Hs.prototype.roleExtId=void 0,Hs.prototype.projectExtId="00000000-0000-0000-0000-000000000000",Hs.prototype.scopeTemplateName=void 0,Hs.prototype.scopeTemplateNameValues=void 0,Hs.prototype.identityType=void 0,Hs.prototype.identityExtId=void 0,Hs.prototype.idpExtId=void 0,Hs.prototype.createdBy=void 0,Hs.prototype.createdTime=void 0,Hs.prototype.lastUpdatedTime=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var nr=new WeakSet;class ir extends u{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=nr),t.add(e),this.$objectType="iam.v4.authz.ListRoleMembershipsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new ir,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"iam.v4.authz.RoleMembership":s=Hs.constructFromObject(i[r],void 0),o.push(s);break;case"iam.v4.authz.RoleMembershipProjection":s=Qs.constructFromObject(i[r],void 0),o.push(s);break;default:o.push(i[r])}t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):tr(nr,this,sr).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):tr(nr,this,sr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function sr(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;var rr=new WeakSet;class or extends tt{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=rr),t.add(e),this.$objectType="iam.v4.authz.RoleMembershipSummary",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new or,tt.constructFromObject(e,t,!0),e.hasOwnProperty("totalIdentitiesCount")&&null!==e.totalIdentitiesCount&&void 0!==e.totalIdentitiesCount&&t.setTotalIdentitiesCount(e.totalIdentitiesCount),e.hasOwnProperty("usersCount")&&null!==e.usersCount&&void 0!==e.usersCount&&t.setUsersCount(e.usersCount),e.hasOwnProperty("groupsCount")&&null!==e.groupsCount&&void 0!==e.groupsCount&&t.setGroupsCount(e.groupsCount),e.hasOwnProperty("rolesCount")&&null!==e.rolesCount&&void 0!==e.rolesCount&&t.setRolesCount(e.rolesCount),!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())}getTotalIdentitiesCount(){return this.totalIdentitiesCount}setTotalIdentitiesCount(e){this.totalIdentitiesCount=e}getUsersCount(){return this.usersCount}setUsersCount(e){this.usersCount=e}getGroupsCount(){return this.groupsCount}setGroupsCount(e){this.groupsCount=e}getRolesCount(){return this.rolesCount}setRolesCount(e){this.rolesCount=e}toJson(e){return!1===e?{...void 0!==this.getTotalIdentitiesCount()&&null!==this.getTotalIdentitiesCount()?{totalIdentitiesCount:this.getTotalIdentitiesCount()}:{},...void 0!==this.getUsersCount()&&null!==this.getUsersCount()?{usersCount:this.getUsersCount()}:{},...void 0!==this.getGroupsCount()&&null!==this.getGroupsCount()?{groupsCount:this.getGroupsCount()}:{},...void 0!==this.getRolesCount()&&null!==this.getRolesCount()?{rolesCount:this.getRolesCount()}:{},...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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"totalIdentitiesCount"!==t||void 0!==this.totalIdentitiesCount&&null!==this.totalIdentitiesCount?"usersCount"!==t||void 0!==this.usersCount&&null!==this.usersCount?"groupsCount"!==t||void 0!==this.groupsCount&&null!==this.groupsCount?"rolesCount"!==t||void 0!==this.rolesCount&&null!==this.rolesCount?new P(t,"no such property exists"):new P("rolesCount","undefined or null"):new P("groupsCount","undefined or null"):new P("usersCount","undefined or null"):new P("totalIdentitiesCount","undefined or null")}}function ar(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.totalIdentitiesCount=void 0,or.prototype.usersCount=void 0,or.prototype.groupsCount=void 0,or.prototype.rolesCount=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var dr=new WeakSet;class lr extends u{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="iam.v4.authz.ListRoleMembershipSummariesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new lr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authz.RoleMembershipSummary"===a?(s=or.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):ar(dr,this,hr).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):ar(dr,this,hr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function hr(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 ur(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")}lr.prototype.metadata=void 0,lr.prototype.data=void 0,lr.prototype.$reserved=void 0,lr.prototype.$objectType=void 0,lr.prototype.$unknownFields=void 0;var cr=new WeakSet;class pr extends u{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=cr),t.add(e),this.$objectType="iam.v4.authz.GetRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.RoleMembership":t.setData(Hs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleMembershipProjection":t.setData(Qs.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ur(cr,this,yr).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):ur(cr,this,yr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function yr(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 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")}pr.prototype.metadata=void 0,pr.prototype.data=void 0,pr.prototype.$reserved=void 0,pr.prototype.$objectType=void 0,pr.prototype.$unknownFields=void 0;var vr=new WeakSet;class mr extends u{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="iam.v4.authz.CreateRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.RoleMembership":t.setData(Hs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleMembershipProjection":t.setData(Qs.constructFromObject(e.data,void 0));break;default:t.setData(e.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,$r).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,$r).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function $r(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 wr(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")}mr.prototype.metadata=void 0,mr.prototype.data=void 0,mr.prototype.$reserved=void 0,mr.prototype.$objectType=void 0,mr.prototype.$unknownFields=void 0;var fr=new WeakSet;class br extends u{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=fr),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new br,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):wr(fr,this,Tr).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):wr(fr,this,Tr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Tr(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 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")}br.prototype.metadata=void 0,br.prototype.data=void 0,br.prototype.$reserved=void 0,br.prototype.$objectType=void 0,br.prototype.$unknownFields=void 0;var kr=new WeakSet;class Fr extends u{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=kr),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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(kr,this,Or).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(kr,this,Or).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Or(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 Er(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")}Fr.prototype.metadata=void 0,Fr.prototype.data=void 0,Fr.prototype.$reserved=void 0,Fr.prototype.$objectType=void 0,Fr.prototype.$unknownFields=void 0;var Ir=new WeakSet;class Pr extends u{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=Ir),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.Role":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleProjection":t.setData($i.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Er(Ir,this,Ar).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):Er(Ir,this,Ar).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ar(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 Cr(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.metadata=void 0,Pr.prototype.data=void 0,Pr.prototype.$reserved=void 0,Pr.prototype.$objectType=void 0,Pr.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Ur extends u{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="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ur,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authz.Role":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleProjection":t.setData($i.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):Cr(Dr,this,Nr).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):Cr(Dr,this,Nr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Nr(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 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")}Ur.prototype.metadata=void 0,Ur.prototype.data=void 0,Ur.prototype.$reserved=void 0,Ur.prototype.$objectType=void 0,Ur.prototype.$unknownFields=void 0;var Rr=new WeakSet;class xr extends u{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=Rr),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new xr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"iam.v4.authz.Role":s=vi.constructFromObject(i[r],void 0),o.push(s);break;case"iam.v4.authz.RoleProjection":s=$i.constructFromObject(i[r],void 0),o.push(s);break;default:o.push(i[r])}t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):Sr(Rr,this,Lr).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(Rr,this,Lr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","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}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")}xr.prototype.metadata=void 0,xr.prototype.data=void 0,xr.prototype.$reserved=void 0,xr.prototype.$objectType=void 0,xr.prototype.$unknownFields=void 0;var Jr=new WeakSet;class _r extends u{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=Jr),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _r,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"common.v1.config.Message":t.setData(K.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Mr(Jr,this,Wr).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):Mr(Jr,this,Wr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","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.metadata=void 0,_r.prototype.data=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;class Kr extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kr,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function qr(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 Br=new WeakSet;class zr extends u{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=Br),t.add(e),this.$objectType="iam.v4.authn.UnshareSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProviderUnshareResponse":t.setData(Kr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):qr(Br,this,Gr).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):qr(Br,this,Gr).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Gr(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 Vr(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.metadata=void 0,zr.prototype.data=void 0,zr.prototype.$reserved=void 0,zr.prototype.$objectType=void 0,zr.prototype.$unknownFields=void 0;var Hr=new WeakSet;class Yr extends u{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=Hr),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Yr,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):Vr(Hr,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):Vr(Hr,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}Yr.prototype.metadata=void 0,Yr.prototype.data=void 0,Yr.prototype.$reserved=void 0,Yr.prototype.$objectType=void 0,Yr.prototype.$unknownFields=void 0;var Zr=new WeakSet;class Qr{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=Zr),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.SamlIdentityProviderShareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qr,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),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())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$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 E?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function eo(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")}Qr.prototype.projectExtId=void 0,Qr.prototype.$reserved=void 0,Qr.prototype.$objectType=void 0,Qr.prototype.$unknownFields=void 0;var to=new WeakSet;class no extends u{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="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new no,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"ByteArray":default:t.setData(e.data);break;case"iam.v4.error.ErrorResponse":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):eo(to,this,io).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):eo(to,this,io).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function io(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}no.prototype.metadata=void 0,no.prototype.data=void 0,no.prototype.$reserved=void 0,no.prototype.$objectType=void 0,no.prototype.$unknownFields=void 0;class so extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new so,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}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")}var oo=new WeakSet;class ao extends u{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=oo),t.add(e),this.$objectType="iam.v4.authn.UnshareAllSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ao,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProviderUnshareAllResponse":t.setData(so.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ro(oo,this,lo).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):ro(oo,this,lo).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function lo(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.metadata=void 0,ao.prototype.data=void 0,ao.prototype.$reserved=void 0,ao.prototype.$objectType=void 0,ao.prototype.$unknownFields=void 0;const ho={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ho).find(t=>ho[t]===e);return null==t?ho.$UNKNOWN:ho[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ho.$UNKNOWN:case ho.$REDACTED:case ho.EMAILADDRESS:case ho.UNSPECIFIED:case ho.X509SUBJECTNAME:case ho.WINDOWSDOMAINQUALIFIEDNAME:case ho.ENCRYPTED:case ho.ENTITY:case ho.KERBEROS:case ho.PERSISTENT:case ho.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(ho);const uo=ho;var co=new WeakSet;class po{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=co),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new po,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(uo.constructFromObject(e.nameIdPolicyFormat)),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())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$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 E?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new P("entityId","undefined or null");if(!I.validateMaxLength(this.entityId,2e3))return new P("entityId","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.entityId,3))return new P("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new P("loginUrl","undefined or null");if(!I.validateMaxLength(this.loginUrl,2e3))return new P("loginUrl","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.loginUrl,3))return new P("loginUrl","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new P("logoutUrl","undefined or null");if(!I.validateMaxLength(this.logoutUrl,2e3))return new P("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.logoutUrl,3))return new P("logoutUrl","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new P("errorUrl","undefined or null");if(!I.validateMaxLength(this.errorUrl,2e3))return new P("errorUrl","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.errorUrl,3))return new P("errorUrl","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new P("certificate","undefined or null");if(!I.validateMinLength(this.certificate,64))return new P("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("nameIdPolicyFormat","undefined or null")}}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")}po.prototype.entityId=void 0,po.prototype.loginUrl=void 0,po.prototype.logoutUrl=void 0,po.prototype.errorUrl=void 0,po.prototype.certificate=void 0,po.prototype.nameIdPolicyFormat=void 0,po.prototype.$reserved=void 0,po.prototype.$objectType=void 0,po.prototype.$unknownFields=void 0;var go=new WeakSet;class vo{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=go),t.add(e),this.$objectType="iam.v4.authn.SamlSigningCredential",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vo,e.hasOwnProperty("publicCertificate")&&null!==e.publicCertificate&&void 0!==e.publicCertificate&&t.setPublicCertificate(e.publicCertificate),e.hasOwnProperty("privateKey")&&null!==e.privateKey&&void 0!==e.privateKey&&t.setPrivateKey(e.privateKey),e.hasOwnProperty("certActivationDate")&&null!==e.certActivationDate&&void 0!==e.certActivationDate&&t.setCertActivationDate(e.certActivationDate),e.hasOwnProperty("certExpiryDate")&&null!==e.certExpiryDate&&void 0!==e.certExpiryDate&&t.setCertExpiryDate(e.certExpiryDate),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())}getPublicCertificate(){return this.publicCertificate}setPublicCertificate(e){this.publicCertificate=e}getPrivateKey(){return this.privateKey}setPrivateKey(e){this.privateKey=e}getCertActivationDate(){return this.certActivationDate}setCertActivationDate(e){this.certActivationDate=e}getCertExpiryDate(){return this.certExpiryDate}setCertExpiryDate(e){this.certExpiryDate=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getPublicCertificate()&&null!==this.getPublicCertificate()?{publicCertificate:this.getPublicCertificate()}:{},...void 0!==this.getPrivateKey()&&null!==this.getPrivateKey()?{privateKey:this.getPrivateKey()}:{},...void 0!==this.getCertActivationDate()&&null!==this.getCertActivationDate()?{certActivationDate:yo(go,this,mo).call(this,this.getCertActivationDate(),!1)}:{},...void 0!==this.getCertExpiryDate()&&null!==this.getCertExpiryDate()?{certExpiryDate:yo(go,this,mo).call(this,this.getCertExpiryDate(),!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.getPublicCertificate()&&null!==this.getPublicCertificate()?{publicCertificate:this.getPublicCertificate()}:{},...void 0!==this.getPrivateKey()&&null!==this.getPrivateKey()?{privateKey:this.getPrivateKey()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("publicCertificate"===t){if(void 0===this.publicCertificate||null===this.publicCertificate)return new P("publicCertificate","undefined or null");if(!I.validateMinLength(this.publicCertificate,64))return new P("publicCertificate","does not satisfy required minLength constraint: 64");if(!I.validatePattern(this.publicCertificate,/^-----BEGIN CERTIFICATE-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END CERTIFICATE-----$/))return new P("publicCertificate","does not satisfy required pattern: /^-----BEGIN CERTIFICATE-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END CERTIFICATE-----$/")}if("privateKey"===t){if(void 0===this.privateKey||null===this.privateKey)return new P("privateKey","undefined or null");if(!I.validateMaxLength(this.privateKey,3400))return new P("privateKey","does not satisfy required maxLength constraint: 3400");if(!I.validateMinLength(this.privateKey,1600))return new P("privateKey","does not satisfy required minLength constraint: 1600");if(!I.validatePattern(this.privateKey,/^(-----BEGIN PRIVATE KEY-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END PRIVATE KEY-----|-----BEGIN RSA PRIVATE KEY-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END RSA PRIVATE KEY-----)$/))return new P("privateKey","does not satisfy required pattern: /^(-----BEGIN PRIVATE KEY-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END PRIVATE KEY-----|-----BEGIN RSA PRIVATE KEY-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END RSA PRIVATE KEY-----)$/")}return"certActivationDate"!==t||void 0!==this.certActivationDate&&null!==this.certActivationDate?"certExpiryDate"!==t||void 0!==this.certExpiryDate&&null!==this.certExpiryDate?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("certExpiryDate","undefined or null"):new P("certActivationDate","undefined or null")}}function mo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function $o(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.publicCertificate=void 0,vo.prototype.privateKey=void 0,vo.prototype.certActivationDate=void 0,vo.prototype.certExpiryDate=void 0,vo.prototype.$reserved=void 0,vo.prototype.$objectType=void 0,vo.prototype.$unknownFields=void 0;var wo=new WeakSet;class fo extends tt{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=wo),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new fo,tt.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(po.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("requestSigningCredential")&&null!==e.requestSigningCredential&&void 0!==e.requestSigningCredential&&t.setRequestSigningCredential(vo.constructFromObject(e.requestSigningCredential)),!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())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getRequestSigningCredential(){return this.requestSigningCredential}setRequestSigningCredential(e){this.requestSigningCredential=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$o(wo,this,bo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$o(wo,this,bo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getRequestSigningCredential()&&null!==this.getRequestSigningCredential()?{requestSigningCredential:this.getRequestSigningCredential().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.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getRequestSigningCredential()&&null!==this.getRequestSigningCredential()?{requestSigningCredential:this.getRequestSigningCredential().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new P("idpMetadataUrl","undefined or null");if(!I.validateMaxLength(this.idpMetadataUrl,2e3))return new P("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.idpMetadataUrl,3))return new P("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new P("idpMetadataXml","undefined or null");if(!I.validateMinLength(this.idpMetadataXml,3))return new P("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new P("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new P("usernameAttribute","undefined or null");if(!I.validateMaxLength(this.usernameAttribute,256))return new P("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!I.validateMinLength(this.usernameAttribute,1))return new P("usernameAttribute","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new P("emailAttribute","undefined or null");if(!I.validateMaxLength(this.emailAttribute,256))return new P("emailAttribute","does not satisfy required maxLength constraint: 256");if(!I.validateMinLength(this.emailAttribute,3))return new P("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new P("groupsAttribute","undefined or null");if(!I.validateMaxLength(this.groupsAttribute,256))return new P("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!I.validateMinLength(this.groupsAttribute,3))return new P("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new P("groupsDelim","undefined or null");if(!I.validateMaxLength(this.groupsDelim,3))return new P("groupsDelim","does not satisfy required maxLength constraint: 3");if(!I.validateMinLength(this.groupsDelim,1))return new P("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new P("redirectURL","undefined or null");if(!I.validateMaxLength(this.redirectURL,2e3))return new P("redirectURL","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.redirectURL,3))return new P("redirectURL","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new P("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new P("customAttributes","undefined or null");if(!I.validateMaxItems(this.customAttributes,25))return new P("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new P("entityIssuer","undefined or null");if(!I.validateMaxLength(this.entityIssuer,2e3))return new P("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.entityIssuer,3))return new P("entityIssuer","does not satisfy required minLength constraint: 3")}if("isSignedAuthnReqEnabled"===t&&(void 0===this.isSignedAuthnReqEnabled||null===this.isSignedAuthnReqEnabled))return new P("isSignedAuthnReqEnabled","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"requestSigningCredential"!==t||void 0!==this.requestSigningCredential&&null!==this.requestSigningCredential?new P(t,"no such property exists"):new P("requestSigningCredential","undefined or null"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("sharedWithProjects","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function bo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}fo.prototype.idpMetadataUrl=void 0,fo.prototype.idpMetadataXml=void 0,fo.prototype.idpMetadata=void 0,fo.prototype.name=void 0,fo.prototype.usernameAttribute="name",fo.prototype.emailAttribute="email",fo.prototype.groupsAttribute=void 0,fo.prototype.groupsDelim=void 0,fo.prototype.redirectURL=void 0,fo.prototype.customAttributes=void 0,fo.prototype.entityIssuer=void 0,fo.prototype.isSignedAuthnReqEnabled=void 0,fo.prototype.projectExtId=void 0,fo.prototype.isSharedWithAllProjects=void 0,fo.prototype.sharedWithProjects=void 0,fo.prototype.createdTime=void 0,fo.prototype.lastUpdatedTime=void 0,fo.prototype.createdBy=void 0,fo.prototype.requestSigningCredential=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var To=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=To),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),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())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$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 E?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}jo.prototype.projectExtId=void 0,jo.prototype.$reserved=void 0,jo.prototype.$objectType=void 0,jo.prototype.$unknownFields=void 0;class ko extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderShareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ko,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(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")}var Oo=new WeakSet;class Eo extends u{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=Oo),t.add(e),this.$objectType="iam.v4.authn.ShareAllSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Eo,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProviderShareAllResponse":t.setData(ko.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Fo(Oo,this,Io).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):Fo(Oo,this,Io).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Io(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 Po(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")}Eo.prototype.metadata=void 0,Eo.prototype.data=void 0,Eo.prototype.$reserved=void 0,Eo.prototype.$objectType=void 0,Eo.prototype.$unknownFields=void 0;var Ao=new WeakSet;class Co extends u{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=Ao),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Co,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProvider":t.setData(fo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Po(Ao,this,Do).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):Po(Ao,this,Do).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Do(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 Uo(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")}Co.prototype.metadata=void 0,Co.prototype.data=void 0,Co.prototype.$reserved=void 0,Co.prototype.$objectType=void 0,Co.prototype.$unknownFields=void 0;var No=new WeakSet;class So extends u{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="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new So,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProvider":t.setData(fo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Uo(No,this,Ro).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):Uo(No,this,Ro).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ro(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}So.prototype.metadata=void 0,So.prototype.data=void 0,So.prototype.$reserved=void 0,So.prototype.$objectType=void 0,So.prototype.$unknownFields=void 0;class xo extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderShareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new xo,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function Lo(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 Mo=new WeakSet;class Jo extends u{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="iam.v4.authn.ShareSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Jo,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProviderShareResponse":t.setData(xo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Lo(Mo,this,_o).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):Lo(Mo,this,_o).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function _o(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 Wo(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")}Jo.prototype.metadata=void 0,Jo.prototype.data=void 0,Jo.prototype.$reserved=void 0,Jo.prototype.$objectType=void 0,Jo.prototype.$unknownFields=void 0;var Ko=new WeakSet;class qo extends u{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=Ko),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new qo,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.SamlIdentityProvider":t.setData(fo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Wo(Ko,this,Bo).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):Wo(Ko,this,Bo).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Bo(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 zo(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")}qo.prototype.metadata=void 0,qo.prototype.data=void 0,qo.prototype.$reserved=void 0,qo.prototype.$objectType=void 0,qo.prototype.$unknownFields=void 0;var Go=new WeakSet;class Vo extends u{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=Go),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new Vo,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.SamlIdentityProvider"===a?(s=fo.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):zo(Go,this,Ho).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):zo(Go,this,Ho).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ho(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 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.metadata=void 0,Vo.prototype.data=void 0,Vo.prototype.$reserved=void 0,Vo.prototype.$objectType=void 0,Vo.prototype.$unknownFields=void 0;var Xo=new WeakSet;class Zo extends u{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=Xo),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zo,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"ByteArray":default:t.setData(e.data);break;case"iam.v4.error.ErrorResponse":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):Yo(Xo,this,Qo).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):Yo(Xo,this,Qo).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Qo(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}Zo.prototype.metadata=void 0,Zo.prototype.data=void 0,Zo.prototype.$reserved=void 0,Zo.prototype.$objectType=void 0,Zo.prototype.$unknownFields=void 0;const ea={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",PROPAGATED:"PROPAGATED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ea).find(t=>ea[t]===e);return null==t?ea.$UNKNOWN:ea[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ea.$UNKNOWN:case ea.$REDACTED:case ea.SAML:case ea.LDAP:case ea.PROPAGATED:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP|PROPAGATED }")}}};Object.freeze(ea);const ta=ea;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")}var ia=new WeakSet;class sa extends tt{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="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new sa,tt.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType(ta.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:na(ia,this,ra).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:na(ia,this,ra).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new P("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new P("idpId","undefined or null");if(!I.validatePattern(this.idpId,/^[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 P("idpId","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 P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new P("distinguishedName","undefined or null");if(!I.validateMaxLength(this.distinguishedName,255))return new P("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null")}}function ra(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function oa(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")}sa.prototype.groupType=void 0,sa.prototype.idpId=void 0,sa.prototype.name=void 0,sa.prototype.distinguishedName=void 0,sa.prototype.createdTime=void 0,sa.prototype.lastUpdatedTime=void 0,sa.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var aa=new WeakSet;class da extends u{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="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new da,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):oa(aa,this,la).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):oa(aa,this,la).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function la(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 ha(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")}da.prototype.metadata=void 0,da.prototype.data=void 0,da.prototype.$reserved=void 0,da.prototype.$objectType=void 0,da.prototype.$unknownFields=void 0;var ua=new WeakSet;class ca extends u{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="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new ca,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.UserGroup"===a?(s=sa.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):ha(ua,this,pa).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):ha(ua,this,pa).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function pa(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 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")}ca.prototype.metadata=void 0,ca.prototype.data=void 0,ca.prototype.$reserved=void 0,ca.prototype.$objectType=void 0,ca.prototype.$unknownFields=void 0;var ga=new WeakSet;class va extends u{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=ga),t.add(e),this.$objectType="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new va,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.UserGroup":t.setData(sa.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):ya(ga,this,ma).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):ya(ga,this,ma).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function ma(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")}va.prototype.metadata=void 0,va.prototype.data=void 0,va.prototype.$reserved=void 0,va.prototype.$objectType=void 0,va.prototype.$unknownFields=void 0;var wa=new WeakSet;class fa extends u{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=wa),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fa,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.UserGroup":t.setData(sa.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):$a(wa,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):$a(wa,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}fa.prototype.metadata=void 0,fa.prototype.data=void 0,fa.prototype.$reserved=void 0,fa.prototype.$objectType=void 0,fa.prototype.$unknownFields=void 0;var Ta=new WeakSet;class ja{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=Ta),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ja,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),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())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new P("apiKey","undefined or null");if(!I.validateMaxLength(this.apiKey,32))return new P("apiKey","does not satisfy required maxLength constraint: 32");if(!I.validateMinLength(this.apiKey,32))return new P("apiKey","does not satisfy required minLength constraint: 32")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}ja.prototype.apiKey=void 0,ja.prototype.$reserved=void 0,ja.prototype.$objectType=void 0,ja.prototype.$unknownFields=void 0;const ka={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ka).find(t=>ka[t]===e);return null==t?ka.$UNKNOWN:ka[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ka.$UNKNOWN:case ka.$REDACTED:case ka.PREDEFINED:case ka.USERDEFINED:case ka.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(ka);const Fa=ka,Oa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",PRIVATE_KEY:"PRIVATE_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oa).find(t=>Oa[t]===e);return null==t?Oa.$UNKNOWN:Oa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oa.$UNKNOWN:case Oa.$REDACTED:case Oa.API_KEY:case Oa.OBJECT_KEY:case Oa.PRIVATE_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY|PRIVATE_KEY }")}}};Object.freeze(Oa);const Ea=Oa,Ia={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ia).find(t=>Ia[t]===e);return null==t?Ia.$UNKNOWN:Ia[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ia.$UNKNOWN:case Ia.$REDACTED:case Ia.VALID:case Ia.REVOKED:case Ia.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(Ia);const Pa=Ia;var Aa=new WeakSet;class Ca{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=Aa),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ca,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),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())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new P("secretKey","undefined or null");if(!I.validateMaxLength(this.secretKey,24))return new P("secretKey","does not satisfy required maxLength constraint: 24");if(!I.validateMinLength(this.secretKey,24))return new P("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new P("accessKey","undefined or null");if(!I.validateMaxLength(this.accessKey,24))return new P("accessKey","does not satisfy required maxLength constraint: 24");if(!I.validateMinLength(this.accessKey,24))return new P("accessKey","does not satisfy required minLength constraint: 24")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function Da(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")}Ca.prototype.secretKey=void 0,Ca.prototype.accessKey=void 0,Ca.prototype.$reserved=void 0,Ca.prototype.$objectType=void 0,Ca.prototype.$unknownFields=void 0;var Ua=new WeakSet;class Na extends tt{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=Ua),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Na,tt.constructFromObject(e,t,!0),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("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(Ea.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Fa.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Pa.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(ja.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Ca.constructFromObject(e.keyDetails,void 0));break;default:t.setKeyDetails(e.keyDetails)}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}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Da(Ua,this,Ra).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Da(Ua,this,Ra).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Da(Ua,this,Ra).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Da(Ua,this,Ra).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Da(Ua,this,Sa).call(this,this.getKeyDetails(),!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.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Da(Ua,this,Ra).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$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 E?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new P("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new P("lastUpdatedBy","undefined or null");if(!I.validatePattern(this.lastUpdatedBy,/^[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 P("lastUpdatedBy","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("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new P("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new P("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new P("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new P("createdBy","undefined or null");if(!I.validatePattern(this.createdBy,/^[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 P("createdBy","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("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new P("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new P("assignedTo","undefined or null");if(!I.validateMaxLength(this.assignedTo,255))return new P("assignedTo","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.assignedTo,3))return new P("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new P(t,"no such property exists"):new P("keyDetails","undefined or null"):new P("lastUsedTime","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){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xa(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")}Na.prototype.name=void 0,Na.prototype.description=void 0,Na.prototype.keyType=void 0,Na.prototype.createdTime=void 0,Na.prototype.lastUpdatedBy=void 0,Na.prototype.creationType=void 0,Na.prototype.expiryTime=void 0,Na.prototype.status=void 0,Na.prototype.createdBy=void 0,Na.prototype.lastUpdatedTime=void 0,Na.prototype.assignedTo=void 0,Na.prototype.lastUsedTime=void 0,Na.prototype.keyDetails=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var La=new WeakSet;class Ma extends u{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=La),t.add(e),this.$objectType="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ma,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.Key":t.setData(Na.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):xa(La,this,Ja).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):xa(La,this,Ja).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Ja(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}Ma.prototype.metadata=void 0,Ma.prototype.data=void 0,Ma.prototype.$reserved=void 0,Ma.prototype.$objectType=void 0,Ma.prototype.$unknownFields=void 0;class _a extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _a,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}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 Ka=new WeakSet;class qa extends u{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="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new qa,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.PasswordResetResponse":t.setData(_a.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Wa(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):Wa(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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("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}qa.prototype.metadata=void 0,qa.prototype.data=void 0,qa.prototype.$reserved=void 0,qa.prototype.$objectType=void 0,qa.prototype.$unknownFields=void 0;const za={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(za).find(t=>za[t]===e);return null==t?za.$UNKNOWN:za[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case za.$UNKNOWN:case za.$REDACTED:case za.ACTIVE:case za.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(za);const Ga=za;var Va=new WeakSet;class Ha{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=Va),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ha,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ga.constructFromObject(e.status)),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}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()}:{},$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 E?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("status","undefined or null")}}Ha.prototype.status=void 0,Ha.prototype.$reserved=void 0,Ha.prototype.$objectType=void 0,Ha.prototype.$unknownFields=void 0;class Ya extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ya,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function Xa(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 Za=new WeakSet;class Qa extends u{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=Za),t.add(e),this.$objectType="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qa,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.UserStateUpdateResponse":t.setData(Ya.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Xa(Za,this,ed).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):Xa(Za,this,ed).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function ed(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.metadata=void 0,Qa.prototype.data=void 0,Qa.prototype.$reserved=void 0,Qa.prototype.$objectType=void 0,Qa.prototype.$unknownFields=void 0;const td={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(td).find(t=>td[t]===e);return null==t?td.$UNKNOWN:td[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case td.$UNKNOWN:case td.$REDACTED:case td.VALID:case td.REVOKED:case td.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(td);const nd=td;function id(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 sd=new WeakSet;class rd extends tt{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=sd),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rd,tt.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("accessKeyId")&&null!==e.accessKeyId&&void 0!==e.accessKeyId&&t.setAccessKeyId(e.accessKeyId),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Fa.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(nd.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getAccessKeyId(){return this.accessKeyId}setAccessKeyId(e){this.accessKeyId=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAccessKeyId()&&null!==this.getAccessKeyId()?{accessKeyId:this.getAccessKeyId()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:id(sd,this,od).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:id(sd,this,od).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:id(sd,this,od).call(this,this.getLastUpdatedTime(),!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.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:id(sd,this,od).call(this,this.getExpiryTime(),!1)}:{},...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 E?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new P("accessKeyName","undefined or null");if(!I.validateMaxLength(this.accessKeyName,255))return new P("accessKeyName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.accessKeyName,1))return new P("accessKeyName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("accessKeyId"===t&&(void 0===this.accessKeyId||null===this.accessKeyId))return new P("accessKeyId","undefined or null");if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new P("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new P("userId","undefined or null");if(!I.validatePattern(this.userId,/^[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 P("userId","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("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new P("lastUpdatedBy","undefined or null");if(!I.validatePattern(this.lastUpdatedBy,/^[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 P("lastUpdatedBy","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("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new P("assignedTo","undefined or null");if(!I.validateMaxLength(this.assignedTo,255))return new P("assignedTo","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.assignedTo,3))return new P("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new P("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new P("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new P("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new P("createdBy","undefined or null");if(!I.validatePattern(this.createdBy,/^[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 P("createdBy","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"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new P(t,"no such property exists"):new P("lastUpdatedTime","undefined or null")}}function od(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}rd.prototype.accessKeyName=void 0,rd.prototype.accessKeyId=void 0,rd.prototype.secretAccessKey=void 0,rd.prototype.userId=void 0,rd.prototype.createdTime=void 0,rd.prototype.lastUpdatedBy=void 0,rd.prototype.assignedTo=void 0,rd.prototype.creationType=void 0,rd.prototype.expiryTime=void 0,rd.prototype.status=void 0,rd.prototype.createdBy=void 0,rd.prototype.lastUpdatedTime=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const ad={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",PROPAGATED:"PROPAGATED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ad).find(t=>ad[t]===e);return null==t?ad.$UNKNOWN:ad[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ad.$UNKNOWN:case ad.$REDACTED:case ad.LOCAL:case ad.SAML:case ad.LDAP:case ad.EXTERNAL:case ad.SERVICE_ACCOUNT:case ad.PROPAGATED:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT|PROPAGATED }")}}};Object.freeze(ad);const dd=ad;function ld(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 hd=new WeakSet;class ud extends tt{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=hd),t.add(e),this.$objectType="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ud,tt.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(dd.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=L.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ga.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=rd.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Fa.constructFromObject(e.creationType)),e.hasOwnProperty("hasObjectKeys")&&null!==e.hasObjectKeys&&void 0!==e.hasObjectKeys&&t.setHasObjectKeys(e.hasObjectKeys),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!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())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getHasObjectKeys(){return this.hasObjectKeys}setHasObjectKeys(e){this.hasObjectKeys=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:ld(hd,this,cd).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ld(hd,this,cd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ld(hd,this,cd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getHasObjectKeys()&&null!==this.getHasObjectKeys()?{hasObjectKeys:this.getHasObjectKeys()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...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.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,255))return new P("username","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.username,1))return new P("username","does not satisfy required minLength constraint: 1")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new P("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new P("idpId","undefined or null");if(!I.validatePattern(this.idpId,/^[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 P("idpId","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("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new P("firstName","undefined or null");if(!I.validateMaxLength(this.firstName,255))return new P("firstName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.firstName,1))return new P("firstName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new P("middleInitial","undefined or null");if(!I.validateMaxLength(this.middleInitial,255))return new P("middleInitial","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.middleInitial,1))return new P("middleInitial","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new P("lastName","undefined or null");if(!I.validateMaxLength(this.lastName,255))return new P("lastName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.lastName,1))return new P("lastName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new P("emailId","undefined or null");if(!I.validateMaxLength(this.emailId,255))return new P("emailId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new P("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new P("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new P("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new P("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new P("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new P("additionalAttributes","undefined or null");if(!I.validateMaxItems(this.additionalAttributes,10))return new P("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new P("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new P("bucketsAccessKeys","undefined or null");if(!I.validateMaxItems(this.bucketsAccessKeys,5))return new P("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new P("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new P("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new P("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new P("createdBy","undefined or null");if(!I.validatePattern(this.createdBy,/^[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 P("createdBy","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("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new P("lastUpdatedBy","undefined or null");if(!I.validatePattern(this.lastUpdatedBy,/^[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 P("lastUpdatedBy","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"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?"hasObjectKeys"!==t||void 0!==this.hasObjectKeys&&null!==this.hasObjectKeys?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new P(t,"no such property exists"):new P("defaultLandingPagePath","undefined or null"):new P("hasObjectKeys","undefined or null"):new P("creationType","undefined or null"):new P("description","undefined or null")}}function cd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function pd(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")}ud.prototype.username=void 0,ud.prototype.userType=void 0,ud.prototype.idpId=void 0,ud.prototype.displayName=void 0,ud.prototype.firstName=void 0,ud.prototype.middleInitial=void 0,ud.prototype.lastName=void 0,ud.prototype.emailId=void 0,ud.prototype.locale=void 0,ud.prototype.region=void 0,ud.prototype.password=void 0,ud.prototype.isForceResetPasswordEnabled=void 0,ud.prototype.additionalAttributes=void 0,ud.prototype.status=void 0,ud.prototype.bucketsAccessKeys=void 0,ud.prototype.lastLoginTime=void 0,ud.prototype.createdTime=void 0,ud.prototype.lastUpdatedTime=void 0,ud.prototype.createdBy=void 0,ud.prototype.lastUpdatedBy=void 0,ud.prototype.description=void 0,ud.prototype.creationType=void 0,ud.prototype.hasObjectKeys=void 0,ud.prototype.defaultLandingPagePath=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var yd=new WeakSet;class gd extends u{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=yd),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new gd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.Key"===a?(s=Na.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):pd(yd,this,vd).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):pd(yd,this,vd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function vd(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 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")}gd.prototype.metadata=void 0,gd.prototype.data=void 0,gd.prototype.$reserved=void 0,gd.prototype.$objectType=void 0,gd.prototype.$unknownFields=void 0;var $d=new WeakSet;class wd extends u{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=$d),t.add(e),this.$objectType="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.AppMessage":t.setData(Re.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):md($d,this,fd).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):md($d,this,fd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function fd(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 bd(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")}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 Td=new WeakSet;class jd extends u{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=Td),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new jd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.Key":t.setData(Na.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):bd(Td,this,kd).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):bd(Td,this,kd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function kd(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 Fd(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")}jd.prototype.metadata=void 0,jd.prototype.data=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;var Od=new WeakSet;class Ed extends u{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=Od),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ed,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.User":t.setData(ud.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Fd(Od,this,Id).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):Fd(Od,this,Id).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Id(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 Pd(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")}Ed.prototype.metadata=void 0,Ed.prototype.data=void 0,Ed.prototype.$reserved=void 0,Ed.prototype.$objectType=void 0,Ed.prototype.$unknownFields=void 0;var Ad=new WeakSet;class Cd extends u{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=Ad),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new Cd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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(o=[],i=e.data,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.authn.User"===a?(s=ud.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setData(o)}else a=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===a?t.setData(ze.constructFromObject(e.data,void 0)):t.setData(e.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):Pd(Ad,this,Dd).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):Pd(Ad,this,Dd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Dd(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 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")}Cd.prototype.metadata=void 0,Cd.prototype.data=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;var Nd=new WeakSet;class Sd extends u{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=Nd),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Sd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.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):Ud(Nd,this,Rd).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):Ud(Nd,this,Rd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Rd(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 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")}Sd.prototype.metadata=void 0,Sd.prototype.data=void 0,Sd.prototype.$reserved=void 0,Sd.prototype.$objectType=void 0,Sd.prototype.$unknownFields=void 0;var Ld=new WeakSet;class Md extends u{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=Ld),t.add(e),this.$objectType="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Md,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.User":t.setData(ud.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):xd(Ld,this,Jd).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):xd(Ld,this,Jd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Jd(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}Md.prototype.metadata=void 0,Md.prototype.data=void 0,Md.prototype.$reserved=void 0,Md.prototype.$objectType=void 0,Md.prototype.$unknownFields=void 0;var _d=new WeakSet;class Wd{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=_d),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Wd,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),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())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$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 E?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,255))return new P("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("newPassword","undefined or null"):new P("oldPassword","undefined or null")}}function Kd(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")}Wd.prototype.username=void 0,Wd.prototype.oldPassword=void 0,Wd.prototype.newPassword=void 0,Wd.prototype.$reserved=void 0,Wd.prototype.$objectType=void 0,Wd.prototype.$unknownFields=void 0;var qd=new WeakSet;class Bd extends u{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=qd),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Bd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.User":t.setData(ud.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Kd(qd,this,zd).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):Kd(qd,this,zd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function zd(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}Bd.prototype.metadata=void 0,Bd.prototype.data=void 0,Bd.prototype.$reserved=void 0,Bd.prototype.$objectType=void 0,Bd.prototype.$unknownFields=void 0;var Gd=new WeakSet;class Vd{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=Gd),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vd,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),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())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$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 E?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("newPassword","undefined or null")}}Vd.prototype.newPassword=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;class Hd extends Qt{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hd,Qt.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 E?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function Yd(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 Xd=new WeakSet;class Zd extends u{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=Xd),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zd,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.PasswordChangeResponse":t.setData(Hd.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):Yd(Xd,this,Qd).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):Yd(Xd,this,Qd).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function Qd(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 el(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")}Zd.prototype.metadata=void 0,Zd.prototype.data=void 0,Zd.prototype.$reserved=void 0,Zd.prototype.$objectType=void 0,Zd.prototype.$unknownFields=void 0;var tl=new WeakSet;class nl{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=tl),t.add(e),this.$objectType="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nl,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),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())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:el(tl,this,il).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:el(tl,this,il).call(this,this.getLastUpdatedTime(),!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.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new P("content","undefined or null");if(!I.validateMaxLength(this.content,1e4))return new P("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("isEnabled","undefined or null")}}function il(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function sl(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")}nl.prototype.content=void 0,nl.prototype.isEnabled=!0,nl.prototype.createdTime=void 0,nl.prototype.lastUpdatedTime=void 0,nl.prototype.$reserved=void 0,nl.prototype.$objectType=void 0,nl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol extends u{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=rl),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ol,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.WelcomeBanner":t.setData(nl.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):sl(rl,this,al).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):sl(rl,this,al).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function al(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 dl(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")}ol.prototype.metadata=void 0,ol.prototype.data=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;var ll=new WeakSet;class hl extends u{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=ll),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new hl,e.hasOwnProperty("metadata")&&u.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(V.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"iam.v4.authn.WelcomeBanner":t.setData(nl.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(ze.constructFromObject(e.data,void 0));break;default:t.setData(e.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):dl(ll,this,ul).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):dl(ll,this,ul).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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("data","undefined or null"):new P("metadata","undefined or null")}}function ul(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}hl.prototype.metadata=void 0,hl.prototype.data=void 0,hl.prototype.$reserved=void 0,hl.prototype.$objectType=void 0,hl.prototype.$unknownFields=void 0;const cl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(cl).find(t=>cl[t]===e);return null==t?cl.$UNKNOWN:cl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case cl.$UNKNOWN:case cl.$REDACTED:case cl.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(cl);const pl=cl,yl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(yl).find(t=>yl[t]===e);return null==t?yl.$UNKNOWN:yl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case yl.$UNKNOWN:case yl.$REDACTED:case yl.CLIENT_SECRET_BASIC:case yl.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(yl);const gl=yl;var vl=new WeakSet;class ml{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=vl),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ml,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),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())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new P("authCodeUri","undefined or null");if(!I.validateMaxLength(this.authCodeUri,2e3))return new P("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!I.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}ml.prototype.authCodeUri=void 0,ml.prototype.$reserved=void 0,ml.prototype.$objectType=void 0,ml.prototype.$unknownFields=void 0;const $l={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($l).find(t=>$l[t]===e);return null==t?$l.$UNKNOWN:$l[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $l.$UNKNOWN:case $l.$REDACTED:case $l.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze($l);const wl=$l;var fl=new WeakSet;class bl{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=fl),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bl,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(wl.constructFromObject(e.migrationType)),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())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$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 E?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("migrationType","undefined or null")}}bl.prototype.migrationType=void 0,bl.prototype.$reserved=void 0,bl.prototype.$objectType=void 0,bl.prototype.$unknownFields=void 0;var Tl=new WeakSet;class jl{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=Tl),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jl,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),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())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$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 E?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new P("relayState","undefined or null");if(!I.validateMaxLength(this.relayState,255))return new P("relayState","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.relayState,1))return new P("relayState","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}jl.prototype.relayState=void 0,jl.prototype.$reserved=void 0,jl.prototype.$objectType=void 0,jl.prototype.$unknownFields=void 0;const kl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kl).find(t=>kl[t]===e);return null==t?kl.$UNKNOWN:kl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kl.$UNKNOWN:case kl.$REDACTED:case kl.UUID:case kl.TENANT_UUID:case kl.SUB:case kl.EMAIL:case kl.DISPLAY_NAME:case kl.GROUPS:case kl.ISS:case kl.AUD:case kl.EXP:case kl.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(kl);const Fl=kl;var Ol=new WeakSet;class El extends tt{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=Ol),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new El,tt.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 E?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1")}return new P(t,"no such property exists")}}El.prototype.name=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Il=new WeakSet;class Pl extends tt{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=Il),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pl,tt.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 E?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1")}return new P(t,"no such property exists")}}Pl.prototype.name=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Al=new WeakSet;class Cl{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Al),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cl,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=El.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Pl.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}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())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().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 E?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new P("userId","undefined or null");if(!I.validatePattern(this.userId,/^[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 P("userId","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("groups"===t){if(void 0===this.groups||null===this.groups)return new P("groups","undefined or null");if(!I.validateMaxItems(this.groups,20))return new P("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new P("ous","undefined or null");if(!I.validateMaxItems(this.ous,20))return new P("ous","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Cl.prototype.userId=void 0,Cl.prototype.groups=void 0,Cl.prototype.ous=void 0,Cl.prototype.$reserved=void 0,Cl.prototype.$objectType=void 0,Cl.prototype.$unknownFields=void 0;const Dl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Dl).find(t=>Dl[t]===e);return null==t?Dl.$UNKNOWN:Dl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Dl.$UNKNOWN:case Dl.$REDACTED:case Dl.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Dl);const Ul=Dl;var Nl=new WeakSet;class Sl{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=Nl),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sl,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),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}getEmail(){return this.email}setEmail(e){this.email=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.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,16))return new P("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new P("email","undefined or null");if(!I.validateMaxLength(this.email,16))return new P("email","does not satisfy required maxLength constraint: 16")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function Rl(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")}Sl.prototype.name=void 0,Sl.prototype.email=void 0,Sl.prototype.$reserved=void 0,Sl.prototype.$objectType=void 0,Sl.prototype.$unknownFields=void 0;var xl=new WeakSet;class Ll extends tt{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=xl),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ll,tt.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(Sl.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Rl(xl,this,Ml).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Rl(xl,this,Ml).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new P("wellKnownConfig","undefined or null");if(!I.validateMaxLength(this.wellKnownConfig,2e3))return new P("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.wellKnownConfig,3))return new P("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new P("idpId","undefined or null");if(!I.validatePattern(this.idpId,/^[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 P("idpId","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("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new P("cloudTenant","undefined or null");if(!I.validatePattern(this.cloudTenant,/^[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 P("cloudTenant","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("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new P("cloudApiKey","undefined or null");if(!I.validateMaxLength(this.cloudApiKey,128))return new P("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("claimMap","undefined or null")}}function Ml(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ll.prototype.wellKnownConfig=void 0,Ll.prototype.idpId=void 0,Ll.prototype.cloudTenant=void 0,Ll.prototype.cloudApiKey=void 0,Ll.prototype.claimMap=void 0,Ll.prototype.createdTime=void 0,Ll.prototype.lastUpdatedTime=void 0,Ll.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const Jl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Jl).find(t=>Jl[t]===e);return null==t?Jl.$UNKNOWN:Jl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Jl.$UNKNOWN:case Jl.$REDACTED:case Jl.AUTHORIZATION_CODE:case Jl.REFRESH_TOKEN:case Jl.CLIENT_CREDENTIALS:case Jl.PASSWORD:case Jl.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(Jl);const _l=Jl;var Wl=new WeakSet;class Kl extends tt{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=Wl),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kl,tt.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new P(t,"no such property exists")}}Kl.prototype.name=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var ql=new WeakSet;class Bl{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=ql),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bl,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),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())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$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 E?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("maxKeyCount","undefined or null")}}Bl.prototype.maxKeyCount=void 0,Bl.prototype.$reserved=void 0,Bl.prototype.$objectType=void 0,Bl.prototype.$unknownFields=void 0;const zl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zl).find(t=>zl[t]===e);return null==t?zl.$UNKNOWN:zl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zl.$UNKNOWN:case zl.$REDACTED:case zl.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(zl);const Gl=zl,Vl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vl).find(t=>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.ID_TOKEN:case Vl.CODE:case Vl.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(Vl);const Hl=Vl,Yl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Yl).find(t=>Yl[t]===e);return null==t?Yl.$UNKNOWN:Yl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Yl.$UNKNOWN:case Yl.$REDACTED:case Yl.OPENID:case Yl.PROFILE:case Yl.EMAIL:case Yl.OFFLINE_ACCESS:case Yl.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(Yl);const Xl=Yl;var Zl=new WeakSet;class Ql extends tt{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=Zl),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ql,tt.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Hl.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=Xl.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!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())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...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.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new P("clientId","undefined or null");if(!I.validatePattern(this.clientId,/^[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 P("clientId","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("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new P("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new P("scope","undefined or null");if(!I.validateMaxItems(this.scope,10))return new P("scope","does not satisfy required maxItems constraint: 10");if(!I.validateMinItems(this.scope,1))return new P("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new P("redirectUri","undefined or null");if(!I.validateMaxLength(this.redirectUri,2e3))return new P("redirectUri","does not satisfy required maxLength constraint: 2000");if(!I.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new P("nonce","undefined or null");if(!I.validateMaxLength(this.nonce,2e3))return new P("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new P("state","undefined or null");if(!I.validateMaxLength(this.state,2e3))return new P("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new P("audience","undefined or null");if(!I.validateMaxLength(this.audience,2e3))return new P("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new P("approvalPrompt","undefined or null");if(!I.validateMaxLength(this.approvalPrompt,2e3))return new P("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new P("loginProviderId","undefined or null");if(!I.validatePattern(this.loginProviderId,/^[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 P("loginProviderId","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"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new P(t,"no such property exists"):new P("isServiceProviderEnabled","undefined or null"):new P("isUserLoggedIn","undefined or null")}}function eh(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")}Ql.prototype.clientId=void 0,Ql.prototype.responseType=void 0,Ql.prototype.scope=void 0,Ql.prototype.redirectUri=void 0,Ql.prototype.nonce=void 0,Ql.prototype.state=void 0,Ql.prototype.audience=void 0,Ql.prototype.approvalPrompt=void 0,Ql.prototype.loginProviderId=void 0,Ql.prototype.isUserLoggedIn=void 0,Ql.prototype.isServiceProviderEnabled=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var th=new WeakSet;class nh{constructor(e,t,n,i,s,r,o,a,d,l){var h,u;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(h=this,u=th),u.add(h),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nh,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(dd.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Fa.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),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())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:eh(th,this,ih).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:eh(th,this,ih).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$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 E?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new P("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new P("emailId","undefined or null");if(!I.validateMaxLength(this.emailId,255))return new P("emailId","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new P("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new P("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new P("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new P("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 P("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}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new P("idpId","undefined or null");if(!I.validatePattern(this.idpId,/^[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 P("idpId","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("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,255))return new P("username","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.username,1))return new P("username","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new P("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new P("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new P("assignedTo","undefined or null");if(!I.validateMaxLength(this.assignedTo,255))return new P("assignedTo","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.assignedTo,3))return new P("assignedTo","does not satisfy required minLength constraint: 3")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function ih(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}nh.prototype.secretAccessKey=void 0,nh.prototype.emailId=void 0,nh.prototype.userId=void 0,nh.prototype.userType=void 0,nh.prototype.tenantId=void 0,nh.prototype.idpId=void 0,nh.prototype.username=void 0,nh.prototype.creationType=void 0,nh.prototype.customClaims=void 0,nh.prototype.assignedTo=void 0,nh.prototype.$reserved=void 0,nh.prototype.$objectType=void 0,nh.prototype.$unknownFields=void 0;var sh=new WeakSet;class rh{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=sh),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rh,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),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())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$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 E?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("accessKey","undefined or null")}}rh.prototype.accessKey=void 0,rh.prototype.$reserved=void 0,rh.prototype.$objectType=void 0,rh.prototype.$unknownFields=void 0;const oh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(oh).find(t=>oh[t]===e);return null==t?oh.$UNKNOWN:oh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case oh.$UNKNOWN:case oh.$REDACTED:case oh.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(oh);const ah=oh;var dh=new WeakSet;class lh{constructor(e,t,n,i,s,r,o){(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,dh),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lh,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(pl.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(ah.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(Gl.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),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())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$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 E?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("e","undefined or null"):new P("n","undefined or null"):new P("x5c","undefined or null"):new P("kid","undefined or null"):new P("kty","undefined or null"):new P("use","undefined or null"):new P("alg","undefined or null")}}lh.prototype.alg=void 0,lh.prototype.use=void 0,lh.prototype.kty=void 0,lh.prototype.kid=void 0,lh.prototype.x5c=void 0,lh.prototype.n=void 0,lh.prototype.e=void 0,lh.prototype.$reserved=void 0,lh.prototype.$objectType=void 0,lh.prototype.$unknownFields=void 0;const hh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hh).find(t=>hh[t]===e);return null==t?hh.$UNKNOWN:hh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hh.$UNKNOWN:case hh.$REDACTED:case hh.LOCAL:case hh.LDAP:case hh.SAML:case hh.CERT:case hh.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(hh);const uh=hh;var ch=new WeakSet;class ph extends tt{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=ch),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ph,tt.constructFromObject(e,t,!0),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())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...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.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new P(t,"no such property exists")}}function yh(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")}ph.prototype.name=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var gh=new WeakSet;class vh extends tt{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=gh),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new vh,tt.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(uh.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=Kl.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(ph.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ga.constructFromObject(e.status)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),!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())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:yh(gh,this,mh).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...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.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:yh(gh,this,mh).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new P("iss","undefined or null");if(!I.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new P("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new P("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new P("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new P("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new P("email","undefined or null");if(!I.validateMaxLength(this.email,255))return new P("email","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new P("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new P("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new P("userId","undefined or null");if(!I.validatePattern(this.userId,/^[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 P("userId","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("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new P("connectorId","undefined or null");if(!I.validatePattern(this.connectorId,/^[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 P("connectorId","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("groups"===t){if(void 0===this.groups||null===this.groups)return new P("groups","undefined or null");if(!I.validateMaxItems(this.groups,25))return new P("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new P("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new P("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new P("legacyRoles","undefined or null");if(!I.validateMaxItems(this.legacyRoles,5))return new P("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new P("firstName","undefined or null");if(!I.validateMaxLength(this.firstName,255))return new P("firstName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.firstName,1))return new P("firstName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new P("middleInitial","undefined or null");if(!I.validateMaxLength(this.middleInitial,255))return new P("middleInitial","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.middleInitial,1))return new P("middleInitial","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new P("lastName","undefined or null");if(!I.validateMaxLength(this.lastName,255))return new P("lastName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.lastName,1))return new P("lastName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new P("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new P("region","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new P("status","undefined or null");if("defaultLandingPagePath"===t&&(void 0===this.defaultLandingPagePath||null===this.defaultLandingPagePath))return new P("defaultLandingPagePath","undefined or null");if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new P(t,"no such property exists")}}function mh(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 $h(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")}vh.prototype.iss=void 0,vh.prototype.sub=void 0,vh.prototype.subType=void 0,vh.prototype.exp=void 0,vh.prototype.iat=void 0,vh.prototype.email=void 0,vh.prototype.isEmailVerified=void 0,vh.prototype.name=void 0,vh.prototype.userId=void 0,vh.prototype.connectorId=void 0,vh.prototype.groups=void 0,vh.prototype.tenant=void 0,vh.prototype.customClaims=void 0,vh.prototype.legacyRoles=void 0,vh.prototype.firstName=void 0,vh.prototype.middleInitial=void 0,vh.prototype.lastName=void 0,vh.prototype.locale=void 0,vh.prototype.region=void 0,vh.prototype.status=void 0,vh.prototype.defaultLandingPagePath=void 0,vh.prototype.displayName=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var wh=new WeakSet;class fh extends tt{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=wh),t.add(e),this.$objectType="iam.v4.authn.PropagatedConnector",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new fh,tt.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(ys.constructFromObject(e.type)),e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getType(){return this.type}setType(e){this.type=e}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$h(wh,this,bh).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$h(wh,this,bh).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new P("name","undefined or null");if(!I.validateMaxLength(this.name,255))return new P("name","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.name,1))return new P("name","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new P("domainName","undefined or null");if(!I.validateMaxLength(this.domainName,255))return new P("domainName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.domainName,3))return new P("domainName","does not satisfy required minLength constraint: 3");if(!I.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("type"===t&&(void 0===this.type||null===this.type))return new P("type","undefined or null");if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new P("entityId","undefined or null");if(!I.validateMaxLength(this.entityId,2e3))return new P("entityId","does not satisfy required maxLength constraint: 2000");if(!I.validateMinLength(this.entityId,3))return new P("entityId","does not satisfy required minLength constraint: 3")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("sharedWithProjects","undefined or null"):new P("isSharedWithAllProjects","undefined or null")}}function bh(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}fh.prototype.name=void 0,fh.prototype.domainName=void 0,fh.prototype.type=void 0,fh.prototype.entityId=void 0,fh.prototype.projectExtId=void 0,fh.prototype.isSharedWithAllProjects=void 0,fh.prototype.sharedWithProjects=void 0,fh.prototype.createdTime=void 0,fh.prototype.lastUpdatedTime=void 0,fh.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const Th={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Th).find(t=>Th[t]===e);return null==t?Th.$UNKNOWN:Th[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Th.$UNKNOWN:case Th.$REDACTED:case Th.OPENID:case Th.PROFILE:case Th.EMAIL:case Th.GROUPS:case Th.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze(Th);const jh=Th,kh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kh).find(t=>kh[t]===e);return null==t?kh.$UNKNOWN:kh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kh.$UNKNOWN:case kh.$REDACTED:case kh.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(kh);const Fh=kh,Oh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oh).find(t=>Oh[t]===e);return null==t?Oh.$UNKNOWN:Oh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oh.$UNKNOWN:case Oh.$REDACTED:case Oh.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case Oh.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(Oh);const Eh=Oh;function Ih(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 Ph=new WeakSet;class Ah{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=Ph),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ah,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=L.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),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())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ih(Ph,this,Ch).call(this,this.getLastUpdatedTime(),!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.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().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 E?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new P("nameValuePair","undefined or null");if(!I.validateMaxItems(this.nameValuePair,10))return new P("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("lastUpdatedTime","undefined or null")}}function Ch(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ah.prototype.nameValuePair=void 0,Ah.prototype.lastUpdatedTime=void 0,Ah.prototype.$reserved=void 0,Ah.prototype.$objectType=void 0,Ah.prototype.$unknownFields=void 0;var Dh=new WeakSet;class Uh{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=Dh),i.add(n),this.grantType=e,this.clientId=t,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Uh,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(_l.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(Eh.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),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())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$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 E?n=["grantType","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new P("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new P("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new P("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new P("scope","undefined or null");if(!I.validateMaxLength(this.scope,100))return new P("scope","does not satisfy required maxLength constraint: 100");if(!I.validateMinLength(this.scope,1))return new P("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new P("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new P("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new P("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new P("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new P("redirectUri","undefined or null");if(!I.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new P("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("nonTenantIssuer","undefined or null"):new P("subjectTokenType","undefined or null"):new P("subjectToken","undefined or null"):new P("audience","undefined or null")}}Uh.prototype.grantType=void 0,Uh.prototype.code=void 0,Uh.prototype.connectorId=void 0,Uh.prototype.scope=void 0,Uh.prototype.refreshToken=void 0,Uh.prototype.clientId=void 0,Uh.prototype.clientAssertionType=void 0,Uh.prototype.clientAssertion=void 0,Uh.prototype.redirectUri=void 0,Uh.prototype.audience=void 0,Uh.prototype.subjectToken=void 0,Uh.prototype.subjectTokenType=void 0,Uh.prototype.nonTenantIssuer=void 0,Uh.prototype.$reserved=void 0,Uh.prototype.$objectType=void 0,Uh.prototype.$unknownFields=void 0;var Nh=new WeakSet;class Sh{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=Nh),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sh,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),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())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$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 E?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new P("username","undefined or null");if(!I.validateMaxLength(this.username,255))return new P("username","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.username,1))return new P("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new P("password","undefined or null");if(!I.validateMaxLength(this.password,255))return new P("password","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.password,1))return new P("password","does not satisfy required minLength 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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function Rh(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")}Sh.prototype.username=void 0,Sh.prototype.password=void 0,Sh.prototype.$reserved=void 0,Sh.prototype.$objectType=void 0,Sh.prototype.$unknownFields=void 0;var xh=new WeakSet;class Lh extends di{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=xh),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Lh,di.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Rh(xh,this,Mh).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Rh(xh,this,Mh).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...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.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new P(t,"no such property exists"):new P("isInternal","undefined or null"):new P("opaquedata","undefined or null")}}function Mh(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Lh.prototype.opaquedata=void 0,Lh.prototype.isInternal=!1,di.prototype.identities=void 0,di.prototype.projectExtId=void 0,di.prototype.isSharedWithAllProjects=void 0,di.prototype.createdTime=void 0,di.prototype.lastUpdatedTime=void 0,di.prototype.createdBy=void 0,di.prototype.isSystemDefined=!0,di.prototype.authorizationPolicyType=void 0,di.prototype.assignedUsersCount=void 0,di.prototype.assignedUserGroupsCount=void 0,ii.prototype.displayName=void 0,ii.prototype.description=void 0,ii.prototype.clientName=void 0,ii.prototype.entities=void 0,ii.prototype.role=void 0,ii.prototype.isGlobal=!1,ii.prototype.domainExtIds=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const Jh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Jh).find(t=>Jh[t]===e);return null==t?Jh.$UNKNOWN:Jh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Jh.$UNKNOWN:case Jh.$REDACTED:case Jh.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(Jh);const _h=Jh;var Wh=new WeakSet;class Kh{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=Wh),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kh,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(_h.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),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())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("attributes","undefined or null"):new P("identityType","undefined or null")}}Kh.prototype.identityType=void 0,Kh.prototype.attributes=void 0,Kh.prototype.$reserved=void 0,Kh.prototype.$objectType=void 0,Kh.prototype.$unknownFields=void 0;var qh=new WeakSet;class Bh{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=qh),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bh,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),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())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$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 E?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("attributes","undefined or null"):new P("operation","undefined or null"):new P("type","undefined or null")}}Bh.prototype.type=void 0,Bh.prototype.operation=void 0,Bh.prototype.attributes=void 0,Bh.prototype.$reserved=void 0,Bh.prototype.$objectType=void 0,Bh.prototype.$unknownFields=void 0;const zh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zh).find(t=>zh[t]===e);return null==t?zh.$UNKNOWN:zh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zh.$UNKNOWN:case zh.$REDACTED:case zh.BOOLEANRESPONSE:case zh.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(zh);const Gh=zh;var Vh=new WeakSet;class Hh{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=Vh),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hh,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Gh.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(Bh.constructFromObject(e.entity)),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())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().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 E?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("entity","undefined or null"):new P("responseType","undefined or null"):new P("requestID","undefined or null")}}Hh.prototype.requestID=void 0,Hh.prototype.responseType=void 0,Hh.prototype.entity=void 0,Hh.prototype.$reserved=void 0,Hh.prototype.$objectType=void 0,Hh.prototype.$unknownFields=void 0;var Yh=new WeakSet;class Xh{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=Yh),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xh,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(Kh.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=Hh.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}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())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().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 E?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new P("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new P("requestList","undefined or null");if(!I.validateMaxItems(this.requestList,25))return new P("requestList","does not satisfy required maxItems constraint: 25");if(!I.validateMinItems(this.requestList,1))return new P("requestList","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Xh.prototype.identity=void 0,Xh.prototype.requestList=void 0,Xh.prototype.$reserved=void 0,Xh.prototype.$objectType=void 0,Xh.prototype.$unknownFields=void 0;var Zh=new WeakSet;class Qh{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=Zh),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qh,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Gh.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),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())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"message"!==t||void 0!==this.message&&null!==this.message?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("message","undefined or null"):new P("filters","undefined or null"):new P("authorized","undefined or null"):new P("responseType","undefined or null"):new P("requestId","undefined or null")}}Qh.prototype.requestId=void 0,Qh.prototype.responseType=void 0,Qh.prototype.authorized=void 0,Qh.prototype.filters=void 0,Qh.prototype.message=void 0,Qh.prototype.$reserved=void 0,Qh.prototype.$objectType=void 0,Qh.prototype.$unknownFields=void 0;var eu=new WeakSet;class tu{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=eu),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new tu,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=Qh.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}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())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new P("response","undefined or null");if(!I.validateMaxItems(this.response,25))return new P("response","does not satisfy required maxItems constraint: 25");if(!I.validateMinItems(this.response,1))return new P("response","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}tu.prototype.response=void 0,tu.prototype.$reserved=void 0,tu.prototype.$objectType=void 0,tu.prototype.$unknownFields=void 0;var nu=new WeakSet;class iu extends tt{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=nu),t.add(e),this.$objectType="iam.v4.authz.AuthzMigrationFlags",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new iu,tt.constructFromObject(e,t,!0),e.hasOwnProperty("flagName")&&null!==e.flagName&&void 0!==e.flagName&&t.setFlagName(e.flagName),e.hasOwnProperty("flagValue")&&null!==e.flagValue&&void 0!==e.flagValue&&t.setFlagValue(e.flagValue),!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())}getFlagName(){return this.flagName}setFlagName(e){this.flagName=e}getFlagValue(){return this.flagValue}setFlagValue(e){this.flagValue=e}toJson(e){return!1===e?{...void 0!==this.getFlagName()&&null!==this.getFlagName()?{flagName:this.getFlagName()}:{},...void 0!==this.getFlagValue()&&null!==this.getFlagValue()?{flagValue:this.getFlagValue()}:{},...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.getFlagName()&&null!==this.getFlagName()?{flagName:this.getFlagName()}:{},...void 0!==this.getFlagValue()&&null!==this.getFlagValue()?{flagValue:this.getFlagValue()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"flagName"!==t||void 0!==this.flagName&&null!==this.flagName?"flagValue"!==t||void 0!==this.flagValue&&null!==this.flagValue?new P(t,"no such property exists"):new P("flagValue","undefined or null"):new P("flagName","undefined or null")}}iu.prototype.flagName=void 0,iu.prototype.flagValue=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const su={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE:"SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE",MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP:"MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(su).find(t=>su[t]===e);return null==t?su.$UNKNOWN:su[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case su.$UNKNOWN:case su.$REDACTED:case su.REMOVE_AP_TENANT_ID_FILTERS:case su.NC_USER_AP_TO_USER_DEFINED:case su.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case su.REMOVE_CLIENT_FOUNDATION_CENTRAL:case su.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case su.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:case su.SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE:case su.MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION|SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE|MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP }")}}};Object.freeze(su);const ru=su;var ou=new WeakSet;class au{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=ou),i.add(n),this.identityExtId=e,this.idpExtId=t,this.$objectType="iam.v4.authz.IdentityIdpMapping",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new au,e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("idpExtId")&&null!==e.idpExtId&&void 0!==e.idpExtId&&t.setIdpExtId(e.idpExtId),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())}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getIdpExtId(){return this.idpExtId}setIdpExtId(e){this.idpExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$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 E?n=["identityExtId","idpExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new P("identityExtId","undefined or null");if(!I.validatePattern(this.identityExtId,/^[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 P("identityExtId","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("idpExtId"===t){if(void 0===this.idpExtId||null===this.idpExtId)return new P("idpExtId","undefined or null");if(!I.validatePattern(this.idpExtId,/^[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 P("idpExtId","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}au.prototype.identityExtId=void 0,au.prototype.idpExtId=void 0,au.prototype.$reserved=void 0,au.prototype.$objectType=void 0,au.prototype.$unknownFields=void 0;var du=new WeakSet;class lu{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=du),i.add(n),this.projectExtId=e,this.apExtIds=t,this.$objectType="iam.v4.authz.ProjectApMigrationData",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new lu,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("apExtIds")&&null!==e.apExtIds&&void 0!==e.apExtIds){for(o=[],i=e.apExtIds,r=0;r<i.length;r++)o.push(i[r]);t.setApExtIds(o)}if(e.hasOwnProperty("userIdpMappings")&&null!==e.userIdpMappings&&void 0!==e.userIdpMappings){for(o=[],i=e.userIdpMappings,r=0;r<i.length;r++)s=au.constructFromObject(i[r],void 0),o.push(s);t.setUserIdpMappings(o)}if(e.hasOwnProperty("userGroupIdpMappings")&&null!==e.userGroupIdpMappings&&void 0!==e.userGroupIdpMappings){for(o=[],i=e.userGroupIdpMappings,r=0;r<i.length;r++)s=au.constructFromObject(i[r],void 0),o.push(s);t.setUserGroupIdpMappings(o)}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())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getApExtIds(){return this.apExtIds}setApExtIds(e){this.apExtIds=e}getUserIdpMappings(){return this.userIdpMappings}setUserIdpMappings(e){this.userIdpMappings=e}getUserGroupIdpMappings(){return this.userGroupIdpMappings}setUserGroupIdpMappings(e){this.userGroupIdpMappings=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getApExtIds()&&null!==this.getApExtIds()?{apExtIds:this.getApExtIds()}:{},...void 0!==this.getUserIdpMappings()&&null!==this.getUserIdpMappings()?{userIdpMappings:this.getUserIdpMappings().map(e=>e.toJson(!1))}:{},...void 0!==this.getUserGroupIdpMappings()&&null!==this.getUserGroupIdpMappings()?{userGroupIdpMappings:this.getUserGroupIdpMappings().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 E?n=["projectExtId","apExtIds"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new P("projectExtId","undefined or null");if(!I.validatePattern(this.projectExtId,/^[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 P("projectExtId","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("apExtIds"===t){if(void 0===this.apExtIds||null===this.apExtIds)return new P("apExtIds","undefined or null");if(!I.validateMaxItems(this.apExtIds,10))return new P("apExtIds","does not satisfy required maxItems constraint: 10");if(!I.validateMinItems(this.apExtIds,1))return new P("apExtIds","does not satisfy required minItems constraint: 1")}if("userIdpMappings"===t){if(void 0===this.userIdpMappings||null===this.userIdpMappings)return new P("userIdpMappings","undefined or null");if(!I.validateMaxItems(this.userIdpMappings,100))return new P("userIdpMappings","does not satisfy required maxItems constraint: 100")}if("userGroupIdpMappings"===t){if(void 0===this.userGroupIdpMappings||null===this.userGroupIdpMappings)return new P("userGroupIdpMappings","undefined or null");if(!I.validateMaxItems(this.userGroupIdpMappings,100))return new P("userGroupIdpMappings","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}lu.prototype.projectExtId=void 0,lu.prototype.apExtIds=void 0,lu.prototype.userIdpMappings=void 0,lu.prototype.userGroupIdpMappings=void 0,lu.prototype.$reserved=void 0,lu.prototype.$objectType=void 0,lu.prototype.$unknownFields=void 0;var hu=new WeakSet;class uu{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=hu),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new uu,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(ru.constructFromObject(e.migrationType)),e.hasOwnProperty("projectApMigrationData")&&null!==e.projectApMigrationData&&void 0!==e.projectApMigrationData&&t.setProjectApMigrationData(lu.constructFromObject(e.projectApMigrationData)),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())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}getProjectApMigrationData(){return this.projectApMigrationData}setProjectApMigrationData(e){this.projectApMigrationData=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},...void 0!==this.getProjectApMigrationData()&&null!==this.getProjectApMigrationData()?{projectApMigrationData:this.getProjectApMigrationData().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 E?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"projectApMigrationData"!==t||void 0!==this.projectApMigrationData&&null!==this.projectApMigrationData?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("projectApMigrationData","undefined or null"):new P("migrationType","undefined or null")}}uu.prototype.migrationType=void 0,uu.prototype.projectApMigrationData=void 0,uu.prototype.$reserved=void 0,uu.prototype.$objectType=void 0,uu.prototype.$unknownFields=void 0;class cu extends ui{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cu,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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}var pu=new WeakSet;class yu extends ii{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=pu),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yu,ii.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(cu.constructFromObject(e.baseRoleProjection)),!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())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...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.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new P(t,"no such property exists"):new P("baseRoleProjection","undefined or null")}}function gu(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")}yu.prototype.baseRoleProjection=void 0,ii.prototype.displayName=void 0,ii.prototype.description=void 0,ii.prototype.clientName=void 0,ii.prototype.entities=void 0,ii.prototype.role=void 0,ii.prototype.isGlobal=!1,ii.prototype.domainExtIds=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var vu=new WeakSet;class mu extends Bi{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=vu),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mu,Bi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!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())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:gu(vu,this,$u).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:gu(vu,this,$u).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...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.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$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 E?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new P(t,"no such property exists"):new P("legacyClientName","undefined or null")}}function $u(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}mu.prototype.legacyClientName=void 0,Bi.prototype.name=void 0,Bi.prototype.description=void 0,Bi.prototype.displayName=void 0,Bi.prototype.createdTime=void 0,Bi.prototype.lastUpdatedTime=void 0,Bi.prototype.createdBy=void 0,Bi.prototype.deploymentList=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var wu=new WeakSet;class fu{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=wu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new fu,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(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())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new P("addedObjects","undefined or null");if(!I.validateMaxItems(this.addedObjects,20))return new P("addedObjects","does not satisfy required maxItems constraint: 20");if(!I.validateMinItems(this.addedObjects,1))return new P("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new P("removedObjects","undefined or null");if(!I.validateMaxItems(this.removedObjects,20))return new P("removedObjects","does not satisfy required maxItems constraint: 20");if(!I.validateMinItems(this.removedObjects,1))return new P("removedObjects","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}fu.prototype.addedObjects=void 0,fu.prototype.removedObjects=void 0,fu.prototype.$reserved=void 0,fu.prototype.$objectType=void 0,fu.prototype.$unknownFields=void 0;var bu=new WeakSet;class Tu{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=bu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Tu,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(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())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new P("addedOperations","undefined or null");if(!I.validateMaxItems(this.addedOperations,20))return new P("addedOperations","does not satisfy required maxItems constraint: 20");if(!I.validateMinItems(this.addedOperations,1))return new P("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new P("removedOperations","undefined or null");if(!I.validateMaxItems(this.removedOperations,20))return new P("removedOperations","does not satisfy required maxItems constraint: 20");if(!I.validateMinItems(this.removedOperations,1))return new P("removedOperations","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Tu.prototype.addedOperations=void 0,Tu.prototype.removedOperations=void 0,Tu.prototype.$reserved=void 0,Tu.prototype.$objectType=void 0,Tu.prototype.$unknownFields=void 0;var ju=new WeakSet;class ku{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=ju),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ku,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),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())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$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 E?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new P("newDisplayName","undefined or null");if(!I.validateMaxLength(this.newDisplayName,255))return new P("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new P("previousDisplayName","undefined or null");if(!I.validateMaxLength(this.previousDisplayName,255))return new P("previousDisplayName","does not satisfy required maxLength constraint: 255")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}ku.prototype.newDisplayName=void 0,ku.prototype.previousDisplayName=void 0,ku.prototype.$reserved=void 0,ku.prototype.$objectType=void 0,ku.prototype.$unknownFields=void 0;var Fu=new WeakSet;class Ou{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=Fu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ou,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(ku.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(fu.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset(Tu.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset(Tu.constructFromObject(e.legacyParentOperationListChangeset)),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())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("legacyParentOperationListChangeset","undefined or null"):new P("legacyOperationListChangeset","undefined or null"):new P("legacyObjectListChangeset","undefined or null"):new P("displayNameChangeset","undefined or null")}}Ou.prototype.displayNameChangeset=void 0,Ou.prototype.legacyObjectListChangeset=void 0,Ou.prototype.legacyOperationListChangeset=void 0,Ou.prototype.legacyParentOperationListChangeset=void 0,Ou.prototype.$reserved=void 0,Ou.prototype.$objectType=void 0,Ou.prototype.$unknownFields=void 0;const Eu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Eu).find(t=>Eu[t]===e);return null==t?Eu.$UNKNOWN:Eu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Eu.$UNKNOWN:case Eu.$REDACTED:case Eu.OPERATION:case Eu.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(Eu);const Iu=Eu;function Pu(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 Au=new WeakSet;class Cu extends tt{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=Au),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cu,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(Iu.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Ou.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Pu(Au,this,Du).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Pu(Au,this,Du).call(this,this.getLastUpdatedTime(),!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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new P(t,"no such property exists"):new P("lastUpdatedTime","undefined or null"):new P("createdTime","undefined or null"):new P("changeset","undefined or null"):new P("configType","undefined or null")}}function Du(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Cu.prototype.displayName=void 0,Cu.prototype.clientName=void 0,Cu.prototype.configType=void 0,Cu.prototype.changeset=void 0,Cu.prototype.createdTime=void 0,Cu.prototype.lastUpdatedTime=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;class Uu extends Cu{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Uu,Cu.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}function Nu(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 Su=new WeakSet;class Ru extends is{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=Su),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ru,is.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Nu(Su,this,xu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Nu(Su,this,xu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...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.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new P(t,"no such property exists"):new P("isInternal","undefined or null"):new P("legacyObjectList","undefined or null")}}function xu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ru.prototype.legacyObjectList=void 0,Ru.prototype.isInternal=void 0,is.prototype.name=void 0,is.prototype.description=void 0,is.prototype.displayName=void 0,is.prototype.clientName=void 0,is.prototype.searchURL=void 0,is.prototype.createdTime=void 0,is.prototype.lastUpdatedTime=void 0,is.prototype.createdBy=void 0,is.prototype.attributeList=void 0,is.prototype.isLogicalAndSupportedForAttributes=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Lu=new WeakSet;class Mu{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=Lu),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mu,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),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())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$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 E?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("shouldIncludeRelatedOperations","undefined or null")}}function Ju(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")}Mu.prototype.shouldIncludeRelatedOperations=void 0,Mu.prototype.$reserved=void 0,Mu.prototype.$objectType=void 0,Mu.prototype.$unknownFields=void 0;var _u=new WeakSet;class Wu extends Ss{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=_u),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Wu,Ss.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(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())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ju(_u,this,Ku).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ju(_u,this,Ku).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new P(t,"no such property exists"):new P("legacyParentOperationList","undefined or null"):new P("legacyOperationList","undefined or null"):new P("isInternal","undefined or null")}}function Ku(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qu(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")}Wu.prototype.isInternal=void 0,Wu.prototype.legacyOperationList=void 0,Wu.prototype.legacyParentOperationList=void 0,Ss.prototype.displayName=void 0,Ss.prototype.description=void 0,Ss.prototype.entityType=void 0,Ss.prototype.clientName=void 0,Ss.prototype.allowOnSharedEntity=!1,Ss.prototype.createdTime=void 0,Ss.prototype.lastUpdatedTime=void 0,Ss.prototype.operationType=void 0,Ss.prototype.relatedOperationList=void 0,Ss.prototype.associatedEndpointList=void 0,Ss.prototype.migrationActionNotes=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Bu=new WeakSet;class zu extends vi{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=Bu),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zu,vi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!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())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qu(Bu,this,Gu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:qu(Bu,this,Gu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...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.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new P(t,"no such property exists"):new P("isInternal","undefined or null"):new P("legacyRole","undefined or null")}}function Gu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vu(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")}zu.prototype.legacyRole=void 0,zu.prototype.isInternal=void 0,vi.prototype.description=void 0,vi.prototype.operations=void 0,vi.prototype.accessibleClients=void 0,vi.prototype.accessibleEntityTypes=void 0,vi.prototype.accessibleClientsCount=void 0,vi.prototype.accessibleEntityTypesCount=void 0,vi.prototype.assignedUsersCount=void 0,vi.prototype.assignedUserGroupsCount=void 0,vi.prototype.projectExtId=void 0,vi.prototype.isSharedWithAllProjects=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.isSystemDefined=!0,vi.prototype.operationSchemaChangeImpact=void 0,ui.prototype.displayName=void 0,ui.prototype.clientName=void 0,ui.prototype.isGlobal=!1,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Hu=new WeakSet;class Yu extends tt{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=Hu),t.add(e),this.$objectType="iam.v4.authz.ScopeTemplate",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Yu,tt.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=ti.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!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())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Vu(Hu,this,Xu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...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.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new P("displayName","undefined or null");if(!I.validateMaxLength(this.displayName,255))return new P("displayName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.displayName,1))return new P("displayName","does not satisfy required minLength constraint: 1");if(!I.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new P("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new P("description","undefined or null");if(!I.validateMaxLength(this.description,1e3))return new P("description","does not satisfy required maxLength constraint: 1000");if(!I.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new P("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entities"===t){if(void 0===this.entities||null===this.entities)return new P("entities","undefined or null");if(!I.validateMaxItems(this.entities,500))return new P("entities","does not satisfy required maxItems constraint: 500");if(!I.validateMinItems(this.entities,1))return new P("entities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new P(t,"no such property exists"):new P("createdBy","undefined or null"):new P("createdTime","undefined or null")}}function Xu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Yu.prototype.displayName=void 0,Yu.prototype.description=void 0,Yu.prototype.entities=void 0,Yu.prototype.createdTime=void 0,Yu.prototype.createdBy=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;var Zu=new WeakSet;class Qu{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=Zu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Qu,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Lh.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}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())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new P("authorizationPolicies","undefined or null");if(!I.validateMaxItems(this.authorizationPolicies,50))return new P("authorizationPolicies","does not satisfy required maxItems constraint: 50")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}Qu.prototype.authorizationPolicies=void 0,Qu.prototype.$reserved=void 0,Qu.prototype.$objectType=void 0,Qu.prototype.$unknownFields=void 0;var ec=new WeakSet;class tc{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=ec),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new tc,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Ru.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}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())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new P("entities","undefined or null");if(!I.validateMaxItems(this.entities,200))return new P("entities","does not satisfy required maxItems constraint: 200")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}tc.prototype.entities=void 0,tc.prototype.$reserved=void 0,tc.prototype.$objectType=void 0,tc.prototype.$unknownFields=void 0;var nc=new WeakSet;class ic{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=nc),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ic,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Wu.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}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())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new P("operations","undefined or null");if(!I.validateMaxItems(this.operations,500))return new P("operations","does not satisfy required maxItems constraint: 500")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}ic.prototype.operations=void 0,ic.prototype.$reserved=void 0,ic.prototype.$objectType=void 0,ic.prototype.$unknownFields=void 0;const sc={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(sc).find(t=>sc[t]===e);return null==t?sc.$UNKNOWN:sc[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case sc.$UNKNOWN:case sc.$REDACTED:case sc.CREATE:case sc.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(sc);const rc=sc;var oc=new WeakSet;class ac{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=oc),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ac,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=zu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}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())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new P("roles","undefined or null");if(!I.validateMaxItems(this.roles,50))return new P("roles","does not satisfy required maxItems constraint: 50")}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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}ac.prototype.roles=void 0,ac.prototype.$reserved=void 0,ac.prototype.$objectType=void 0,ac.prototype.$unknownFields=void 0;const dc={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(dc).find(t=>dc[t]===e);return null==t?dc.$UNKNOWN:dc[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case dc.$UNKNOWN:case dc.$REDACTED:case dc.CLIENT:case dc.ENTITY:case dc.OPERATION:case dc.ROLE:case dc.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(dc);const lc=dc;function hc(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 uc=new WeakSet;class cc{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=uc),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new cc,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(lc.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(rc.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(mu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(tc.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(ic.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(ac.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(Qu.constructFromObject(e.configList,void 0));break;default:t.setConfigList(e.configList)}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())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):hc(uc,this,pc).call(this,this.getConfigList(),!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.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):hc(uc,this,pc).call(this,this.getConfigList())}:{},$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 E?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new P("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new P("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 P("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}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new P("clientName","undefined or null");if(!I.validateMaxLength(this.clientName,255))return new P("clientName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.clientName,1))return new P("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("configList","undefined or null"):new P("operationType","undefined or null")}}function pc(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}cc.prototype.configType=void 0,cc.prototype.tenantId=void 0,cc.prototype.clientName=void 0,cc.prototype.operationType=void 0,cc.prototype.configList=void 0,cc.prototype.$reserved=void 0,cc.prototype.$objectType=void 0,cc.prototype.$unknownFields=void 0;var yc=new WeakSet;class gc extends tt{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=yc),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new gc,tt.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!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())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...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.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new P("tenantName","undefined or null");if(!I.validateMaxLength(this.tenantName,255))return new P("tenantName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.tenantName,1))return new P("tenantName","does not satisfy required minLength constraint: 1")}return new P(t,"no such property exists")}}gc.prototype.tenantName=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;class vc extends ii{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vc,ii.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}var mc=new WeakSet;class $c extends ui{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=mc),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new $c,ui.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(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())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...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.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new P("operations","undefined or null");if(!I.validateMaxItems(this.operations,2e3))return new P("operations","does not satisfy required maxItems constraint: 2000");if(!I.validateMinItems(this.operations,1))return new P("operations","does not satisfy required minItems constraint: 1")}return new P(t,"no such property exists")}}$c.prototype.operations=void 0,ui.prototype.displayName=void 0,ui.prototype.clientName=void 0,ui.prototype.isGlobal=!1,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;class wc extends $c{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wc,$c.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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new P(t,"no such property exists")}}var fc=new WeakSet;class bc{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=fc),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bc,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),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}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("message","undefined or null")}}function Tc(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")}bc.prototype.message=void 0,bc.prototype.$reserved=void 0,bc.prototype.$objectType=void 0,bc.prototype.$unknownFields=void 0;var jc=new WeakSet;class kc{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=jc),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new kc,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=bc.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}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())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=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!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Tc(jc,this,Fc).call(this,this.getTimestamp(),!1)}:{},...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:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new P("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new P("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new P("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new P("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new P("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new P("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new P("validationErrorMessages","undefined or null");if(!I.validateMaxItems(this.validationErrorMessages,20))return new P("validationErrorMessages","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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null")}}function Fc(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}kc.prototype.code=void 0,kc.prototype.error=void 0,kc.prototype.errorGroup=void 0,kc.prototype.path=void 0,kc.prototype.statusCode=void 0,kc.prototype.timestamp=void 0,kc.prototype.validationErrorMessages=void 0,kc.prototype.$reserved=void 0,kc.prototype.$objectType=void 0,kc.prototype.$unknownFields=void 0;var Oc=new WeakSet;class Ec{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=Oc),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ec,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(kc.constructFromObject(e.error)),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{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):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 P(t,"no such property exists"):new P("$unknownFields","undefined or null"):new P("$objectType","undefined or null"):new P("$reserved","undefined or null"):new P("error","undefined or null")}}Ec.prototype.error=void 0,Ec.prototype.$reserved=void 0,Ec.prototype.$objectType=void 0,Ec.prototype.$unknownFields=void 0;var Ic=new WeakSet;class Pc extends tt{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=Ic),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pc,tt.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(Ec.constructFromObject(e.data)),!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())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().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.getData()&&null!==this.getData()?{data:this.getData().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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new P(t,"no such property exists"):new P("data","undefined or null")}}Pc.prototype.data=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const Ac={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ac).find(t=>Ac[t]===e);return null==t?Ac.$UNKNOWN:Ac[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ac.$UNKNOWN:case Ac.$REDACTED:case Ac.ASC:case Ac.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Ac);const Cc=Ac;var Dc=new WeakSet;class Uc extends tt{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=Dc),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Uc,tt.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!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())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...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.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$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 E?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new P("tenantName","undefined or null");if(!I.validateMaxLength(this.tenantName,255))return new P("tenantName","does not satisfy required maxLength constraint: 255");if(!I.validateMinLength(this.tenantName,1))return new P("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new P(t,"no such property exists"):new P("tenantDescription","undefined or null")}}Uc.prototype.tenantName=void 0,Uc.prototype.tenantDescription=void 0,tt.prototype.extId=void 0,tt.prototype.links=void 0,Qe.prototype.tenantId=void 0;const Nc={ApiClient:pe,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},h={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,projectExtId:r.projectExtId,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId,isSharedWithAllProjects:r.isSharedWithAllProjects},u=Tt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers","POST",{},{},l,h,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],u)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ye;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=$t;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ht;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let h={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(h[e]=d[e])});const u={...h},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,projectExtId:o.projectExtId,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId,isSharedWithAllProjects:o.isSharedWithAllProjects},p=yt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","PUT",l,{},u,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Xn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=sn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Wt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=pn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ot;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Yt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof En&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Kn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}shareAllDirectoryService(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling shareAllDirectoryService");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Vn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/share-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Pn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling shareDirectoryService");if(null==s)throw new Error("Invalid body when calling shareDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Un;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/share","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}unshareAllDirectoryService(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling unshareAllDirectoryService");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=$n;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/unshare-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}unshareDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof bn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling unshareDirectoryService");if(null==s)throw new Error("Invalid body when calling unshareDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=ln;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/unshare","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Wt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=kn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof di&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=_i;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Pi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Fi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(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("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ui;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof di&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=xi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Hi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=us;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=as;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=bs;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ks;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ms;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RoleMembershipApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRoleMembership(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Hs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRoleMembership");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=mr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleMembershipById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleMembershipById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=br;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleMembershipById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleMembershipById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=pr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoleMembershipSummary(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=lr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-membership-summaries","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoleMemberships(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("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ir;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof vi&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=Pr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Fr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ur;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=xr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof vi&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=_r;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof fo&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=qo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Yr;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=So;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Zo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=no;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(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 s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Vo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareAllSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling shareAllSamlIdentityProvider");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Eo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/share-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareSamlIdentityProvider(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Qr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling shareSamlIdentityProvider");if(null==s)throw new Error("Invalid body when calling shareSamlIdentityProvider");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Jo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/share","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}unshareAllSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling unshareAllSamlIdentityProvider");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ao;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/unshare-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}unshareSamlIdentityProvider(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof jo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling unshareSamlIdentityProvider");if(null==s)throw new Error("Invalid body when calling unshareSamlIdentityProvider");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=zr;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/unshare","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof fo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Co;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof sa&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=va;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=da;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=fa;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(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("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={"x-ntnx-project":e.xNtnxProject,...s},o=ca;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Wd&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=Zd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ud&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=Bd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Na&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=jd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Sd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Md;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Ma;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=gd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(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("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={"x-ntnx-project":e.xNtnxProject,...s},o=Cd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Vd&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=qa;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=wd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof ud&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Ed;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Ha&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};pe.addEtagReferenceToHeader(t,a);const d=Qa;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return pe}constructor(e){this.apiClient=e||pe.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=ol;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof nl&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};pe.addEtagReferenceToHeader(e,r);const o=hl;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:C,KVPair:L,MapOfStringWrapper:N,Message:K,MessageSeverity:_,TenantAwareModel:Qe,ApiLink:B,ApiResponseMetadata:V,ExternalizableAbstractModel:tt,ActivateUserApiResponse:Qa,AlgoType:pl,ApiKeyDetails:ja,AuthMethodType:gl,AuthenticationResponse:ml,AuthnMigrationRequest:bl,AuthnMigrationType:wl,BucketsAccessKey:rd,BucketsAccessKeyStatusType:nd,CertAuthProvider:ot,CertRevocationInfo:it,CertificateLoginRequest:jl,ChangeUserPasswordApiResponse:Zd,ClaimsType:Fl,ConnectionDirectoryServiceApiResponse:sn,CreateCertAuthProviderApiResponse:Tt,CreateDirectoryServiceApiResponse:pn,CreateKeyApiResponse:jd,CreateSamlIdentityProviderApiResponse:qo,CreateUserApiResponse:Bd,CreateUserGroupApiResponse:va,CreationType:Fa,DeleteCertAuthProviderApiResponse:Ye,DeleteDirectoryServiceApiResponse:Ot,DeleteSamlIdentityProviderApiResponse:Yr,DeleteUserGroupApiResponse:da,DeleteUserKeyApiResponse:Sd,DirectoryService:Wt,DirectoryServiceConnectionRequest:Xn,DirectoryServiceConnectionResponse:en,DirectoryServiceInfo:Cl,DirectoryServiceInfoGroup:El,DirectoryServiceInfoOu:Pl,DirectoryServiceSearchAttribute:Rn,DirectoryServiceSearchEntity:Ln,DirectoryServiceSearchQuery:En,DirectoryServiceSearchResult:Jn,DirectoryServiceShareAllResponse:Bn,DirectoryServiceShareRequest:Pn,DirectoryServiceShareResponse:An,DirectoryServiceUnshareAllResponse:gn,DirectoryServiceUnshareRequest:bn,DirectoryServiceUnshareResponse:on,DirectoryType:Pt,DiscoverySubjectType:Ul,DsServiceAccount:Ct,Federation:Ll,FederationClaims:Sl,GetCertAuthProviderApiResponse:$t,GetDirectoryServiceApiResponse:zt,GetSamlIdentityProviderApiResponse:So,GetSamlIdpSpMetadataApiResponse:Zo,GetSamlSpMetadataApiResponse:no,GetUserApiResponse:Md,GetUserGroupApiResponse:fa,GetUserKeyApiResponse:Ma,GetWelcomeBannerApiResponse:ol,GrantType:_l,Group:Kl,GroupSearchType:Ut,GroupType:ta,IdpMetadata:po,IdpType:ys,Key:Na,KeyKind:Ea,KeyMigrationSpec:Bl,KeyStatus:Pa,KeyType:Gl,ListCertAuthProvidersApiResponse:ht,ListDirectoryServicesApiResponse:Yt,ListLoginProvidersApiResponse:bs,ListSamlIdentityProvidersApiResponse:Vo,ListUserGroupsApiResponse:ca,ListUserKeysApiResponse:gd,ListUsersApiResponse:Cd,LoginProvider:ms,LoginRequest:Ql,NameIdPolicyFormat:uo,ObjectKeyDetails:Ca,ObjectsAuthDetails:nh,ObjectsAuthSpec:rh,OidcKey:lh,OidcSubjectType:uh,OidcUserinfo:vh,OpenLdapConfig:Mt,PasswordChangeRequest:Wd,PasswordChangeResponse:Hd,PasswordResetRequest:Vd,PasswordResetResponse:_a,PropagatedConnector:fh,ResetUserPasswordApiResponse:qa,AuthnResponseType:Hl,RevokeUserKeyApiResponse:wd,SamlIdentityProvider:fo,SamlIdentityProviderShareAllResponse:ko,SamlIdentityProviderShareRequest:Qr,SamlIdentityProviderShareResponse:xo,SamlIdentityProviderUnshareAllResponse:so,SamlIdentityProviderUnshareRequest:jo,SamlIdentityProviderUnshareResponse:Kr,SamlSigningCredential:vo,Scope:Xl,ScopesType:jh,SearchDirectoryServiceApiResponse:Kn,ShareAllDirectoryServiceApiResponse:Vn,ShareAllSamlIdentityProviderApiResponse:Eo,ShareDirectoryServiceApiResponse:Un,ShareSamlIdentityProviderApiResponse:Jo,SigningAlgoType:Fh,SubjectType:Eh,SystemConfig:Ah,AuthnTenant:ph,TokenRequest:Uh,UnshareAllDirectoryServiceApiResponse:$n,UnshareAllSamlIdentityProviderApiResponse:ao,UnshareDirectoryServiceApiResponse:ln,UnshareSamlIdentityProviderApiResponse:zr,UpdateCertAuthProviderApiResponse:yt,UpdateDirectoryServiceApiResponse:kn,UpdateSamlIdentityProviderApiResponse:Co,UpdateUserApiResponse:Ed,UpdateWelcomeBannerApiResponse:hl,UseType:ah,User:ud,UserConfiguration:St,UserGroup:sa,UserGroupConfiguration:xt,UserStateUpdate:Ha,UserStateUpdateResponse:Ya,UserStatusType:Ga,UserType:dd,ValidateCredentialsRequest:Sh,WelcomeBanner:nl,ApiVersion:ks,AssociatedEndpoint:Is,AttributeEntity:es,AuthorizationPolicy:di,AuthorizationPolicyConfig:Lh,AuthorizationPolicyProjection:bi,AuthorizationPolicyType:Qn,AuthorizationRequest:Xh,AuthorizationResponse:tu,AuthorizationResponseObject:Qh,AuthorizeEntity:Bh,AuthzMigrationFlags:iu,AuthzMigrationRequest:uu,AuthzMigrationType:ru,BaseAuthorizationPolicy:ii,BaseAuthorizationPolicyProjection:yu,BaseRole:ui,BaseRoleProjection:cu,Client:Bi,ClientConfig:mu,ConfigChangeset:Cu,ConfigChangesetData:Ou,ConfigChangesetDataObjects:fu,ConfigChangesetDataOperations:Tu,ConfigChangesetDisplayName:ku,ConfigChangesetProjection:Uu,ConfigType:Iu,CreateAuthorizationPolicyApiResponse:_i,CreateRoleApiResponse:Pr,CreateRoleMembershipApiResponse:mr,DeleteAuthorizationPolicyApiResponse:Pi,DeleteRoleApiResponse:Fr,DeleteRoleMembershipApiResponse:br,Entity:is,EntityConfig:Ru,EntityFilter:ti,EntityOperators:Zi,GetAuthorizationPolicyApiResponse:Fi,GetClientApiResponse:Hi,GetEntityApiResponse:us,GetOperationApiResponse:Ks,GetRoleApiResponse:Ur,GetRoleMembershipApiResponse:pr,HttpMethod:Os,IdentityFilter:ri,IdentityIdpMapping:au,IdentityObject:Kh,IdentityType:_h,ListAuthorizationPoliciesApiResponse:Ui,ListEntitiesApiResponse:as,ListOperationsApiResponse:Ms,ListRoleMembershipSummariesApiResponse:lr,ListRoleMembershipsApiResponse:ir,ListRolesApiResponse:xr,MigrateRoleSpec:Mu,MigrationActionNotes:As,Operation:Ss,OperationConfig:Wu,OperationSchemaChangeImpact:pi,OperationType:Ds,ProjectApMigrationData:lu,RequestObject:Hh,AuthzResponseType:Gh,RmIdentityType:zs,Role:vi,RoleConfig:zu,RoleMembership:Hs,RoleMembershipProjection:Qs,RoleMembershipSummary:or,RoleProjection:$i,ScopeTemplate:Yu,SeedConfigAuthorizationPolicyList:Qu,SeedConfigEntityList:tc,SeedConfigOperationList:ic,SeedConfigOperationType:rc,SeedConfigRequest:cc,SeedConfigRoleList:ac,SeedConfigType:lc,AuthzTenant:gc,UpdateAuthorizationPolicyApiResponse:xi,UpdateRoleApiResponse:_r,UserAuthorizationPolicy:vc,UserRole:$c,UserRoleProjection:wc,ActionBaseResponse:Qt,CommonSchemaValidationError:Ec,CommonSchemaValidationErrorMessage:kc,SchemaValidationErrorResponse:Pc,SortOrderType:Cc,ValidationErrorMessage:bc,AppMessage:Re,ErrorResponse:ze,ErrorSchemaValidationError:We,ErrorSchemaValidationErrorMessage:Me,TenantTenant:Uc}})(),i=i.default,i})());
|