// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/vc/v1/keyapis_vc_company_v1.proto

package ru.keyapis.vc.v1;

public final class KeyapisVcV1Proto {
  private KeyapisVcV1Proto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface PostCompanyImpersonationRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     * </pre>
     *
     * <code>int32 company_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The companyId.
     */
    int getCompanyId();
  }
  /**
   * <pre>
   * Запрос генерации имперсонационной ссылки для компании
   * </pre>
   *
   * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationRequest}
   */
  public static final class PostCompanyImpersonationRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationRequest)
      PostCompanyImpersonationRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCompanyImpersonationRequest.newBuilder() to construct.
    private PostCompanyImpersonationRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCompanyImpersonationRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PostCompanyImpersonationRequest();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.Builder.class);
    }

    public static final int COMPANY_ID_FIELD_NUMBER = 1;
    private int companyId_ = 0;
    /**
     * <pre>
     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     * </pre>
     *
     * <code>int32 company_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The companyId.
     */
    @java.lang.Override
    public int getCompanyId() {
      return companyId_;
    }

    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 (companyId_ != 0) {
        output.writeInt32(1, companyId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (companyId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, companyId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest)) {
        return super.equals(obj);
      }
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest) obj;

      if (getCompanyId()
          != other.getCompanyId()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + COMPANY_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCompanyId();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest 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;
    }
    /**
     * <pre>
     * Запрос генерации имперсонационной ссылки для компании
     * </pre>
     *
     * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationRequest)
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.Builder.class);
      }

      // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        companyId_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest getDefaultInstanceForType() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest build() {
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest buildPartial() {
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.companyId_ = companyId_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest) {
          return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest other) {
        if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest.getDefaultInstance()) return this;
        if (other.getCompanyId() != 0) {
          setCompanyId(other.getCompanyId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        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 {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                companyId_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int companyId_ ;
      /**
       * <pre>
       * Идентификатор компании.
       * # Диапазон: 1..2147483647
       * </pre>
       *
       * <code>int32 company_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The companyId.
       */
      @java.lang.Override
      public int getCompanyId() {
        return companyId_;
      }
      /**
       * <pre>
       * Идентификатор компании.
       * # Диапазон: 1..2147483647
       * </pre>
       *
       * <code>int32 company_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The companyId to set.
       * @return This builder for chaining.
       */
      public Builder setCompanyId(int value) {

        companyId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Идентификатор компании.
       * # Диапазон: 1..2147483647
       * </pre>
       *
       * <code>int32 company_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCompanyId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        companyId_ = 0;
        onChanged();
        return this;
      }
      @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:keyapis.vc.v1.PostCompanyImpersonationRequest)
    }

    // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationRequest)
    private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest();
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PostCompanyImpersonationRequest>
        PARSER = new com.google.protobuf.AbstractParser<PostCompanyImpersonationRequest>() {
      @java.lang.Override
      public PostCompanyImpersonationRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PostCompanyImpersonationResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     * @return The data.
     */
    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getData();
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     */
    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder getDataOrBuilder();

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     * @return The error.
     */
    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     */
    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder getErrorOrBuilder();

    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос генерации имперсонационной ссылки для компании
   * </pre>
   *
   * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse}
   */
  public static final class PostCompanyImpersonationResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse)
      PostCompanyImpersonationResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PostCompanyImpersonationResponse.newBuilder() to construct.
    private PostCompanyImpersonationResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PostCompanyImpersonationResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PostCompanyImpersonationResponse();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Builder.class);
    }

    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse.Error)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       * @return Whether the validation field is set.
       */
      boolean hasValidation();
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       * @return The validation.
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError getValidation();
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder getValidationOrBuilder();

      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       * @return Whether the ownerNotFound field is set.
       */
      boolean hasOwnerNotFound();
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       * @return The ownerNotFound.
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getOwnerNotFound();
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder getOwnerNotFoundOrBuilder();

      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       * @return Whether the userServiceError field is set.
       */
      boolean hasUserServiceError();
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       * @return The userServiceError.
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getUserServiceError();
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder getUserServiceErrorOrBuilder();

      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       * @return Whether the vcfrontServiceError field is set.
       */
      boolean hasVcfrontServiceError();
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       * @return The vcfrontServiceError.
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getVcfrontServiceError();
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       */
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder getVcfrontServiceErrorOrBuilder();

      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка генерации имперсонационной ссылки для компании
     * </pre>
     *
     * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error}
     */
    public static final class Error extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error)
        ErrorOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Error.newBuilder() to construct.
      private Error(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Error() {
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Error();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder.class);
      }

      public interface OwnerNotFoundOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound)
          com.google.protobuf.MessageOrBuilder {
      }
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound}
       */
      public static final class OwnerNotFound extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound)
          OwnerNotFoundOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use OwnerNotFound.newBuilder() to construct.
        private OwnerNotFound(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private OwnerNotFound() {
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            UnusedPrivateParameter unused) {
          return new OwnerNotFound();
        }

        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder.class);
        }

        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 {
          getUnknownFields().writeTo(output);
        }

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

          size = 0;
          size += getUnknownFields().getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound)) {
            return super.equals(obj);
          }
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) obj;

          if (!getUnknownFields().equals(other.getUnknownFields())) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound 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;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound)
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder.class);
          }

          // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.newBuilder()
          private Builder() {

          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);

          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getDefaultInstanceForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound build() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound buildPartial() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound(this);
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) {
              return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound other) {
            if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance()) return this;
            this.mergeUnknownFields(other.getUnknownFields());
            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 {
            if (extensionRegistry == null) {
              throw new java.lang.NullPointerException();
            }
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          @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:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound)
        }

        // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound)
        private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound();
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<OwnerNotFound>
            PARSER = new com.google.protobuf.AbstractParser<OwnerNotFound>() {
          @java.lang.Override
          public OwnerNotFound parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

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

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

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public interface UserServiceErrorOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError)
          com.google.protobuf.MessageOrBuilder {
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError}
       */
      public static final class UserServiceError extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError)
          UserServiceErrorOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use UserServiceError.newBuilder() to construct.
        private UserServiceError(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private UserServiceError() {
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            UnusedPrivateParameter unused) {
          return new UserServiceError();
        }

        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder.class);
        }

        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 {
          getUnknownFields().writeTo(output);
        }

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

          size = 0;
          size += getUnknownFields().getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError)) {
            return super.equals(obj);
          }
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) obj;

          if (!getUnknownFields().equals(other.getUnknownFields())) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError 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;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError)
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder.class);
          }

          // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.newBuilder()
          private Builder() {

          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);

          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getDefaultInstanceForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError build() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError buildPartial() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError(this);
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) {
              return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError other) {
            if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance()) return this;
            this.mergeUnknownFields(other.getUnknownFields());
            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 {
            if (extensionRegistry == null) {
              throw new java.lang.NullPointerException();
            }
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          @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:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError)
        }

        // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError)
        private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError();
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<UserServiceError>
            PARSER = new com.google.protobuf.AbstractParser<UserServiceError>() {
          @java.lang.Override
          public UserServiceError parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

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

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

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public interface VcfrontServiceErrorOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError)
          com.google.protobuf.MessageOrBuilder {
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError}
       */
      public static final class VcfrontServiceError extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError)
          VcfrontServiceErrorOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use VcfrontServiceError.newBuilder() to construct.
        private VcfrontServiceError(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private VcfrontServiceError() {
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            UnusedPrivateParameter unused) {
          return new VcfrontServiceError();
        }

        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder.class);
        }

        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 {
          getUnknownFields().writeTo(output);
        }

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

          size = 0;
          size += getUnknownFields().getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError)) {
            return super.equals(obj);
          }
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) obj;

          if (!getUnknownFields().equals(other.getUnknownFields())) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError 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;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError)
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder.class);
          }

          // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.newBuilder()
          private Builder() {

          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);

          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getDefaultInstanceForType() {
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError build() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError buildPartial() {
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError(this);
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) {
              return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError other) {
            if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance()) return this;
            this.mergeUnknownFields(other.getUnknownFields());
            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 {
            if (extensionRegistry == null) {
              throw new java.lang.NullPointerException();
            }
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
          @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:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError)
        }

        // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError)
        private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError();
        }

        public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser<VcfrontServiceError>
            PARSER = new com.google.protobuf.AbstractParser<VcfrontServiceError>() {
          @java.lang.Override
          public VcfrontServiceError parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

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

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

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int reasonCase_ = 0;
      @SuppressWarnings("serial")
      private java.lang.Object reason_;
      public enum ReasonCase
          implements com.google.protobuf.Internal.EnumLite,
              com.google.protobuf.AbstractMessage.InternalOneOfEnum {
        VALIDATION(1),
        OWNER_NOT_FOUND(2),
        USER_SERVICE_ERROR(3),
        VCFRONT_SERVICE_ERROR(4),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @param value The number of the enum to look for.
         * @return The enum associated with the given number.
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return VALIDATION;
            case 2: return OWNER_NOT_FOUND;
            case 3: return USER_SERVICE_ERROR;
            case 4: return VCFRONT_SERVICE_ERROR;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      public static final int VALIDATION_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       * @return Whether the validation field is set.
       */
      @java.lang.Override
      public boolean hasValidation() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       * @return The validation.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError getValidation() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder getValidationOrBuilder() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
      }

      public static final int OWNER_NOT_FOUND_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       * @return Whether the ownerNotFound field is set.
       */
      @java.lang.Override
      public boolean hasOwnerNotFound() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       * @return The ownerNotFound.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getOwnerNotFound() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
      }
      /**
       * <pre>
       * Владелец компании не найден
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder getOwnerNotFoundOrBuilder() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
      }

      public static final int USER_SERVICE_ERROR_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       * @return Whether the userServiceError field is set.
       */
      @java.lang.Override
      public boolean hasUserServiceError() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       * @return The userServiceError.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getUserServiceError() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом User
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder getUserServiceErrorOrBuilder() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
      }

      public static final int VCFRONT_SERVICE_ERROR_FIELD_NUMBER = 4;
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       * @return Whether the vcfrontServiceError field is set.
       */
      @java.lang.Override
      public boolean hasVcfrontServiceError() {
        return reasonCase_ == 4;
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       * @return The vcfrontServiceError.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getVcfrontServiceError() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка взаимодействия с сервисом vcfront
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder getVcfrontServiceErrorOrBuilder() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_;
        }
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
      }

      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 (reasonCase_ == 1) {
          output.writeMessage(1, (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_);
        }
        if (reasonCase_ == 2) {
          output.writeMessage(2, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_);
        }
        if (reasonCase_ == 3) {
          output.writeMessage(3, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_);
        }
        if (reasonCase_ == 4) {
          output.writeMessage(4, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (reasonCase_ == 1) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_);
        }
        if (reasonCase_ == 2) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_);
        }
        if (reasonCase_ == 3) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_);
        }
        if (reasonCase_ == 4) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error)) {
          return super.equals(obj);
        }
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) obj;

        if (!getReasonCase().equals(other.getReasonCase())) return false;
        switch (reasonCase_) {
          case 1:
            if (!getValidation()
                .equals(other.getValidation())) return false;
            break;
          case 2:
            if (!getOwnerNotFound()
                .equals(other.getOwnerNotFound())) return false;
            break;
          case 3:
            if (!getUserServiceError()
                .equals(other.getUserServiceError())) return false;
            break;
          case 4:
            if (!getVcfrontServiceError()
                .equals(other.getVcfrontServiceError())) return false;
            break;
          case 0:
          default:
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        switch (reasonCase_) {
          case 1:
            hash = (37 * hash) + VALIDATION_FIELD_NUMBER;
            hash = (53 * hash) + getValidation().hashCode();
            break;
          case 2:
            hash = (37 * hash) + OWNER_NOT_FOUND_FIELD_NUMBER;
            hash = (53 * hash) + getOwnerNotFound().hashCode();
            break;
          case 3:
            hash = (37 * hash) + USER_SERVICE_ERROR_FIELD_NUMBER;
            hash = (53 * hash) + getUserServiceError().hashCode();
            break;
          case 4:
            hash = (37 * hash) + VCFRONT_SERVICE_ERROR_FIELD_NUMBER;
            hash = (53 * hash) + getVcfrontServiceError().hashCode();
            break;
          case 0:
          default:
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error 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;
      }
      /**
       * <pre>
       * Ошибка генерации имперсонационной ссылки для компании
       * </pre>
       *
       * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.Error)
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder.class);
        }

        // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          if (validationBuilder_ != null) {
            validationBuilder_.clear();
          }
          if (ownerNotFoundBuilder_ != null) {
            ownerNotFoundBuilder_.clear();
          }
          if (userServiceErrorBuilder_ != null) {
            userServiceErrorBuilder_.clear();
          }
          if (vcfrontServiceErrorBuilder_ != null) {
            vcfrontServiceErrorBuilder_.clear();
          }
          reasonCase_ = 0;
          reason_ = null;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor;
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getDefaultInstanceForType() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error build() {
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error buildPartial() {
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          buildPartialOneofs(result);
          onBuilt();
          return result;
        }

        private void buildPartial0(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error result) {
          int from_bitField0_ = bitField0_;
        }

        private void buildPartialOneofs(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error result) {
          result.reasonCase_ = reasonCase_;
          result.reason_ = this.reason_;
          if (reasonCase_ == 1 &&
              validationBuilder_ != null) {
            result.reason_ = validationBuilder_.build();
          }
          if (reasonCase_ == 2 &&
              ownerNotFoundBuilder_ != null) {
            result.reason_ = ownerNotFoundBuilder_.build();
          }
          if (reasonCase_ == 3 &&
              userServiceErrorBuilder_ != null) {
            result.reason_ = userServiceErrorBuilder_.build();
          }
          if (reasonCase_ == 4 &&
              vcfrontServiceErrorBuilder_ != null) {
            result.reason_ = vcfrontServiceErrorBuilder_.build();
          }
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) {
            return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error other) {
          if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance()) return this;
          switch (other.getReasonCase()) {
            case VALIDATION: {
              mergeValidation(other.getValidation());
              break;
            }
            case OWNER_NOT_FOUND: {
              mergeOwnerNotFound(other.getOwnerNotFound());
              break;
            }
            case USER_SERVICE_ERROR: {
              mergeUserServiceError(other.getUserServiceError());
              break;
            }
            case VCFRONT_SERVICE_ERROR: {
              mergeVcfrontServiceError(other.getVcfrontServiceError());
              break;
            }
            case REASON_NOT_SET: {
              break;
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  input.readMessage(
                      getValidationFieldBuilder().getBuilder(),
                      extensionRegistry);
                  reasonCase_ = 1;
                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getOwnerNotFoundFieldBuilder().getBuilder(),
                      extensionRegistry);
                  reasonCase_ = 2;
                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getUserServiceErrorFieldBuilder().getBuilder(),
                      extensionRegistry);
                  reasonCase_ = 3;
                  break;
                } // case 26
                case 34: {
                  input.readMessage(
                      getVcfrontServiceErrorFieldBuilder().getBuilder(),
                      extensionRegistry);
                  reasonCase_ = 4;
                  break;
                } // case 34
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int reasonCase_ = 0;
        private java.lang.Object reason_;
        public ReasonCase
            getReasonCase() {
          return ReasonCase.forNumber(
              reasonCase_);
        }

        public Builder clearReason() {
          reasonCase_ = 0;
          reason_ = null;
          onChanged();
          return this;
        }

        private int bitField0_;

        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder> validationBuilder_;
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         * @return Whether the validation field is set.
         */
        @java.lang.Override
        public boolean hasValidation() {
          return reasonCase_ == 1;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         * @return The validation.
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError getValidation() {
          if (validationBuilder_ == null) {
            if (reasonCase_ == 1) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
          } else {
            if (reasonCase_ == 1) {
              return validationBuilder_.getMessage();
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        public Builder setValidation(ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError value) {
          if (validationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            reason_ = value;
            onChanged();
          } else {
            validationBuilder_.setMessage(value);
          }
          reasonCase_ = 1;
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        public Builder setValidation(
            ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.Builder builderForValue) {
          if (validationBuilder_ == null) {
            reason_ = builderForValue.build();
            onChanged();
          } else {
            validationBuilder_.setMessage(builderForValue.build());
          }
          reasonCase_ = 1;
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        public Builder mergeValidation(ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError value) {
          if (validationBuilder_ == null) {
            if (reasonCase_ == 1 &&
                reason_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance()) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_)
                  .mergeFrom(value).buildPartial();
            } else {
              reason_ = value;
            }
            onChanged();
          } else {
            if (reasonCase_ == 1) {
              validationBuilder_.mergeFrom(value);
            } else {
              validationBuilder_.setMessage(value);
            }
          }
          reasonCase_ = 1;
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        public Builder clearValidation() {
          if (validationBuilder_ == null) {
            if (reasonCase_ == 1) {
              reasonCase_ = 0;
              reason_ = null;
              onChanged();
            }
          } else {
            if (reasonCase_ == 1) {
              reasonCase_ = 0;
              reason_ = null;
            }
            validationBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.Builder getValidationBuilder() {
          return getValidationFieldBuilder().getBuilder();
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder getValidationOrBuilder() {
          if ((reasonCase_ == 1) && (validationBuilder_ != null)) {
            return validationBuilder_.getMessageOrBuilder();
          } else {
            if (reasonCase_ == 1) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.keyapis.vc.v1.ValidationError validation = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder> 
            getValidationFieldBuilder() {
          if (validationBuilder_ == null) {
            if (!(reasonCase_ == 1)) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.getDefaultInstance();
            }
            validationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationErrorOrBuilder>(
                    (ru.keyapis.vc.v1.KeyapisVcV1Proto.ValidationError) reason_,
                    getParentForChildren(),
                    isClean());
            reason_ = null;
          }
          reasonCase_ = 1;
          onChanged();
          return validationBuilder_;
        }

        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder> ownerNotFoundBuilder_;
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         * @return Whether the ownerNotFound field is set.
         */
        @java.lang.Override
        public boolean hasOwnerNotFound() {
          return reasonCase_ == 2;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         * @return The ownerNotFound.
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound getOwnerNotFound() {
          if (ownerNotFoundBuilder_ == null) {
            if (reasonCase_ == 2) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
          } else {
            if (reasonCase_ == 2) {
              return ownerNotFoundBuilder_.getMessage();
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        public Builder setOwnerNotFound(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound value) {
          if (ownerNotFoundBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            reason_ = value;
            onChanged();
          } else {
            ownerNotFoundBuilder_.setMessage(value);
          }
          reasonCase_ = 2;
          return this;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        public Builder setOwnerNotFound(
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder builderForValue) {
          if (ownerNotFoundBuilder_ == null) {
            reason_ = builderForValue.build();
            onChanged();
          } else {
            ownerNotFoundBuilder_.setMessage(builderForValue.build());
          }
          reasonCase_ = 2;
          return this;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        public Builder mergeOwnerNotFound(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound value) {
          if (ownerNotFoundBuilder_ == null) {
            if (reasonCase_ == 2 &&
                reason_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance()) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_)
                  .mergeFrom(value).buildPartial();
            } else {
              reason_ = value;
            }
            onChanged();
          } else {
            if (reasonCase_ == 2) {
              ownerNotFoundBuilder_.mergeFrom(value);
            } else {
              ownerNotFoundBuilder_.setMessage(value);
            }
          }
          reasonCase_ = 2;
          return this;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        public Builder clearOwnerNotFound() {
          if (ownerNotFoundBuilder_ == null) {
            if (reasonCase_ == 2) {
              reasonCase_ = 0;
              reason_ = null;
              onChanged();
            }
          } else {
            if (reasonCase_ == 2) {
              reasonCase_ = 0;
              reason_ = null;
            }
            ownerNotFoundBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder getOwnerNotFoundBuilder() {
          return getOwnerNotFoundFieldBuilder().getBuilder();
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder getOwnerNotFoundOrBuilder() {
          if ((reasonCase_ == 2) && (ownerNotFoundBuilder_ != null)) {
            return ownerNotFoundBuilder_.getMessageOrBuilder();
          } else {
            if (reasonCase_ == 2) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Владелец компании не найден
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.OwnerNotFound owner_not_found = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder> 
            getOwnerNotFoundFieldBuilder() {
          if (ownerNotFoundBuilder_ == null) {
            if (!(reasonCase_ == 2)) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.getDefaultInstance();
            }
            ownerNotFoundBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFoundOrBuilder>(
                    (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.OwnerNotFound) reason_,
                    getParentForChildren(),
                    isClean());
            reason_ = null;
          }
          reasonCase_ = 2;
          onChanged();
          return ownerNotFoundBuilder_;
        }

        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder> userServiceErrorBuilder_;
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         * @return Whether the userServiceError field is set.
         */
        @java.lang.Override
        public boolean hasUserServiceError() {
          return reasonCase_ == 3;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         * @return The userServiceError.
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError getUserServiceError() {
          if (userServiceErrorBuilder_ == null) {
            if (reasonCase_ == 3) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
          } else {
            if (reasonCase_ == 3) {
              return userServiceErrorBuilder_.getMessage();
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        public Builder setUserServiceError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError value) {
          if (userServiceErrorBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            reason_ = value;
            onChanged();
          } else {
            userServiceErrorBuilder_.setMessage(value);
          }
          reasonCase_ = 3;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        public Builder setUserServiceError(
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder builderForValue) {
          if (userServiceErrorBuilder_ == null) {
            reason_ = builderForValue.build();
            onChanged();
          } else {
            userServiceErrorBuilder_.setMessage(builderForValue.build());
          }
          reasonCase_ = 3;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        public Builder mergeUserServiceError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError value) {
          if (userServiceErrorBuilder_ == null) {
            if (reasonCase_ == 3 &&
                reason_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance()) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_)
                  .mergeFrom(value).buildPartial();
            } else {
              reason_ = value;
            }
            onChanged();
          } else {
            if (reasonCase_ == 3) {
              userServiceErrorBuilder_.mergeFrom(value);
            } else {
              userServiceErrorBuilder_.setMessage(value);
            }
          }
          reasonCase_ = 3;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        public Builder clearUserServiceError() {
          if (userServiceErrorBuilder_ == null) {
            if (reasonCase_ == 3) {
              reasonCase_ = 0;
              reason_ = null;
              onChanged();
            }
          } else {
            if (reasonCase_ == 3) {
              reasonCase_ = 0;
              reason_ = null;
            }
            userServiceErrorBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder getUserServiceErrorBuilder() {
          return getUserServiceErrorFieldBuilder().getBuilder();
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder getUserServiceErrorOrBuilder() {
          if ((reasonCase_ == 3) && (userServiceErrorBuilder_ != null)) {
            return userServiceErrorBuilder_.getMessageOrBuilder();
          } else {
            if (reasonCase_ == 3) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом User
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.UserServiceError user_service_error = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder> 
            getUserServiceErrorFieldBuilder() {
          if (userServiceErrorBuilder_ == null) {
            if (!(reasonCase_ == 3)) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.getDefaultInstance();
            }
            userServiceErrorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceErrorOrBuilder>(
                    (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.UserServiceError) reason_,
                    getParentForChildren(),
                    isClean());
            reason_ = null;
          }
          reasonCase_ = 3;
          onChanged();
          return userServiceErrorBuilder_;
        }

        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder> vcfrontServiceErrorBuilder_;
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         * @return Whether the vcfrontServiceError field is set.
         */
        @java.lang.Override
        public boolean hasVcfrontServiceError() {
          return reasonCase_ == 4;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         * @return The vcfrontServiceError.
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError getVcfrontServiceError() {
          if (vcfrontServiceErrorBuilder_ == null) {
            if (reasonCase_ == 4) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
          } else {
            if (reasonCase_ == 4) {
              return vcfrontServiceErrorBuilder_.getMessage();
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        public Builder setVcfrontServiceError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError value) {
          if (vcfrontServiceErrorBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            reason_ = value;
            onChanged();
          } else {
            vcfrontServiceErrorBuilder_.setMessage(value);
          }
          reasonCase_ = 4;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        public Builder setVcfrontServiceError(
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder builderForValue) {
          if (vcfrontServiceErrorBuilder_ == null) {
            reason_ = builderForValue.build();
            onChanged();
          } else {
            vcfrontServiceErrorBuilder_.setMessage(builderForValue.build());
          }
          reasonCase_ = 4;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        public Builder mergeVcfrontServiceError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError value) {
          if (vcfrontServiceErrorBuilder_ == null) {
            if (reasonCase_ == 4 &&
                reason_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance()) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_)
                  .mergeFrom(value).buildPartial();
            } else {
              reason_ = value;
            }
            onChanged();
          } else {
            if (reasonCase_ == 4) {
              vcfrontServiceErrorBuilder_.mergeFrom(value);
            } else {
              vcfrontServiceErrorBuilder_.setMessage(value);
            }
          }
          reasonCase_ = 4;
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        public Builder clearVcfrontServiceError() {
          if (vcfrontServiceErrorBuilder_ == null) {
            if (reasonCase_ == 4) {
              reasonCase_ = 0;
              reason_ = null;
              onChanged();
            }
          } else {
            if (reasonCase_ == 4) {
              reasonCase_ = 0;
              reason_ = null;
            }
            vcfrontServiceErrorBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder getVcfrontServiceErrorBuilder() {
          return getVcfrontServiceErrorFieldBuilder().getBuilder();
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder getVcfrontServiceErrorOrBuilder() {
          if ((reasonCase_ == 4) && (vcfrontServiceErrorBuilder_ != null)) {
            return vcfrontServiceErrorBuilder_.getMessageOrBuilder();
          } else {
            if (reasonCase_ == 4) {
              return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_;
            }
            return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
          }
        }
        /**
         * <pre>
         * Ошибка взаимодействия с сервисом vcfront
         * </pre>
         *
         * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error.VcfrontServiceError vcfront_service_error = 4;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder> 
            getVcfrontServiceErrorFieldBuilder() {
          if (vcfrontServiceErrorBuilder_ == null) {
            if (!(reasonCase_ == 4)) {
              reason_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.getDefaultInstance();
            }
            vcfrontServiceErrorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceErrorOrBuilder>(
                    (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.VcfrontServiceError) reason_,
                    getParentForChildren(),
                    isClean());
            reason_ = null;
          }
          reasonCase_ = 4;
          onChanged();
          return vcfrontServiceErrorBuilder_;
        }
        @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:keyapis.vc.v1.PostCompanyImpersonationResponse.Error)
      }

      // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse.Error)
      private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error();
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Error>
          PARSER = new com.google.protobuf.AbstractParser<Error>() {
        @java.lang.Override
        public Error parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface CompanyImpersonationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       * Одноразовая ссылка для имперсонации
       * </pre>
       *
       * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The url.
       */
      java.lang.String getUrl();
      /**
       * <pre>
       * Одноразовая ссылка для имперсонации
       * </pre>
       *
       * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for url.
       */
      com.google.protobuf.ByteString
          getUrlBytes();
    }
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation}
     */
    public static final class CompanyImpersonation extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation)
        CompanyImpersonationOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use CompanyImpersonation.newBuilder() to construct.
      private CompanyImpersonation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private CompanyImpersonation() {
        url_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new CompanyImpersonation();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder.class);
      }

      public static final int URL_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object url_ = "";
      /**
       * <pre>
       * Одноразовая ссылка для имперсонации
       * </pre>
       *
       * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The url.
       */
      @java.lang.Override
      public java.lang.String getUrl() {
        java.lang.Object ref = url_;
        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();
          url_ = s;
          return s;
        }
      }
      /**
       * <pre>
       * Одноразовая ссылка для имперсонации
       * </pre>
       *
       * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for url.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUrlBytes() {
        java.lang.Object ref = url_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          url_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, url_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(url_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, url_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation)) {
          return super.equals(obj);
        }
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) obj;

        if (!getUrl()
            .equals(other.getUrl())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + URL_FIELD_NUMBER;
        hash = (53 * hash) + getUrl().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation 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;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation)
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder.class);
        }

        // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          url_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor;
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getDefaultInstanceForType() {
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation build() {
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation buildPartial() {
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.url_ = url_;
          }
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) {
            return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation other) {
          if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance()) return this;
          if (!other.getUrl().isEmpty()) {
            url_ = other.url_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          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 {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  url_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object url_ = "";
        /**
         * <pre>
         * Одноразовая ссылка для имперсонации
         * </pre>
         *
         * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
         * @return The url.
         */
        public java.lang.String getUrl() {
          java.lang.Object ref = url_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            url_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         * Одноразовая ссылка для имперсонации
         * </pre>
         *
         * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
         * @return The bytes for url.
         */
        public com.google.protobuf.ByteString
            getUrlBytes() {
          java.lang.Object ref = url_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            url_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         * Одноразовая ссылка для имперсонации
         * </pre>
         *
         * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
         * @param value The url to set.
         * @return This builder for chaining.
         */
        public Builder setUrl(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          url_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Одноразовая ссылка для имперсонации
         * </pre>
         *
         * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
         * @return This builder for chaining.
         */
        public Builder clearUrl() {
          url_ = getDefaultInstance().getUrl();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <pre>
         * Одноразовая ссылка для имперсонации
         * </pre>
         *
         * <code>string url = 1 [(.google.api.field_behavior) = REQUIRED];</code>
         * @param value The bytes for url to set.
         * @return This builder for chaining.
         */
        public Builder setUrlBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          url_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        @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:keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation)
      }

      // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation)
      private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation();
      }

      public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<CompanyImpersonation>
          PARSER = new com.google.protobuf.AbstractParser<CompanyImpersonation>() {
        @java.lang.Override
        public CompanyImpersonation parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

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

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

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int typeCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object type_;
    public enum TypeCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      DATA(1),
      ERROR(2),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return DATA;
          case 2: return ERROR;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    public static final int DATA_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     * @return Whether the data field is set.
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     * @return The data.
     */
    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getData() {
      if (typeCase_ == 1) {
         return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_;
      }
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
    }
    /**
     * <pre>
     * Имперсонационная ссылка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder getDataOrBuilder() {
      if (typeCase_ == 1) {
         return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_;
      }
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
    }

    public static final int ERROR_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     * @return Whether the error field is set.
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     * @return The error.
     */
    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getError() {
      if (typeCase_ == 2) {
         return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_;
      }
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder getErrorOrBuilder() {
      if (typeCase_ == 2) {
         return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_;
      }
      return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
    }

    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 (typeCase_ == 1) {
        output.writeMessage(1, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_);
      }
      if (typeCase_ == 2) {
        output.writeMessage(2, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (typeCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_);
      }
      if (typeCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse)) {
        return super.equals(obj);
      }
      ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse other = (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse) obj;

      if (!getTypeCase().equals(other.getTypeCase())) return false;
      switch (typeCase_) {
        case 1:
          if (!getData()
              .equals(other.getData())) return false;
          break;
        case 2:
          if (!getError()
              .equals(other.getError())) return false;
          break;
        case 0:
        default:
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (typeCase_) {
        case 1:
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
          break;
        case 2:
          hash = (37 * hash) + ERROR_FIELD_NUMBER;
          hash = (53 * hash) + getError().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse 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 ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse 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(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse 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;
    }
    /**
     * <pre>
     * Ответ на запрос генерации имперсонационной ссылки для компании
     * </pre>
     *
     * Protobuf type {@code keyapis.vc.v1.PostCompanyImpersonationResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.vc.v1.PostCompanyImpersonationResponse)
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.class, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Builder.class);
      }

      // Construct using ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (dataBuilder_ != null) {
          dataBuilder_.clear();
        }
        if (errorBuilder_ != null) {
          errorBuilder_.clear();
        }
        typeCase_ = 0;
        type_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor;
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse getDefaultInstanceForType() {
        return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.getDefaultInstance();
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse build() {
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse buildPartial() {
        ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse result = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        buildPartialOneofs(result);
        onBuilt();
        return result;
      }

      private void buildPartial0(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse result) {
        int from_bitField0_ = bitField0_;
      }

      private void buildPartialOneofs(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse result) {
        result.typeCase_ = typeCase_;
        result.type_ = this.type_;
        if (typeCase_ == 1 &&
            dataBuilder_ != null) {
          result.type_ = dataBuilder_.build();
        }
        if (typeCase_ == 2 &&
            errorBuilder_ != null) {
          result.type_ = errorBuilder_.build();
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse) {
          return mergeFrom((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse other) {
        if (other == ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.getDefaultInstance()) return this;
        switch (other.getTypeCase()) {
          case DATA: {
            mergeData(other.getData());
            break;
          }
          case ERROR: {
            mergeError(other.getError());
            break;
          }
          case TYPE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        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 {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                input.readMessage(
                    getDataFieldBuilder().getBuilder(),
                    extensionRegistry);
                typeCase_ = 1;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getErrorFieldBuilder().getBuilder(),
                    extensionRegistry);
                typeCase_ = 2;
                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int typeCase_ = 0;
      private java.lang.Object type_;
      public TypeCase
          getTypeCase() {
        return TypeCase.forNumber(
            typeCase_);
      }

      public Builder clearType() {
        typeCase_ = 0;
        type_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder> dataBuilder_;
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return typeCase_ == 1;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       * @return The data.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation getData() {
        if (dataBuilder_ == null) {
          if (typeCase_ == 1) {
            return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_;
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
        } else {
          if (typeCase_ == 1) {
            return dataBuilder_.getMessage();
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      public Builder setData(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          type_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }
        typeCase_ = 1;
        return this;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      public Builder setData(
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder builderForValue) {
        if (dataBuilder_ == null) {
          type_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }
        typeCase_ = 1;
        return this;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      public Builder mergeData(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation value) {
        if (dataBuilder_ == null) {
          if (typeCase_ == 1 &&
              type_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance()) {
            type_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_)
                .mergeFrom(value).buildPartial();
          } else {
            type_ = value;
          }
          onChanged();
        } else {
          if (typeCase_ == 1) {
            dataBuilder_.mergeFrom(value);
          } else {
            dataBuilder_.setMessage(value);
          }
        }
        typeCase_ = 1;
        return this;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          if (typeCase_ == 1) {
            typeCase_ = 0;
            type_ = null;
            onChanged();
          }
        } else {
          if (typeCase_ == 1) {
            typeCase_ = 0;
            type_ = null;
          }
          dataBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder getDataBuilder() {
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder getDataOrBuilder() {
        if ((typeCase_ == 1) && (dataBuilder_ != null)) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          if (typeCase_ == 1) {
            return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_;
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * Имперсонационная ссылка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.CompanyImpersonation data = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          if (!(typeCase_ == 1)) {
            type_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.getDefaultInstance();
          }
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonationOrBuilder>(
                  (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.CompanyImpersonation) type_,
                  getParentForChildren(),
                  isClean());
          type_ = null;
        }
        typeCase_ = 1;
        onChanged();
        return dataBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder> errorBuilder_;
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       * @return Whether the error field is set.
       */
      @java.lang.Override
      public boolean hasError() {
        return typeCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       * @return The error.
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error getError() {
        if (errorBuilder_ == null) {
          if (typeCase_ == 2) {
            return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_;
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
        } else {
          if (typeCase_ == 2) {
            return errorBuilder_.getMessage();
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      public Builder setError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error value) {
        if (errorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          type_ = value;
          onChanged();
        } else {
          errorBuilder_.setMessage(value);
        }
        typeCase_ = 2;
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      public Builder setError(
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder builderForValue) {
        if (errorBuilder_ == null) {
          type_ = builderForValue.build();
          onChanged();
        } else {
          errorBuilder_.setMessage(builderForValue.build());
        }
        typeCase_ = 2;
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      public Builder mergeError(ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error value) {
        if (errorBuilder_ == null) {
          if (typeCase_ == 2 &&
              type_ != ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance()) {
            type_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.newBuilder((ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_)
                .mergeFrom(value).buildPartial();
          } else {
            type_ = value;
          }
          onChanged();
        } else {
          if (typeCase_ == 2) {
            errorBuilder_.mergeFrom(value);
          } else {
            errorBuilder_.setMessage(value);
          }
        }
        typeCase_ = 2;
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      public Builder clearError() {
        if (errorBuilder_ == null) {
          if (typeCase_ == 2) {
            typeCase_ = 0;
            type_ = null;
            onChanged();
          }
        } else {
          if (typeCase_ == 2) {
            typeCase_ = 0;
            type_ = null;
          }
          errorBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder getErrorBuilder() {
        return getErrorFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder getErrorOrBuilder() {
        if ((typeCase_ == 2) && (errorBuilder_ != null)) {
          return errorBuilder_.getMessageOrBuilder();
        } else {
          if (typeCase_ == 2) {
            return (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_;
          }
          return ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
        }
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.vc.v1.PostCompanyImpersonationResponse.Error error = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder> 
          getErrorFieldBuilder() {
        if (errorBuilder_ == null) {
          if (!(typeCase_ == 2)) {
            type_ = ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.getDefaultInstance();
          }
          errorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error.Builder, ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.ErrorOrBuilder>(
                  (ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse.Error) type_,
                  getParentForChildren(),
                  isClean());
          type_ = null;
        }
        typeCase_ = 2;
        onChanged();
        return errorBuilder_;
      }
      @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:keyapis.vc.v1.PostCompanyImpersonationResponse)
    }

    // @@protoc_insertion_point(class_scope:keyapis.vc.v1.PostCompanyImpersonationResponse)
    private static final ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse();
    }

    public static ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PostCompanyImpersonationResponse>
        PARSER = new com.google.protobuf.AbstractParser<PostCompanyImpersonationResponse>() {
      @java.lang.Override
      public PostCompanyImpersonationResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @java.lang.Override
    public ru.keyapis.vc.v1.KeyapisVcV1Proto.PostCompanyImpersonationResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n)keyapis/vc/v1/keyapis_vc_company_v1.pr" +
      "oto\022\rkeyapis.vc.v1\032\034google/api/annotatio" +
      "ns.proto\032\037google/api/field_behavior.prot" +
      "o\032\037google/protobuf/timestamp.proto\032(keya" +
      "pis/vc/v1/keyapis_vc_camera_v1.proto\":\n\037" +
      "PostCompanyImpersonationRequest\022\027\n\ncompa" +
      "ny_id\030\001 \001(\005B\003\340A\002\"\252\005\n PostCompanyImperson" +
      "ationResponse\022T\n\004data\030\001 \001(\0132D.keyapis.vc" +
      ".v1.PostCompanyImpersonationResponse.Com" +
      "panyImpersonationH\000\022F\n\005error\030\002 \001(\01325.key" +
      "apis.vc.v1.PostCompanyImpersonationRespo" +
      "nse.ErrorH\000\032\265\003\n\005Error\0224\n\nvalidation\030\001 \001(" +
      "\0132\036.keyapis.vc.v1.ValidationErrorH\000\022^\n\017o" +
      "wner_not_found\030\002 \001(\0132C.keyapis.vc.v1.Pos" +
      "tCompanyImpersonationResponse.Error.Owne" +
      "rNotFoundH\000\022d\n\022user_service_error\030\003 \001(\0132" +
      "F.keyapis.vc.v1.PostCompanyImpersonation" +
      "Response.Error.UserServiceErrorH\000\022j\n\025vcf" +
      "ront_service_error\030\004 \001(\0132I.keyapis.vc.v1" +
      ".PostCompanyImpersonationResponse.Error." +
      "VcfrontServiceErrorH\000\032\017\n\rOwnerNotFound\032\022" +
      "\n\020UserServiceError\032\025\n\023VcfrontServiceErro" +
      "rB\010\n\006reason\032(\n\024CompanyImpersonation\022\020\n\003u" +
      "rl\030\001 \001(\tB\003\340A\002B\006\n\004type2\310\001\n\016CompanyService" +
      "\022\265\001\n\030PostCompanyImpersonation\022..keyapis." +
      "vc.v1.PostCompanyImpersonationRequest\032/." +
      "keyapis.vc.v1.PostCompanyImpersonationRe" +
      "sponse\"8\202\323\344\223\0022\"-/vc/api/v1/company/{comp" +
      "any_id}/impersonation:\001*B~\n\020ru.keyapis.v" +
      "c.v1B\020KeyapisVcV1ProtoH\003P\000Z\016/keyapis_vc_" +
      "v1\330\001\001\370\001\001\242\002\013KEYAPISVCV1\252\002\rKeyapis.Vc.V1\312\002" +
      "\rKeyapis\\Vc\\V1\352\002\017Keyapis::Vc::V1b\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.api.AnnotationsProto.getDescriptor(),
          com.google.api.FieldBehaviorProto.getDescriptor(),
          com.google.protobuf.TimestampProto.getDescriptor(),
          ru.keyapis.vc.v1.KeyapisVcV1Proto.getDescriptor(),
        });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationRequest_descriptor,
        new java.lang.String[] { "CompanyId", });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor,
        new java.lang.String[] { "Data", "Error", "Type", });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor =
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor.getNestedTypes().get(0);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor,
        new java.lang.String[] { "Validation", "OwnerNotFound", "UserServiceError", "VcfrontServiceError", "Reason", });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor =
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor.getNestedTypes().get(0);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_OwnerNotFound_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor =
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor.getNestedTypes().get(1);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_UserServiceError_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor =
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_descriptor.getNestedTypes().get(2);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_Error_VcfrontServiceError_descriptor,
        new java.lang.String[] { });
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor =
      internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_descriptor.getNestedTypes().get(1);
    internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_keyapis_vc_v1_PostCompanyImpersonationResponse_CompanyImpersonation_descriptor,
        new java.lang.String[] { "Url", });
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
    registry.add(com.google.api.AnnotationsProto.http);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
    com.google.api.AnnotationsProto.getDescriptor();
    com.google.api.FieldBehaviorProto.getDescriptor();
    com.google.protobuf.TimestampProto.getDescriptor();
    ru.keyapis.vc.v1.KeyapisVcV1Proto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
