All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yamcs.protobuf.UserInfo Maven / Gradle / Ivy

There is a newer version: 5.10.1
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: yamcs/protobuf/iam/iam.proto

package org.yamcs.protobuf;

/**
 * Protobuf type {@code yamcs.protobuf.iam.UserInfo}
 */
public  final class UserInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:yamcs.protobuf.iam.UserInfo)
    UserInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use UserInfo.newBuilder() to construct.
  private UserInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private UserInfo() {
    login_ = "";
    name_ = "";
    displayName_ = "";
    email_ = "";
    systemPrivilege_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    objectPrivilege_ = java.util.Collections.emptyList();
    groups_ = java.util.Collections.emptyList();
    identities_ = java.util.Collections.emptyList();
    roles_ = java.util.Collections.emptyList();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private UserInfo(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000001;
            login_ = bs;
            break;
          }
          case 90: {
            com.google.protobuf.ByteString bs = input.readBytes();
            if (!((mutable_bitField0_ & 0x00000400) != 0)) {
              systemPrivilege_ = new com.google.protobuf.LazyStringArrayList();
              mutable_bitField0_ |= 0x00000400;
            }
            systemPrivilege_.add(bs);
            break;
          }
          case 98: {
            if (!((mutable_bitField0_ & 0x00000800) != 0)) {
              objectPrivilege_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00000800;
            }
            objectPrivilege_.add(
                input.readMessage(org.yamcs.protobuf.ObjectPrivilegeInfo.PARSER, extensionRegistry));
            break;
          }
          case 104: {
            bitField0_ |= 0x00000020;
            superuser_ = input.readBool();
            break;
          }
          case 114: {
            com.google.protobuf.Timestamp.Builder subBuilder = null;
            if (((bitField0_ & 0x00000080) != 0)) {
              subBuilder = creationTime_.toBuilder();
            }
            creationTime_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(creationTime_);
              creationTime_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000080;
            break;
          }
          case 122: {
            com.google.protobuf.Timestamp.Builder subBuilder = null;
            if (((bitField0_ & 0x00000200) != 0)) {
              subBuilder = lastLoginTime_.toBuilder();
            }
            lastLoginTime_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(lastLoginTime_);
              lastLoginTime_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000200;
            break;
          }
          case 128: {
            bitField0_ |= 0x00000010;
            active_ = input.readBool();
            break;
          }
          case 138: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000002;
            name_ = bs;
            break;
          }
          case 146: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000004;
            displayName_ = bs;
            break;
          }
          case 154: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000008;
            email_ = bs;
            break;
          }
          case 162: {
            org.yamcs.protobuf.UserInfo.Builder subBuilder = null;
            if (((bitField0_ & 0x00000040) != 0)) {
              subBuilder = createdBy_.toBuilder();
            }
            createdBy_ = input.readMessage(org.yamcs.protobuf.UserInfo.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(createdBy_);
              createdBy_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000040;
            break;
          }
          case 170: {
            com.google.protobuf.Timestamp.Builder subBuilder = null;
            if (((bitField0_ & 0x00000100) != 0)) {
              subBuilder = confirmationTime_.toBuilder();
            }
            confirmationTime_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(confirmationTime_);
              confirmationTime_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000100;
            break;
          }
          case 178: {
            if (!((mutable_bitField0_ & 0x00001000) != 0)) {
              groups_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00001000;
            }
            groups_.add(
                input.readMessage(org.yamcs.protobuf.GroupInfo.PARSER, extensionRegistry));
            break;
          }
          case 186: {
            if (!((mutable_bitField0_ & 0x00002000) != 0)) {
              identities_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00002000;
            }
            identities_.add(
                input.readMessage(org.yamcs.protobuf.ExternalIdentityInfo.PARSER, extensionRegistry));
            break;
          }
          case 194: {
            if (!((mutable_bitField0_ & 0x00004000) != 0)) {
              roles_ = new java.util.ArrayList();
              mutable_bitField0_ |= 0x00004000;
            }
            roles_.add(
                input.readMessage(org.yamcs.protobuf.RoleInfo.PARSER, extensionRegistry));
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000400) != 0)) {
        systemPrivilege_ = systemPrivilege_.getUnmodifiableView();
      }
      if (((mutable_bitField0_ & 0x00000800) != 0)) {
        objectPrivilege_ = java.util.Collections.unmodifiableList(objectPrivilege_);
      }
      if (((mutable_bitField0_ & 0x00001000) != 0)) {
        groups_ = java.util.Collections.unmodifiableList(groups_);
      }
      if (((mutable_bitField0_ & 0x00002000) != 0)) {
        identities_ = java.util.Collections.unmodifiableList(identities_);
      }
      if (((mutable_bitField0_ & 0x00004000) != 0)) {
        roles_ = java.util.Collections.unmodifiableList(roles_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return org.yamcs.protobuf.IamProto.internal_static_yamcs_protobuf_iam_UserInfo_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return org.yamcs.protobuf.IamProto.internal_static_yamcs_protobuf_iam_UserInfo_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            org.yamcs.protobuf.UserInfo.class, org.yamcs.protobuf.UserInfo.Builder.class);
  }

  private int bitField0_;
  public static final int LOGIN_FIELD_NUMBER = 1;
  private volatile java.lang.Object login_;
  /**
   * optional string login = 1 [deprecated = true];
   */
  @java.lang.Deprecated public boolean hasLogin() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional string login = 1 [deprecated = true];
   */
  @java.lang.Deprecated public java.lang.String getLogin() {
    java.lang.Object ref = login_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        login_ = s;
      }
      return s;
    }
  }
  /**
   * optional string login = 1 [deprecated = true];
   */
  @java.lang.Deprecated public com.google.protobuf.ByteString
      getLoginBytes() {
    java.lang.Object ref = login_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      login_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int NAME_FIELD_NUMBER = 17;
  private volatile java.lang.Object name_;
  /**
   * optional string name = 17;
   */
  public boolean hasName() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional string name = 17;
   */
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        name_ = s;
      }
      return s;
    }
  }
  /**
   * optional string name = 17;
   */
  public com.google.protobuf.ByteString
      getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DISPLAYNAME_FIELD_NUMBER = 18;
  private volatile java.lang.Object displayName_;
  /**
   * optional string displayName = 18;
   */
  public boolean hasDisplayName() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * optional string displayName = 18;
   */
  public java.lang.String getDisplayName() {
    java.lang.Object ref = displayName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        displayName_ = s;
      }
      return s;
    }
  }
  /**
   * optional string displayName = 18;
   */
  public com.google.protobuf.ByteString
      getDisplayNameBytes() {
    java.lang.Object ref = displayName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      displayName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int EMAIL_FIELD_NUMBER = 19;
  private volatile java.lang.Object email_;
  /**
   * optional string email = 19;
   */
  public boolean hasEmail() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * optional string email = 19;
   */
  public java.lang.String getEmail() {
    java.lang.Object ref = email_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        email_ = s;
      }
      return s;
    }
  }
  /**
   * optional string email = 19;
   */
  public com.google.protobuf.ByteString
      getEmailBytes() {
    java.lang.Object ref = email_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      email_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ACTIVE_FIELD_NUMBER = 16;
  private boolean active_;
  /**
   * optional bool active = 16;
   */
  public boolean hasActive() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   * optional bool active = 16;
   */
  public boolean getActive() {
    return active_;
  }

  public static final int SUPERUSER_FIELD_NUMBER = 13;
  private boolean superuser_;
  /**
   * optional bool superuser = 13;
   */
  public boolean hasSuperuser() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   * optional bool superuser = 13;
   */
  public boolean getSuperuser() {
    return superuser_;
  }

  public static final int CREATEDBY_FIELD_NUMBER = 20;
  private org.yamcs.protobuf.UserInfo createdBy_;
  /**
   * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
   */
  public boolean hasCreatedBy() {
    return ((bitField0_ & 0x00000040) != 0);
  }
  /**
   * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
   */
  public org.yamcs.protobuf.UserInfo getCreatedBy() {
    return createdBy_ == null ? org.yamcs.protobuf.UserInfo.getDefaultInstance() : createdBy_;
  }
  /**
   * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
   */
  public org.yamcs.protobuf.UserInfoOrBuilder getCreatedByOrBuilder() {
    return createdBy_ == null ? org.yamcs.protobuf.UserInfo.getDefaultInstance() : createdBy_;
  }

  public static final int CREATIONTIME_FIELD_NUMBER = 14;
  private com.google.protobuf.Timestamp creationTime_;
  /**
   * optional .google.protobuf.Timestamp creationTime = 14;
   */
  public boolean hasCreationTime() {
    return ((bitField0_ & 0x00000080) != 0);
  }
  /**
   * optional .google.protobuf.Timestamp creationTime = 14;
   */
  public com.google.protobuf.Timestamp getCreationTime() {
    return creationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : creationTime_;
  }
  /**
   * optional .google.protobuf.Timestamp creationTime = 14;
   */
  public com.google.protobuf.TimestampOrBuilder getCreationTimeOrBuilder() {
    return creationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : creationTime_;
  }

  public static final int CONFIRMATIONTIME_FIELD_NUMBER = 21;
  private com.google.protobuf.Timestamp confirmationTime_;
  /**
   * optional .google.protobuf.Timestamp confirmationTime = 21;
   */
  public boolean hasConfirmationTime() {
    return ((bitField0_ & 0x00000100) != 0);
  }
  /**
   * optional .google.protobuf.Timestamp confirmationTime = 21;
   */
  public com.google.protobuf.Timestamp getConfirmationTime() {
    return confirmationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : confirmationTime_;
  }
  /**
   * optional .google.protobuf.Timestamp confirmationTime = 21;
   */
  public com.google.protobuf.TimestampOrBuilder getConfirmationTimeOrBuilder() {
    return confirmationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : confirmationTime_;
  }

  public static final int LASTLOGINTIME_FIELD_NUMBER = 15;
  private com.google.protobuf.Timestamp lastLoginTime_;
  /**
   * optional .google.protobuf.Timestamp lastLoginTime = 15;
   */
  public boolean hasLastLoginTime() {
    return ((bitField0_ & 0x00000200) != 0);
  }
  /**
   * optional .google.protobuf.Timestamp lastLoginTime = 15;
   */
  public com.google.protobuf.Timestamp getLastLoginTime() {
    return lastLoginTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lastLoginTime_;
  }
  /**
   * optional .google.protobuf.Timestamp lastLoginTime = 15;
   */
  public com.google.protobuf.TimestampOrBuilder getLastLoginTimeOrBuilder() {
    return lastLoginTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lastLoginTime_;
  }

  public static final int SYSTEMPRIVILEGE_FIELD_NUMBER = 11;
  private com.google.protobuf.LazyStringList systemPrivilege_;
  /**
   * repeated string systemPrivilege = 11;
   */
  public com.google.protobuf.ProtocolStringList
      getSystemPrivilegeList() {
    return systemPrivilege_;
  }
  /**
   * repeated string systemPrivilege = 11;
   */
  public int getSystemPrivilegeCount() {
    return systemPrivilege_.size();
  }
  /**
   * repeated string systemPrivilege = 11;
   */
  public java.lang.String getSystemPrivilege(int index) {
    return systemPrivilege_.get(index);
  }
  /**
   * repeated string systemPrivilege = 11;
   */
  public com.google.protobuf.ByteString
      getSystemPrivilegeBytes(int index) {
    return systemPrivilege_.getByteString(index);
  }

  public static final int OBJECTPRIVILEGE_FIELD_NUMBER = 12;
  private java.util.List objectPrivilege_;
  /**
   * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
   */
  public java.util.List getObjectPrivilegeList() {
    return objectPrivilege_;
  }
  /**
   * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
   */
  public java.util.List 
      getObjectPrivilegeOrBuilderList() {
    return objectPrivilege_;
  }
  /**
   * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
   */
  public int getObjectPrivilegeCount() {
    return objectPrivilege_.size();
  }
  /**
   * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
   */
  public org.yamcs.protobuf.ObjectPrivilegeInfo getObjectPrivilege(int index) {
    return objectPrivilege_.get(index);
  }
  /**
   * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
   */
  public org.yamcs.protobuf.ObjectPrivilegeInfoOrBuilder getObjectPrivilegeOrBuilder(
      int index) {
    return objectPrivilege_.get(index);
  }

  public static final int GROUPS_FIELD_NUMBER = 22;
  private java.util.List groups_;
  /**
   * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
   */
  public java.util.List getGroupsList() {
    return groups_;
  }
  /**
   * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
   */
  public java.util.List 
      getGroupsOrBuilderList() {
    return groups_;
  }
  /**
   * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
   */
  public int getGroupsCount() {
    return groups_.size();
  }
  /**
   * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
   */
  public org.yamcs.protobuf.GroupInfo getGroups(int index) {
    return groups_.get(index);
  }
  /**
   * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
   */
  public org.yamcs.protobuf.GroupInfoOrBuilder getGroupsOrBuilder(
      int index) {
    return groups_.get(index);
  }

  public static final int IDENTITIES_FIELD_NUMBER = 23;
  private java.util.List identities_;
  /**
   * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
   */
  public java.util.List getIdentitiesList() {
    return identities_;
  }
  /**
   * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
   */
  public java.util.List 
      getIdentitiesOrBuilderList() {
    return identities_;
  }
  /**
   * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
   */
  public int getIdentitiesCount() {
    return identities_.size();
  }
  /**
   * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
   */
  public org.yamcs.protobuf.ExternalIdentityInfo getIdentities(int index) {
    return identities_.get(index);
  }
  /**
   * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
   */
  public org.yamcs.protobuf.ExternalIdentityInfoOrBuilder getIdentitiesOrBuilder(
      int index) {
    return identities_.get(index);
  }

  public static final int ROLES_FIELD_NUMBER = 24;
  private java.util.List roles_;
  /**
   * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
   */
  public java.util.List getRolesList() {
    return roles_;
  }
  /**
   * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
   */
  public java.util.List 
      getRolesOrBuilderList() {
    return roles_;
  }
  /**
   * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
   */
  public int getRolesCount() {
    return roles_.size();
  }
  /**
   * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
   */
  public org.yamcs.protobuf.RoleInfo getRoles(int index) {
    return roles_.get(index);
  }
  /**
   * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
   */
  public org.yamcs.protobuf.RoleInfoOrBuilder getRolesOrBuilder(
      int index) {
    return roles_.get(index);
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (((bitField0_ & 0x00000001) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, login_);
    }
    for (int i = 0; i < systemPrivilege_.size(); i++) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 11, systemPrivilege_.getRaw(i));
    }
    for (int i = 0; i < objectPrivilege_.size(); i++) {
      output.writeMessage(12, objectPrivilege_.get(i));
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeBool(13, superuser_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeMessage(14, getCreationTime());
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      output.writeMessage(15, getLastLoginTime());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeBool(16, active_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 17, name_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 18, displayName_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 19, email_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeMessage(20, getCreatedBy());
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      output.writeMessage(21, getConfirmationTime());
    }
    for (int i = 0; i < groups_.size(); i++) {
      output.writeMessage(22, groups_.get(i));
    }
    for (int i = 0; i < identities_.size(); i++) {
      output.writeMessage(23, identities_.get(i));
    }
    for (int i = 0; i < roles_.size(); i++) {
      output.writeMessage(24, roles_.get(i));
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, login_);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < systemPrivilege_.size(); i++) {
        dataSize += computeStringSizeNoTag(systemPrivilege_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getSystemPrivilegeList().size();
    }
    for (int i = 0; i < objectPrivilege_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, objectPrivilege_.get(i));
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(13, superuser_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(14, getCreationTime());
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, getLastLoginTime());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(16, active_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, name_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, displayName_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, email_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(20, getCreatedBy());
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(21, getConfirmationTime());
    }
    for (int i = 0; i < groups_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(22, groups_.get(i));
    }
    for (int i = 0; i < identities_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, identities_.get(i));
    }
    for (int i = 0; i < roles_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(24, roles_.get(i));
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof org.yamcs.protobuf.UserInfo)) {
      return super.equals(obj);
    }
    org.yamcs.protobuf.UserInfo other = (org.yamcs.protobuf.UserInfo) obj;

    if (hasLogin() != other.hasLogin()) return false;
    if (hasLogin()) {
      if (!getLogin()
          .equals(other.getLogin())) return false;
    }
    if (hasName() != other.hasName()) return false;
    if (hasName()) {
      if (!getName()
          .equals(other.getName())) return false;
    }
    if (hasDisplayName() != other.hasDisplayName()) return false;
    if (hasDisplayName()) {
      if (!getDisplayName()
          .equals(other.getDisplayName())) return false;
    }
    if (hasEmail() != other.hasEmail()) return false;
    if (hasEmail()) {
      if (!getEmail()
          .equals(other.getEmail())) return false;
    }
    if (hasActive() != other.hasActive()) return false;
    if (hasActive()) {
      if (getActive()
          != other.getActive()) return false;
    }
    if (hasSuperuser() != other.hasSuperuser()) return false;
    if (hasSuperuser()) {
      if (getSuperuser()
          != other.getSuperuser()) return false;
    }
    if (hasCreatedBy() != other.hasCreatedBy()) return false;
    if (hasCreatedBy()) {
      if (!getCreatedBy()
          .equals(other.getCreatedBy())) return false;
    }
    if (hasCreationTime() != other.hasCreationTime()) return false;
    if (hasCreationTime()) {
      if (!getCreationTime()
          .equals(other.getCreationTime())) return false;
    }
    if (hasConfirmationTime() != other.hasConfirmationTime()) return false;
    if (hasConfirmationTime()) {
      if (!getConfirmationTime()
          .equals(other.getConfirmationTime())) return false;
    }
    if (hasLastLoginTime() != other.hasLastLoginTime()) return false;
    if (hasLastLoginTime()) {
      if (!getLastLoginTime()
          .equals(other.getLastLoginTime())) return false;
    }
    if (!getSystemPrivilegeList()
        .equals(other.getSystemPrivilegeList())) return false;
    if (!getObjectPrivilegeList()
        .equals(other.getObjectPrivilegeList())) return false;
    if (!getGroupsList()
        .equals(other.getGroupsList())) return false;
    if (!getIdentitiesList()
        .equals(other.getIdentitiesList())) return false;
    if (!getRolesList()
        .equals(other.getRolesList())) return false;
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasLogin()) {
      hash = (37 * hash) + LOGIN_FIELD_NUMBER;
      hash = (53 * hash) + getLogin().hashCode();
    }
    if (hasName()) {
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
    }
    if (hasDisplayName()) {
      hash = (37 * hash) + DISPLAYNAME_FIELD_NUMBER;
      hash = (53 * hash) + getDisplayName().hashCode();
    }
    if (hasEmail()) {
      hash = (37 * hash) + EMAIL_FIELD_NUMBER;
      hash = (53 * hash) + getEmail().hashCode();
    }
    if (hasActive()) {
      hash = (37 * hash) + ACTIVE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getActive());
    }
    if (hasSuperuser()) {
      hash = (37 * hash) + SUPERUSER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getSuperuser());
    }
    if (hasCreatedBy()) {
      hash = (37 * hash) + CREATEDBY_FIELD_NUMBER;
      hash = (53 * hash) + getCreatedBy().hashCode();
    }
    if (hasCreationTime()) {
      hash = (37 * hash) + CREATIONTIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreationTime().hashCode();
    }
    if (hasConfirmationTime()) {
      hash = (37 * hash) + CONFIRMATIONTIME_FIELD_NUMBER;
      hash = (53 * hash) + getConfirmationTime().hashCode();
    }
    if (hasLastLoginTime()) {
      hash = (37 * hash) + LASTLOGINTIME_FIELD_NUMBER;
      hash = (53 * hash) + getLastLoginTime().hashCode();
    }
    if (getSystemPrivilegeCount() > 0) {
      hash = (37 * hash) + SYSTEMPRIVILEGE_FIELD_NUMBER;
      hash = (53 * hash) + getSystemPrivilegeList().hashCode();
    }
    if (getObjectPrivilegeCount() > 0) {
      hash = (37 * hash) + OBJECTPRIVILEGE_FIELD_NUMBER;
      hash = (53 * hash) + getObjectPrivilegeList().hashCode();
    }
    if (getGroupsCount() > 0) {
      hash = (37 * hash) + GROUPS_FIELD_NUMBER;
      hash = (53 * hash) + getGroupsList().hashCode();
    }
    if (getIdentitiesCount() > 0) {
      hash = (37 * hash) + IDENTITIES_FIELD_NUMBER;
      hash = (53 * hash) + getIdentitiesList().hashCode();
    }
    if (getRolesCount() > 0) {
      hash = (37 * hash) + ROLES_FIELD_NUMBER;
      hash = (53 * hash) + getRolesList().hashCode();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static org.yamcs.protobuf.UserInfo parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static org.yamcs.protobuf.UserInfo parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static org.yamcs.protobuf.UserInfo parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static org.yamcs.protobuf.UserInfo parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(org.yamcs.protobuf.UserInfo prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code yamcs.protobuf.iam.UserInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:yamcs.protobuf.iam.UserInfo)
      org.yamcs.protobuf.UserInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.yamcs.protobuf.IamProto.internal_static_yamcs_protobuf_iam_UserInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.yamcs.protobuf.IamProto.internal_static_yamcs_protobuf_iam_UserInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.yamcs.protobuf.UserInfo.class, org.yamcs.protobuf.UserInfo.Builder.class);
    }

    // Construct using org.yamcs.protobuf.UserInfo.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getCreatedByFieldBuilder();
        getCreationTimeFieldBuilder();
        getConfirmationTimeFieldBuilder();
        getLastLoginTimeFieldBuilder();
        getObjectPrivilegeFieldBuilder();
        getGroupsFieldBuilder();
        getIdentitiesFieldBuilder();
        getRolesFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      login_ = "";
      bitField0_ = (bitField0_ & ~0x00000001);
      name_ = "";
      bitField0_ = (bitField0_ & ~0x00000002);
      displayName_ = "";
      bitField0_ = (bitField0_ & ~0x00000004);
      email_ = "";
      bitField0_ = (bitField0_ & ~0x00000008);
      active_ = false;
      bitField0_ = (bitField0_ & ~0x00000010);
      superuser_ = false;
      bitField0_ = (bitField0_ & ~0x00000020);
      if (createdByBuilder_ == null) {
        createdBy_ = null;
      } else {
        createdByBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      if (creationTimeBuilder_ == null) {
        creationTime_ = null;
      } else {
        creationTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000080);
      if (confirmationTimeBuilder_ == null) {
        confirmationTime_ = null;
      } else {
        confirmationTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000100);
      if (lastLoginTimeBuilder_ == null) {
        lastLoginTime_ = null;
      } else {
        lastLoginTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000200);
      systemPrivilege_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00000400);
      if (objectPrivilegeBuilder_ == null) {
        objectPrivilege_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000800);
      } else {
        objectPrivilegeBuilder_.clear();
      }
      if (groupsBuilder_ == null) {
        groups_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00001000);
      } else {
        groupsBuilder_.clear();
      }
      if (identitiesBuilder_ == null) {
        identities_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00002000);
      } else {
        identitiesBuilder_.clear();
      }
      if (rolesBuilder_ == null) {
        roles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00004000);
      } else {
        rolesBuilder_.clear();
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return org.yamcs.protobuf.IamProto.internal_static_yamcs_protobuf_iam_UserInfo_descriptor;
    }

    @java.lang.Override
    public org.yamcs.protobuf.UserInfo getDefaultInstanceForType() {
      return org.yamcs.protobuf.UserInfo.getDefaultInstance();
    }

    @java.lang.Override
    public org.yamcs.protobuf.UserInfo build() {
      org.yamcs.protobuf.UserInfo result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public org.yamcs.protobuf.UserInfo buildPartial() {
      org.yamcs.protobuf.UserInfo result = new org.yamcs.protobuf.UserInfo(this);
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        to_bitField0_ |= 0x00000001;
      }
      result.login_ = login_;
      if (((from_bitField0_ & 0x00000002) != 0)) {
        to_bitField0_ |= 0x00000002;
      }
      result.name_ = name_;
      if (((from_bitField0_ & 0x00000004) != 0)) {
        to_bitField0_ |= 0x00000004;
      }
      result.displayName_ = displayName_;
      if (((from_bitField0_ & 0x00000008) != 0)) {
        to_bitField0_ |= 0x00000008;
      }
      result.email_ = email_;
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.active_ = active_;
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.superuser_ = superuser_;
        to_bitField0_ |= 0x00000020;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        if (createdByBuilder_ == null) {
          result.createdBy_ = createdBy_;
        } else {
          result.createdBy_ = createdByBuilder_.build();
        }
        to_bitField0_ |= 0x00000040;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        if (creationTimeBuilder_ == null) {
          result.creationTime_ = creationTime_;
        } else {
          result.creationTime_ = creationTimeBuilder_.build();
        }
        to_bitField0_ |= 0x00000080;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        if (confirmationTimeBuilder_ == null) {
          result.confirmationTime_ = confirmationTime_;
        } else {
          result.confirmationTime_ = confirmationTimeBuilder_.build();
        }
        to_bitField0_ |= 0x00000100;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        if (lastLoginTimeBuilder_ == null) {
          result.lastLoginTime_ = lastLoginTime_;
        } else {
          result.lastLoginTime_ = lastLoginTimeBuilder_.build();
        }
        to_bitField0_ |= 0x00000200;
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        systemPrivilege_ = systemPrivilege_.getUnmodifiableView();
        bitField0_ = (bitField0_ & ~0x00000400);
      }
      result.systemPrivilege_ = systemPrivilege_;
      if (objectPrivilegeBuilder_ == null) {
        if (((bitField0_ & 0x00000800) != 0)) {
          objectPrivilege_ = java.util.Collections.unmodifiableList(objectPrivilege_);
          bitField0_ = (bitField0_ & ~0x00000800);
        }
        result.objectPrivilege_ = objectPrivilege_;
      } else {
        result.objectPrivilege_ = objectPrivilegeBuilder_.build();
      }
      if (groupsBuilder_ == null) {
        if (((bitField0_ & 0x00001000) != 0)) {
          groups_ = java.util.Collections.unmodifiableList(groups_);
          bitField0_ = (bitField0_ & ~0x00001000);
        }
        result.groups_ = groups_;
      } else {
        result.groups_ = groupsBuilder_.build();
      }
      if (identitiesBuilder_ == null) {
        if (((bitField0_ & 0x00002000) != 0)) {
          identities_ = java.util.Collections.unmodifiableList(identities_);
          bitField0_ = (bitField0_ & ~0x00002000);
        }
        result.identities_ = identities_;
      } else {
        result.identities_ = identitiesBuilder_.build();
      }
      if (rolesBuilder_ == null) {
        if (((bitField0_ & 0x00004000) != 0)) {
          roles_ = java.util.Collections.unmodifiableList(roles_);
          bitField0_ = (bitField0_ & ~0x00004000);
        }
        result.roles_ = roles_;
      } else {
        result.roles_ = rolesBuilder_.build();
      }
      result.bitField0_ = to_bitField0_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof org.yamcs.protobuf.UserInfo) {
        return mergeFrom((org.yamcs.protobuf.UserInfo)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(org.yamcs.protobuf.UserInfo other) {
      if (other == org.yamcs.protobuf.UserInfo.getDefaultInstance()) return this;
      if (other.hasLogin()) {
        bitField0_ |= 0x00000001;
        login_ = other.login_;
        onChanged();
      }
      if (other.hasName()) {
        bitField0_ |= 0x00000002;
        name_ = other.name_;
        onChanged();
      }
      if (other.hasDisplayName()) {
        bitField0_ |= 0x00000004;
        displayName_ = other.displayName_;
        onChanged();
      }
      if (other.hasEmail()) {
        bitField0_ |= 0x00000008;
        email_ = other.email_;
        onChanged();
      }
      if (other.hasActive()) {
        setActive(other.getActive());
      }
      if (other.hasSuperuser()) {
        setSuperuser(other.getSuperuser());
      }
      if (other.hasCreatedBy()) {
        mergeCreatedBy(other.getCreatedBy());
      }
      if (other.hasCreationTime()) {
        mergeCreationTime(other.getCreationTime());
      }
      if (other.hasConfirmationTime()) {
        mergeConfirmationTime(other.getConfirmationTime());
      }
      if (other.hasLastLoginTime()) {
        mergeLastLoginTime(other.getLastLoginTime());
      }
      if (!other.systemPrivilege_.isEmpty()) {
        if (systemPrivilege_.isEmpty()) {
          systemPrivilege_ = other.systemPrivilege_;
          bitField0_ = (bitField0_ & ~0x00000400);
        } else {
          ensureSystemPrivilegeIsMutable();
          systemPrivilege_.addAll(other.systemPrivilege_);
        }
        onChanged();
      }
      if (objectPrivilegeBuilder_ == null) {
        if (!other.objectPrivilege_.isEmpty()) {
          if (objectPrivilege_.isEmpty()) {
            objectPrivilege_ = other.objectPrivilege_;
            bitField0_ = (bitField0_ & ~0x00000800);
          } else {
            ensureObjectPrivilegeIsMutable();
            objectPrivilege_.addAll(other.objectPrivilege_);
          }
          onChanged();
        }
      } else {
        if (!other.objectPrivilege_.isEmpty()) {
          if (objectPrivilegeBuilder_.isEmpty()) {
            objectPrivilegeBuilder_.dispose();
            objectPrivilegeBuilder_ = null;
            objectPrivilege_ = other.objectPrivilege_;
            bitField0_ = (bitField0_ & ~0x00000800);
            objectPrivilegeBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getObjectPrivilegeFieldBuilder() : null;
          } else {
            objectPrivilegeBuilder_.addAllMessages(other.objectPrivilege_);
          }
        }
      }
      if (groupsBuilder_ == null) {
        if (!other.groups_.isEmpty()) {
          if (groups_.isEmpty()) {
            groups_ = other.groups_;
            bitField0_ = (bitField0_ & ~0x00001000);
          } else {
            ensureGroupsIsMutable();
            groups_.addAll(other.groups_);
          }
          onChanged();
        }
      } else {
        if (!other.groups_.isEmpty()) {
          if (groupsBuilder_.isEmpty()) {
            groupsBuilder_.dispose();
            groupsBuilder_ = null;
            groups_ = other.groups_;
            bitField0_ = (bitField0_ & ~0x00001000);
            groupsBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getGroupsFieldBuilder() : null;
          } else {
            groupsBuilder_.addAllMessages(other.groups_);
          }
        }
      }
      if (identitiesBuilder_ == null) {
        if (!other.identities_.isEmpty()) {
          if (identities_.isEmpty()) {
            identities_ = other.identities_;
            bitField0_ = (bitField0_ & ~0x00002000);
          } else {
            ensureIdentitiesIsMutable();
            identities_.addAll(other.identities_);
          }
          onChanged();
        }
      } else {
        if (!other.identities_.isEmpty()) {
          if (identitiesBuilder_.isEmpty()) {
            identitiesBuilder_.dispose();
            identitiesBuilder_ = null;
            identities_ = other.identities_;
            bitField0_ = (bitField0_ & ~0x00002000);
            identitiesBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getIdentitiesFieldBuilder() : null;
          } else {
            identitiesBuilder_.addAllMessages(other.identities_);
          }
        }
      }
      if (rolesBuilder_ == null) {
        if (!other.roles_.isEmpty()) {
          if (roles_.isEmpty()) {
            roles_ = other.roles_;
            bitField0_ = (bitField0_ & ~0x00004000);
          } else {
            ensureRolesIsMutable();
            roles_.addAll(other.roles_);
          }
          onChanged();
        }
      } else {
        if (!other.roles_.isEmpty()) {
          if (rolesBuilder_.isEmpty()) {
            rolesBuilder_.dispose();
            rolesBuilder_ = null;
            roles_ = other.roles_;
            bitField0_ = (bitField0_ & ~0x00004000);
            rolesBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getRolesFieldBuilder() : null;
          } else {
            rolesBuilder_.addAllMessages(other.roles_);
          }
        }
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      org.yamcs.protobuf.UserInfo parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (org.yamcs.protobuf.UserInfo) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private java.lang.Object login_ = "";
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public boolean hasLogin() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public java.lang.String getLogin() {
      java.lang.Object ref = login_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          login_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public com.google.protobuf.ByteString
        getLoginBytes() {
      java.lang.Object ref = login_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        login_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public Builder setLogin(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
      login_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public Builder clearLogin() {
      bitField0_ = (bitField0_ & ~0x00000001);
      login_ = getDefaultInstance().getLogin();
      onChanged();
      return this;
    }
    /**
     * optional string login = 1 [deprecated = true];
     */
    @java.lang.Deprecated public Builder setLoginBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
      login_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object name_ = "";
    /**
     * optional string name = 17;
     */
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name = 17;
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string name = 17;
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string name = 17;
     */
    public Builder setName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
      name_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string name = 17;
     */
    public Builder clearName() {
      bitField0_ = (bitField0_ & ~0x00000002);
      name_ = getDefaultInstance().getName();
      onChanged();
      return this;
    }
    /**
     * optional string name = 17;
     */
    public Builder setNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
      name_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object displayName_ = "";
    /**
     * optional string displayName = 18;
     */
    public boolean hasDisplayName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string displayName = 18;
     */
    public java.lang.String getDisplayName() {
      java.lang.Object ref = displayName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          displayName_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string displayName = 18;
     */
    public com.google.protobuf.ByteString
        getDisplayNameBytes() {
      java.lang.Object ref = displayName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        displayName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string displayName = 18;
     */
    public Builder setDisplayName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      displayName_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string displayName = 18;
     */
    public Builder clearDisplayName() {
      bitField0_ = (bitField0_ & ~0x00000004);
      displayName_ = getDefaultInstance().getDisplayName();
      onChanged();
      return this;
    }
    /**
     * optional string displayName = 18;
     */
    public Builder setDisplayNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      displayName_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object email_ = "";
    /**
     * optional string email = 19;
     */
    public boolean hasEmail() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string email = 19;
     */
    public java.lang.String getEmail() {
      java.lang.Object ref = email_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          email_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string email = 19;
     */
    public com.google.protobuf.ByteString
        getEmailBytes() {
      java.lang.Object ref = email_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        email_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string email = 19;
     */
    public Builder setEmail(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      email_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string email = 19;
     */
    public Builder clearEmail() {
      bitField0_ = (bitField0_ & ~0x00000008);
      email_ = getDefaultInstance().getEmail();
      onChanged();
      return this;
    }
    /**
     * optional string email = 19;
     */
    public Builder setEmailBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      email_ = value;
      onChanged();
      return this;
    }

    private boolean active_ ;
    /**
     * optional bool active = 16;
     */
    public boolean hasActive() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional bool active = 16;
     */
    public boolean getActive() {
      return active_;
    }
    /**
     * optional bool active = 16;
     */
    public Builder setActive(boolean value) {
      bitField0_ |= 0x00000010;
      active_ = value;
      onChanged();
      return this;
    }
    /**
     * optional bool active = 16;
     */
    public Builder clearActive() {
      bitField0_ = (bitField0_ & ~0x00000010);
      active_ = false;
      onChanged();
      return this;
    }

    private boolean superuser_ ;
    /**
     * optional bool superuser = 13;
     */
    public boolean hasSuperuser() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional bool superuser = 13;
     */
    public boolean getSuperuser() {
      return superuser_;
    }
    /**
     * optional bool superuser = 13;
     */
    public Builder setSuperuser(boolean value) {
      bitField0_ |= 0x00000020;
      superuser_ = value;
      onChanged();
      return this;
    }
    /**
     * optional bool superuser = 13;
     */
    public Builder clearSuperuser() {
      bitField0_ = (bitField0_ & ~0x00000020);
      superuser_ = false;
      onChanged();
      return this;
    }

    private org.yamcs.protobuf.UserInfo createdBy_;
    private com.google.protobuf.SingleFieldBuilderV3<
        org.yamcs.protobuf.UserInfo, org.yamcs.protobuf.UserInfo.Builder, org.yamcs.protobuf.UserInfoOrBuilder> createdByBuilder_;
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public boolean hasCreatedBy() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public org.yamcs.protobuf.UserInfo getCreatedBy() {
      if (createdByBuilder_ == null) {
        return createdBy_ == null ? org.yamcs.protobuf.UserInfo.getDefaultInstance() : createdBy_;
      } else {
        return createdByBuilder_.getMessage();
      }
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public Builder setCreatedBy(org.yamcs.protobuf.UserInfo value) {
      if (createdByBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        createdBy_ = value;
        onChanged();
      } else {
        createdByBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public Builder setCreatedBy(
        org.yamcs.protobuf.UserInfo.Builder builderForValue) {
      if (createdByBuilder_ == null) {
        createdBy_ = builderForValue.build();
        onChanged();
      } else {
        createdByBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public Builder mergeCreatedBy(org.yamcs.protobuf.UserInfo value) {
      if (createdByBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0) &&
            createdBy_ != null &&
            createdBy_ != org.yamcs.protobuf.UserInfo.getDefaultInstance()) {
          createdBy_ =
            org.yamcs.protobuf.UserInfo.newBuilder(createdBy_).mergeFrom(value).buildPartial();
        } else {
          createdBy_ = value;
        }
        onChanged();
      } else {
        createdByBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public Builder clearCreatedBy() {
      if (createdByBuilder_ == null) {
        createdBy_ = null;
        onChanged();
      } else {
        createdByBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      return this;
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public org.yamcs.protobuf.UserInfo.Builder getCreatedByBuilder() {
      bitField0_ |= 0x00000040;
      onChanged();
      return getCreatedByFieldBuilder().getBuilder();
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    public org.yamcs.protobuf.UserInfoOrBuilder getCreatedByOrBuilder() {
      if (createdByBuilder_ != null) {
        return createdByBuilder_.getMessageOrBuilder();
      } else {
        return createdBy_ == null ?
            org.yamcs.protobuf.UserInfo.getDefaultInstance() : createdBy_;
      }
    }
    /**
     * optional .yamcs.protobuf.iam.UserInfo createdBy = 20;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        org.yamcs.protobuf.UserInfo, org.yamcs.protobuf.UserInfo.Builder, org.yamcs.protobuf.UserInfoOrBuilder> 
        getCreatedByFieldBuilder() {
      if (createdByBuilder_ == null) {
        createdByBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            org.yamcs.protobuf.UserInfo, org.yamcs.protobuf.UserInfo.Builder, org.yamcs.protobuf.UserInfoOrBuilder>(
                getCreatedBy(),
                getParentForChildren(),
                isClean());
        createdBy_ = null;
      }
      return createdByBuilder_;
    }

    private com.google.protobuf.Timestamp creationTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> creationTimeBuilder_;
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public boolean hasCreationTime() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public com.google.protobuf.Timestamp getCreationTime() {
      if (creationTimeBuilder_ == null) {
        return creationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : creationTime_;
      } else {
        return creationTimeBuilder_.getMessage();
      }
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public Builder setCreationTime(com.google.protobuf.Timestamp value) {
      if (creationTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        creationTime_ = value;
        onChanged();
      } else {
        creationTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000080;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public Builder setCreationTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (creationTimeBuilder_ == null) {
        creationTime_ = builderForValue.build();
        onChanged();
      } else {
        creationTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000080;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public Builder mergeCreationTime(com.google.protobuf.Timestamp value) {
      if (creationTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000080) != 0) &&
            creationTime_ != null &&
            creationTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          creationTime_ =
            com.google.protobuf.Timestamp.newBuilder(creationTime_).mergeFrom(value).buildPartial();
        } else {
          creationTime_ = value;
        }
        onChanged();
      } else {
        creationTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000080;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public Builder clearCreationTime() {
      if (creationTimeBuilder_ == null) {
        creationTime_ = null;
        onChanged();
      } else {
        creationTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000080);
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public com.google.protobuf.Timestamp.Builder getCreationTimeBuilder() {
      bitField0_ |= 0x00000080;
      onChanged();
      return getCreationTimeFieldBuilder().getBuilder();
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    public com.google.protobuf.TimestampOrBuilder getCreationTimeOrBuilder() {
      if (creationTimeBuilder_ != null) {
        return creationTimeBuilder_.getMessageOrBuilder();
      } else {
        return creationTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : creationTime_;
      }
    }
    /**
     * optional .google.protobuf.Timestamp creationTime = 14;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getCreationTimeFieldBuilder() {
      if (creationTimeBuilder_ == null) {
        creationTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getCreationTime(),
                getParentForChildren(),
                isClean());
        creationTime_ = null;
      }
      return creationTimeBuilder_;
    }

    private com.google.protobuf.Timestamp confirmationTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> confirmationTimeBuilder_;
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public boolean hasConfirmationTime() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public com.google.protobuf.Timestamp getConfirmationTime() {
      if (confirmationTimeBuilder_ == null) {
        return confirmationTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : confirmationTime_;
      } else {
        return confirmationTimeBuilder_.getMessage();
      }
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public Builder setConfirmationTime(com.google.protobuf.Timestamp value) {
      if (confirmationTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        confirmationTime_ = value;
        onChanged();
      } else {
        confirmationTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000100;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public Builder setConfirmationTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (confirmationTimeBuilder_ == null) {
        confirmationTime_ = builderForValue.build();
        onChanged();
      } else {
        confirmationTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000100;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public Builder mergeConfirmationTime(com.google.protobuf.Timestamp value) {
      if (confirmationTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000100) != 0) &&
            confirmationTime_ != null &&
            confirmationTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          confirmationTime_ =
            com.google.protobuf.Timestamp.newBuilder(confirmationTime_).mergeFrom(value).buildPartial();
        } else {
          confirmationTime_ = value;
        }
        onChanged();
      } else {
        confirmationTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000100;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public Builder clearConfirmationTime() {
      if (confirmationTimeBuilder_ == null) {
        confirmationTime_ = null;
        onChanged();
      } else {
        confirmationTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000100);
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public com.google.protobuf.Timestamp.Builder getConfirmationTimeBuilder() {
      bitField0_ |= 0x00000100;
      onChanged();
      return getConfirmationTimeFieldBuilder().getBuilder();
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    public com.google.protobuf.TimestampOrBuilder getConfirmationTimeOrBuilder() {
      if (confirmationTimeBuilder_ != null) {
        return confirmationTimeBuilder_.getMessageOrBuilder();
      } else {
        return confirmationTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : confirmationTime_;
      }
    }
    /**
     * optional .google.protobuf.Timestamp confirmationTime = 21;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getConfirmationTimeFieldBuilder() {
      if (confirmationTimeBuilder_ == null) {
        confirmationTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getConfirmationTime(),
                getParentForChildren(),
                isClean());
        confirmationTime_ = null;
      }
      return confirmationTimeBuilder_;
    }

    private com.google.protobuf.Timestamp lastLoginTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> lastLoginTimeBuilder_;
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public boolean hasLastLoginTime() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public com.google.protobuf.Timestamp getLastLoginTime() {
      if (lastLoginTimeBuilder_ == null) {
        return lastLoginTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lastLoginTime_;
      } else {
        return lastLoginTimeBuilder_.getMessage();
      }
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public Builder setLastLoginTime(com.google.protobuf.Timestamp value) {
      if (lastLoginTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        lastLoginTime_ = value;
        onChanged();
      } else {
        lastLoginTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public Builder setLastLoginTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (lastLoginTimeBuilder_ == null) {
        lastLoginTime_ = builderForValue.build();
        onChanged();
      } else {
        lastLoginTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public Builder mergeLastLoginTime(com.google.protobuf.Timestamp value) {
      if (lastLoginTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000200) != 0) &&
            lastLoginTime_ != null &&
            lastLoginTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          lastLoginTime_ =
            com.google.protobuf.Timestamp.newBuilder(lastLoginTime_).mergeFrom(value).buildPartial();
        } else {
          lastLoginTime_ = value;
        }
        onChanged();
      } else {
        lastLoginTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public Builder clearLastLoginTime() {
      if (lastLoginTimeBuilder_ == null) {
        lastLoginTime_ = null;
        onChanged();
      } else {
        lastLoginTimeBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000200);
      return this;
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public com.google.protobuf.Timestamp.Builder getLastLoginTimeBuilder() {
      bitField0_ |= 0x00000200;
      onChanged();
      return getLastLoginTimeFieldBuilder().getBuilder();
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    public com.google.protobuf.TimestampOrBuilder getLastLoginTimeOrBuilder() {
      if (lastLoginTimeBuilder_ != null) {
        return lastLoginTimeBuilder_.getMessageOrBuilder();
      } else {
        return lastLoginTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : lastLoginTime_;
      }
    }
    /**
     * optional .google.protobuf.Timestamp lastLoginTime = 15;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getLastLoginTimeFieldBuilder() {
      if (lastLoginTimeBuilder_ == null) {
        lastLoginTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getLastLoginTime(),
                getParentForChildren(),
                isClean());
        lastLoginTime_ = null;
      }
      return lastLoginTimeBuilder_;
    }

    private com.google.protobuf.LazyStringList systemPrivilege_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    private void ensureSystemPrivilegeIsMutable() {
      if (!((bitField0_ & 0x00000400) != 0)) {
        systemPrivilege_ = new com.google.protobuf.LazyStringArrayList(systemPrivilege_);
        bitField0_ |= 0x00000400;
       }
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public com.google.protobuf.ProtocolStringList
        getSystemPrivilegeList() {
      return systemPrivilege_.getUnmodifiableView();
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public int getSystemPrivilegeCount() {
      return systemPrivilege_.size();
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public java.lang.String getSystemPrivilege(int index) {
      return systemPrivilege_.get(index);
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public com.google.protobuf.ByteString
        getSystemPrivilegeBytes(int index) {
      return systemPrivilege_.getByteString(index);
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public Builder setSystemPrivilege(
        int index, java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  ensureSystemPrivilegeIsMutable();
      systemPrivilege_.set(index, value);
      onChanged();
      return this;
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public Builder addSystemPrivilege(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  ensureSystemPrivilegeIsMutable();
      systemPrivilege_.add(value);
      onChanged();
      return this;
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public Builder addAllSystemPrivilege(
        java.lang.Iterable values) {
      ensureSystemPrivilegeIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, systemPrivilege_);
      onChanged();
      return this;
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public Builder clearSystemPrivilege() {
      systemPrivilege_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00000400);
      onChanged();
      return this;
    }
    /**
     * repeated string systemPrivilege = 11;
     */
    public Builder addSystemPrivilegeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  ensureSystemPrivilegeIsMutable();
      systemPrivilege_.add(value);
      onChanged();
      return this;
    }

    private java.util.List objectPrivilege_ =
      java.util.Collections.emptyList();
    private void ensureObjectPrivilegeIsMutable() {
      if (!((bitField0_ & 0x00000800) != 0)) {
        objectPrivilege_ = new java.util.ArrayList(objectPrivilege_);
        bitField0_ |= 0x00000800;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.ObjectPrivilegeInfo, org.yamcs.protobuf.ObjectPrivilegeInfo.Builder, org.yamcs.protobuf.ObjectPrivilegeInfoOrBuilder> objectPrivilegeBuilder_;

    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public java.util.List getObjectPrivilegeList() {
      if (objectPrivilegeBuilder_ == null) {
        return java.util.Collections.unmodifiableList(objectPrivilege_);
      } else {
        return objectPrivilegeBuilder_.getMessageList();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public int getObjectPrivilegeCount() {
      if (objectPrivilegeBuilder_ == null) {
        return objectPrivilege_.size();
      } else {
        return objectPrivilegeBuilder_.getCount();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public org.yamcs.protobuf.ObjectPrivilegeInfo getObjectPrivilege(int index) {
      if (objectPrivilegeBuilder_ == null) {
        return objectPrivilege_.get(index);
      } else {
        return objectPrivilegeBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder setObjectPrivilege(
        int index, org.yamcs.protobuf.ObjectPrivilegeInfo value) {
      if (objectPrivilegeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.set(index, value);
        onChanged();
      } else {
        objectPrivilegeBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder setObjectPrivilege(
        int index, org.yamcs.protobuf.ObjectPrivilegeInfo.Builder builderForValue) {
      if (objectPrivilegeBuilder_ == null) {
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.set(index, builderForValue.build());
        onChanged();
      } else {
        objectPrivilegeBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder addObjectPrivilege(org.yamcs.protobuf.ObjectPrivilegeInfo value) {
      if (objectPrivilegeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.add(value);
        onChanged();
      } else {
        objectPrivilegeBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder addObjectPrivilege(
        int index, org.yamcs.protobuf.ObjectPrivilegeInfo value) {
      if (objectPrivilegeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.add(index, value);
        onChanged();
      } else {
        objectPrivilegeBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder addObjectPrivilege(
        org.yamcs.protobuf.ObjectPrivilegeInfo.Builder builderForValue) {
      if (objectPrivilegeBuilder_ == null) {
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.add(builderForValue.build());
        onChanged();
      } else {
        objectPrivilegeBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder addObjectPrivilege(
        int index, org.yamcs.protobuf.ObjectPrivilegeInfo.Builder builderForValue) {
      if (objectPrivilegeBuilder_ == null) {
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.add(index, builderForValue.build());
        onChanged();
      } else {
        objectPrivilegeBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder addAllObjectPrivilege(
        java.lang.Iterable values) {
      if (objectPrivilegeBuilder_ == null) {
        ensureObjectPrivilegeIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, objectPrivilege_);
        onChanged();
      } else {
        objectPrivilegeBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder clearObjectPrivilege() {
      if (objectPrivilegeBuilder_ == null) {
        objectPrivilege_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000800);
        onChanged();
      } else {
        objectPrivilegeBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public Builder removeObjectPrivilege(int index) {
      if (objectPrivilegeBuilder_ == null) {
        ensureObjectPrivilegeIsMutable();
        objectPrivilege_.remove(index);
        onChanged();
      } else {
        objectPrivilegeBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public org.yamcs.protobuf.ObjectPrivilegeInfo.Builder getObjectPrivilegeBuilder(
        int index) {
      return getObjectPrivilegeFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public org.yamcs.protobuf.ObjectPrivilegeInfoOrBuilder getObjectPrivilegeOrBuilder(
        int index) {
      if (objectPrivilegeBuilder_ == null) {
        return objectPrivilege_.get(index);  } else {
        return objectPrivilegeBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public java.util.List 
         getObjectPrivilegeOrBuilderList() {
      if (objectPrivilegeBuilder_ != null) {
        return objectPrivilegeBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(objectPrivilege_);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public org.yamcs.protobuf.ObjectPrivilegeInfo.Builder addObjectPrivilegeBuilder() {
      return getObjectPrivilegeFieldBuilder().addBuilder(
          org.yamcs.protobuf.ObjectPrivilegeInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public org.yamcs.protobuf.ObjectPrivilegeInfo.Builder addObjectPrivilegeBuilder(
        int index) {
      return getObjectPrivilegeFieldBuilder().addBuilder(
          index, org.yamcs.protobuf.ObjectPrivilegeInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.ObjectPrivilegeInfo objectPrivilege = 12;
     */
    public java.util.List 
         getObjectPrivilegeBuilderList() {
      return getObjectPrivilegeFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.ObjectPrivilegeInfo, org.yamcs.protobuf.ObjectPrivilegeInfo.Builder, org.yamcs.protobuf.ObjectPrivilegeInfoOrBuilder> 
        getObjectPrivilegeFieldBuilder() {
      if (objectPrivilegeBuilder_ == null) {
        objectPrivilegeBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            org.yamcs.protobuf.ObjectPrivilegeInfo, org.yamcs.protobuf.ObjectPrivilegeInfo.Builder, org.yamcs.protobuf.ObjectPrivilegeInfoOrBuilder>(
                objectPrivilege_,
                ((bitField0_ & 0x00000800) != 0),
                getParentForChildren(),
                isClean());
        objectPrivilege_ = null;
      }
      return objectPrivilegeBuilder_;
    }

    private java.util.List groups_ =
      java.util.Collections.emptyList();
    private void ensureGroupsIsMutable() {
      if (!((bitField0_ & 0x00001000) != 0)) {
        groups_ = new java.util.ArrayList(groups_);
        bitField0_ |= 0x00001000;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.GroupInfo, org.yamcs.protobuf.GroupInfo.Builder, org.yamcs.protobuf.GroupInfoOrBuilder> groupsBuilder_;

    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public java.util.List getGroupsList() {
      if (groupsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(groups_);
      } else {
        return groupsBuilder_.getMessageList();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public int getGroupsCount() {
      if (groupsBuilder_ == null) {
        return groups_.size();
      } else {
        return groupsBuilder_.getCount();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public org.yamcs.protobuf.GroupInfo getGroups(int index) {
      if (groupsBuilder_ == null) {
        return groups_.get(index);
      } else {
        return groupsBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder setGroups(
        int index, org.yamcs.protobuf.GroupInfo value) {
      if (groupsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGroupsIsMutable();
        groups_.set(index, value);
        onChanged();
      } else {
        groupsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder setGroups(
        int index, org.yamcs.protobuf.GroupInfo.Builder builderForValue) {
      if (groupsBuilder_ == null) {
        ensureGroupsIsMutable();
        groups_.set(index, builderForValue.build());
        onChanged();
      } else {
        groupsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder addGroups(org.yamcs.protobuf.GroupInfo value) {
      if (groupsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGroupsIsMutable();
        groups_.add(value);
        onChanged();
      } else {
        groupsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder addGroups(
        int index, org.yamcs.protobuf.GroupInfo value) {
      if (groupsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGroupsIsMutable();
        groups_.add(index, value);
        onChanged();
      } else {
        groupsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder addGroups(
        org.yamcs.protobuf.GroupInfo.Builder builderForValue) {
      if (groupsBuilder_ == null) {
        ensureGroupsIsMutable();
        groups_.add(builderForValue.build());
        onChanged();
      } else {
        groupsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder addGroups(
        int index, org.yamcs.protobuf.GroupInfo.Builder builderForValue) {
      if (groupsBuilder_ == null) {
        ensureGroupsIsMutable();
        groups_.add(index, builderForValue.build());
        onChanged();
      } else {
        groupsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder addAllGroups(
        java.lang.Iterable values) {
      if (groupsBuilder_ == null) {
        ensureGroupsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, groups_);
        onChanged();
      } else {
        groupsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder clearGroups() {
      if (groupsBuilder_ == null) {
        groups_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00001000);
        onChanged();
      } else {
        groupsBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public Builder removeGroups(int index) {
      if (groupsBuilder_ == null) {
        ensureGroupsIsMutable();
        groups_.remove(index);
        onChanged();
      } else {
        groupsBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public org.yamcs.protobuf.GroupInfo.Builder getGroupsBuilder(
        int index) {
      return getGroupsFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public org.yamcs.protobuf.GroupInfoOrBuilder getGroupsOrBuilder(
        int index) {
      if (groupsBuilder_ == null) {
        return groups_.get(index);  } else {
        return groupsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public java.util.List 
         getGroupsOrBuilderList() {
      if (groupsBuilder_ != null) {
        return groupsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(groups_);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public org.yamcs.protobuf.GroupInfo.Builder addGroupsBuilder() {
      return getGroupsFieldBuilder().addBuilder(
          org.yamcs.protobuf.GroupInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public org.yamcs.protobuf.GroupInfo.Builder addGroupsBuilder(
        int index) {
      return getGroupsFieldBuilder().addBuilder(
          index, org.yamcs.protobuf.GroupInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.GroupInfo groups = 22;
     */
    public java.util.List 
         getGroupsBuilderList() {
      return getGroupsFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.GroupInfo, org.yamcs.protobuf.GroupInfo.Builder, org.yamcs.protobuf.GroupInfoOrBuilder> 
        getGroupsFieldBuilder() {
      if (groupsBuilder_ == null) {
        groupsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            org.yamcs.protobuf.GroupInfo, org.yamcs.protobuf.GroupInfo.Builder, org.yamcs.protobuf.GroupInfoOrBuilder>(
                groups_,
                ((bitField0_ & 0x00001000) != 0),
                getParentForChildren(),
                isClean());
        groups_ = null;
      }
      return groupsBuilder_;
    }

    private java.util.List identities_ =
      java.util.Collections.emptyList();
    private void ensureIdentitiesIsMutable() {
      if (!((bitField0_ & 0x00002000) != 0)) {
        identities_ = new java.util.ArrayList(identities_);
        bitField0_ |= 0x00002000;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.ExternalIdentityInfo, org.yamcs.protobuf.ExternalIdentityInfo.Builder, org.yamcs.protobuf.ExternalIdentityInfoOrBuilder> identitiesBuilder_;

    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public java.util.List getIdentitiesList() {
      if (identitiesBuilder_ == null) {
        return java.util.Collections.unmodifiableList(identities_);
      } else {
        return identitiesBuilder_.getMessageList();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public int getIdentitiesCount() {
      if (identitiesBuilder_ == null) {
        return identities_.size();
      } else {
        return identitiesBuilder_.getCount();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public org.yamcs.protobuf.ExternalIdentityInfo getIdentities(int index) {
      if (identitiesBuilder_ == null) {
        return identities_.get(index);
      } else {
        return identitiesBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder setIdentities(
        int index, org.yamcs.protobuf.ExternalIdentityInfo value) {
      if (identitiesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureIdentitiesIsMutable();
        identities_.set(index, value);
        onChanged();
      } else {
        identitiesBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder setIdentities(
        int index, org.yamcs.protobuf.ExternalIdentityInfo.Builder builderForValue) {
      if (identitiesBuilder_ == null) {
        ensureIdentitiesIsMutable();
        identities_.set(index, builderForValue.build());
        onChanged();
      } else {
        identitiesBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder addIdentities(org.yamcs.protobuf.ExternalIdentityInfo value) {
      if (identitiesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureIdentitiesIsMutable();
        identities_.add(value);
        onChanged();
      } else {
        identitiesBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder addIdentities(
        int index, org.yamcs.protobuf.ExternalIdentityInfo value) {
      if (identitiesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureIdentitiesIsMutable();
        identities_.add(index, value);
        onChanged();
      } else {
        identitiesBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder addIdentities(
        org.yamcs.protobuf.ExternalIdentityInfo.Builder builderForValue) {
      if (identitiesBuilder_ == null) {
        ensureIdentitiesIsMutable();
        identities_.add(builderForValue.build());
        onChanged();
      } else {
        identitiesBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder addIdentities(
        int index, org.yamcs.protobuf.ExternalIdentityInfo.Builder builderForValue) {
      if (identitiesBuilder_ == null) {
        ensureIdentitiesIsMutable();
        identities_.add(index, builderForValue.build());
        onChanged();
      } else {
        identitiesBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder addAllIdentities(
        java.lang.Iterable values) {
      if (identitiesBuilder_ == null) {
        ensureIdentitiesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, identities_);
        onChanged();
      } else {
        identitiesBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder clearIdentities() {
      if (identitiesBuilder_ == null) {
        identities_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00002000);
        onChanged();
      } else {
        identitiesBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public Builder removeIdentities(int index) {
      if (identitiesBuilder_ == null) {
        ensureIdentitiesIsMutable();
        identities_.remove(index);
        onChanged();
      } else {
        identitiesBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public org.yamcs.protobuf.ExternalIdentityInfo.Builder getIdentitiesBuilder(
        int index) {
      return getIdentitiesFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public org.yamcs.protobuf.ExternalIdentityInfoOrBuilder getIdentitiesOrBuilder(
        int index) {
      if (identitiesBuilder_ == null) {
        return identities_.get(index);  } else {
        return identitiesBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public java.util.List 
         getIdentitiesOrBuilderList() {
      if (identitiesBuilder_ != null) {
        return identitiesBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(identities_);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public org.yamcs.protobuf.ExternalIdentityInfo.Builder addIdentitiesBuilder() {
      return getIdentitiesFieldBuilder().addBuilder(
          org.yamcs.protobuf.ExternalIdentityInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public org.yamcs.protobuf.ExternalIdentityInfo.Builder addIdentitiesBuilder(
        int index) {
      return getIdentitiesFieldBuilder().addBuilder(
          index, org.yamcs.protobuf.ExternalIdentityInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.ExternalIdentityInfo identities = 23;
     */
    public java.util.List 
         getIdentitiesBuilderList() {
      return getIdentitiesFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.ExternalIdentityInfo, org.yamcs.protobuf.ExternalIdentityInfo.Builder, org.yamcs.protobuf.ExternalIdentityInfoOrBuilder> 
        getIdentitiesFieldBuilder() {
      if (identitiesBuilder_ == null) {
        identitiesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            org.yamcs.protobuf.ExternalIdentityInfo, org.yamcs.protobuf.ExternalIdentityInfo.Builder, org.yamcs.protobuf.ExternalIdentityInfoOrBuilder>(
                identities_,
                ((bitField0_ & 0x00002000) != 0),
                getParentForChildren(),
                isClean());
        identities_ = null;
      }
      return identitiesBuilder_;
    }

    private java.util.List roles_ =
      java.util.Collections.emptyList();
    private void ensureRolesIsMutable() {
      if (!((bitField0_ & 0x00004000) != 0)) {
        roles_ = new java.util.ArrayList(roles_);
        bitField0_ |= 0x00004000;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.RoleInfo, org.yamcs.protobuf.RoleInfo.Builder, org.yamcs.protobuf.RoleInfoOrBuilder> rolesBuilder_;

    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public java.util.List getRolesList() {
      if (rolesBuilder_ == null) {
        return java.util.Collections.unmodifiableList(roles_);
      } else {
        return rolesBuilder_.getMessageList();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public int getRolesCount() {
      if (rolesBuilder_ == null) {
        return roles_.size();
      } else {
        return rolesBuilder_.getCount();
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public org.yamcs.protobuf.RoleInfo getRoles(int index) {
      if (rolesBuilder_ == null) {
        return roles_.get(index);
      } else {
        return rolesBuilder_.getMessage(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder setRoles(
        int index, org.yamcs.protobuf.RoleInfo value) {
      if (rolesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolesIsMutable();
        roles_.set(index, value);
        onChanged();
      } else {
        rolesBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder setRoles(
        int index, org.yamcs.protobuf.RoleInfo.Builder builderForValue) {
      if (rolesBuilder_ == null) {
        ensureRolesIsMutable();
        roles_.set(index, builderForValue.build());
        onChanged();
      } else {
        rolesBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder addRoles(org.yamcs.protobuf.RoleInfo value) {
      if (rolesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolesIsMutable();
        roles_.add(value);
        onChanged();
      } else {
        rolesBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder addRoles(
        int index, org.yamcs.protobuf.RoleInfo value) {
      if (rolesBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRolesIsMutable();
        roles_.add(index, value);
        onChanged();
      } else {
        rolesBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder addRoles(
        org.yamcs.protobuf.RoleInfo.Builder builderForValue) {
      if (rolesBuilder_ == null) {
        ensureRolesIsMutable();
        roles_.add(builderForValue.build());
        onChanged();
      } else {
        rolesBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder addRoles(
        int index, org.yamcs.protobuf.RoleInfo.Builder builderForValue) {
      if (rolesBuilder_ == null) {
        ensureRolesIsMutable();
        roles_.add(index, builderForValue.build());
        onChanged();
      } else {
        rolesBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder addAllRoles(
        java.lang.Iterable values) {
      if (rolesBuilder_ == null) {
        ensureRolesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, roles_);
        onChanged();
      } else {
        rolesBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder clearRoles() {
      if (rolesBuilder_ == null) {
        roles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00004000);
        onChanged();
      } else {
        rolesBuilder_.clear();
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public Builder removeRoles(int index) {
      if (rolesBuilder_ == null) {
        ensureRolesIsMutable();
        roles_.remove(index);
        onChanged();
      } else {
        rolesBuilder_.remove(index);
      }
      return this;
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public org.yamcs.protobuf.RoleInfo.Builder getRolesBuilder(
        int index) {
      return getRolesFieldBuilder().getBuilder(index);
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public org.yamcs.protobuf.RoleInfoOrBuilder getRolesOrBuilder(
        int index) {
      if (rolesBuilder_ == null) {
        return roles_.get(index);  } else {
        return rolesBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public java.util.List 
         getRolesOrBuilderList() {
      if (rolesBuilder_ != null) {
        return rolesBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(roles_);
      }
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public org.yamcs.protobuf.RoleInfo.Builder addRolesBuilder() {
      return getRolesFieldBuilder().addBuilder(
          org.yamcs.protobuf.RoleInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public org.yamcs.protobuf.RoleInfo.Builder addRolesBuilder(
        int index) {
      return getRolesFieldBuilder().addBuilder(
          index, org.yamcs.protobuf.RoleInfo.getDefaultInstance());
    }
    /**
     * repeated .yamcs.protobuf.iam.RoleInfo roles = 24;
     */
    public java.util.List 
         getRolesBuilderList() {
      return getRolesFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        org.yamcs.protobuf.RoleInfo, org.yamcs.protobuf.RoleInfo.Builder, org.yamcs.protobuf.RoleInfoOrBuilder> 
        getRolesFieldBuilder() {
      if (rolesBuilder_ == null) {
        rolesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            org.yamcs.protobuf.RoleInfo, org.yamcs.protobuf.RoleInfo.Builder, org.yamcs.protobuf.RoleInfoOrBuilder>(
                roles_,
                ((bitField0_ & 0x00004000) != 0),
                getParentForChildren(),
                isClean());
        roles_ = null;
      }
      return rolesBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:yamcs.protobuf.iam.UserInfo)
  }

  // @@protoc_insertion_point(class_scope:yamcs.protobuf.iam.UserInfo)
  private static final org.yamcs.protobuf.UserInfo DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new org.yamcs.protobuf.UserInfo();
  }

  public static org.yamcs.protobuf.UserInfo getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  @java.lang.Deprecated public static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public UserInfo parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new UserInfo(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public org.yamcs.protobuf.UserInfo getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy