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

package ru.keyapis.identity.v1;

public final class KeyapisIdentityV1Proto {
  private KeyapisIdentityV1Proto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface TokenOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.Token)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The accessToken.
     */
    java.lang.String getAccessToken();
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for accessToken.
     */
    com.google.protobuf.ByteString
        getAccessTokenBytes();

    /**
     * <pre>
     * Время (в секундах), через которое истечет срок действия Access Token
     * </pre>
     *
     * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The expiresIn.
     */
    int getExpiresIn();
  }
  /**
   * <pre>
   * Информация о токене доступа пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.Token}
   */
  public  static final class Token extends
      com.google.protobuf.GeneratedMessageLite<
          Token, Token.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.Token)
      TokenOrBuilder {
    private Token() {
      accessToken_ = "";
    }
    public static final int ACCESS_TOKEN_FIELD_NUMBER = 1;
    private java.lang.String accessToken_;
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The accessToken.
     */
    @java.lang.Override
    public java.lang.String getAccessToken() {
      return accessToken_;
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for accessToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAccessTokenBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(accessToken_);
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The accessToken to set.
     */
    private void setAccessToken(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      accessToken_ = value;
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearAccessToken() {

      accessToken_ = getDefaultInstance().getAccessToken();
    }
    /**
     * <pre>
     * Токен
     * </pre>
     *
     * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for accessToken to set.
     */
    private void setAccessTokenBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      accessToken_ = value.toStringUtf8();

    }

    public static final int EXPIRES_IN_FIELD_NUMBER = 2;
    private int expiresIn_;
    /**
     * <pre>
     * Время (в секундах), через которое истечет срок действия Access Token
     * </pre>
     *
     * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The expiresIn.
     */
    @java.lang.Override
    public int getExpiresIn() {
      return expiresIn_;
    }
    /**
     * <pre>
     * Время (в секундах), через которое истечет срок действия Access Token
     * </pre>
     *
     * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The expiresIn to set.
     */
    private void setExpiresIn(int value) {
      
      expiresIn_ = value;
    }
    /**
     * <pre>
     * Время (в секундах), через которое истечет срок действия Access Token
     * </pre>
     *
     * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearExpiresIn() {

      expiresIn_ = 0;
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Информация о токене доступа пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.Token}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.Token)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.TokenOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The accessToken.
       */
      @java.lang.Override
      public java.lang.String getAccessToken() {
        return instance.getAccessToken();
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for accessToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAccessTokenBytes() {
        return instance.getAccessTokenBytes();
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The accessToken to set.
       * @return This builder for chaining.
       */
      public Builder setAccessToken(
          java.lang.String value) {
        copyOnWrite();
        instance.setAccessToken(value);
        return this;
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearAccessToken() {
        copyOnWrite();
        instance.clearAccessToken();
        return this;
      }
      /**
       * <pre>
       * Токен
       * </pre>
       *
       * <code>string access_token = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for accessToken to set.
       * @return This builder for chaining.
       */
      public Builder setAccessTokenBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAccessTokenBytes(value);
        return this;
      }

      /**
       * <pre>
       * Время (в секундах), через которое истечет срок действия Access Token
       * </pre>
       *
       * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The expiresIn.
       */
      @java.lang.Override
      public int getExpiresIn() {
        return instance.getExpiresIn();
      }
      /**
       * <pre>
       * Время (в секундах), через которое истечет срок действия Access Token
       * </pre>
       *
       * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The expiresIn to set.
       * @return This builder for chaining.
       */
      public Builder setExpiresIn(int value) {
        copyOnWrite();
        instance.setExpiresIn(value);
        return this;
      }
      /**
       * <pre>
       * Время (в секундах), через которое истечет срок действия Access Token
       * </pre>
       *
       * <code>int32 expires_in = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearExpiresIn() {
        copyOnWrite();
        instance.clearExpiresIn();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.Token)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "accessToken_",
              "expiresIn_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0004" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.Token)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token DEFAULT_INSTANCE;
    static {
      Token defaultInstance = new Token();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        Token.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Token> PARSER;

    public static com.google.protobuf.Parser<Token> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostTokenUserRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostTokenUserRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The userId.
     */
    int getUserId();
  }
  /**
   * <pre>
   * Запрос на получение токена по идентификатору пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostTokenUserRequest}
   */
  public  static final class PostTokenUserRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostTokenUserRequest, PostTokenUserRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostTokenUserRequest)
      PostTokenUserRequestOrBuilder {
    private PostTokenUserRequest() {
    }
    public static final int USER_ID_FIELD_NUMBER = 1;
    private int userId_;
    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The userId.
     */
    @java.lang.Override
    public int getUserId() {
      return userId_;
    }
    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The userId to set.
     */
    private void setUserId(int value) {
      
      userId_ = value;
    }
    /**
     * <pre>
     * Идентификатор пользователя
     * </pre>
     *
     * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearUserId() {

      userId_ = 0;
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на получение токена по идентификатору пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostTokenUserRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostTokenUserRequest)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequestOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The userId.
       */
      @java.lang.Override
      public int getUserId() {
        return instance.getUserId();
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The userId to set.
       * @return This builder for chaining.
       */
      public Builder setUserId(int value) {
        copyOnWrite();
        instance.setUserId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор пользователя
       * </pre>
       *
       * <code>int32 user_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearUserId() {
        copyOnWrite();
        instance.clearUserId();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostTokenUserRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "userId_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u0004";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostTokenUserRequest)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest DEFAULT_INSTANCE;
    static {
      PostTokenUserRequest defaultInstance = new PostTokenUserRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostTokenUserRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostTokenUserRequest> PARSER;

    public static com.google.protobuf.Parser<PostTokenUserRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostTokenUserResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostTokenUserResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     * @return The data.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token getData();

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

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос на получение токена по идентификатору пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse}
   */
  public  static final class PostTokenUserResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostTokenUserResponse, PostTokenUserResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostTokenUserResponse)
      PostTokenUserResponseOrBuilder {
    private PostTokenUserResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostTokenUserResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       * @return Whether the token field is set.
       */
      boolean hasToken();
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       * @return The token.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError getToken();

      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса на получение токена по идентификатору пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostTokenUserResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      public interface TokenErrorOrBuilder extends
          // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostTokenUserResponse.Error.TokenError)
          com.google.protobuf.MessageLiteOrBuilder {
      }
      /**
       * <pre>
       * Ошибка получения токена.
       * Причины:
       * - Ошибка в сервисе Household
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse.Error.TokenError}
       */
      public  static final class TokenError extends
          com.google.protobuf.GeneratedMessageLite<
              TokenError, TokenError.Builder> implements
          // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostTokenUserResponse.Error.TokenError)
          TokenErrorOrBuilder {
        private TokenError() {
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, data, extensionRegistry);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input);
        }

        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input);
        }
        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageLite.parseFrom(
              DEFAULT_INSTANCE, input, extensionRegistry);
        }

        public static Builder newBuilder() {
          return (Builder) DEFAULT_INSTANCE.createBuilder();
        }
        public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError prototype) {
          return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
        }

        /**
         * <pre>
         * Ошибка получения токена.
         * Причины:
         * - Ошибка в сервисе Household
         * </pre>
         *
         * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse.Error.TokenError}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageLite.Builder<
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError, Builder> implements
            // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostTokenUserResponse.Error.TokenError)
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenErrorOrBuilder {
          // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.newBuilder()
          private Builder() {
            super(DEFAULT_INSTANCE);
          }


          // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostTokenUserResponse.Error.TokenError)
        }
        @java.lang.Override
        @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
        protected final java.lang.Object dynamicMethod(
            com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
            java.lang.Object arg0, java.lang.Object arg1) {
          switch (method) {
            case NEW_MUTABLE_INSTANCE: {
              return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError();
            }
            case NEW_BUILDER: {
              return new Builder();
            }
            case BUILD_MESSAGE_INFO: {
                java.lang.Object[] objects = null;java.lang.String info =
                    "\u0000\u0000";
                return newMessageInfo(DEFAULT_INSTANCE, info, objects);
            }
            // fall through
            case GET_DEFAULT_INSTANCE: {
              return DEFAULT_INSTANCE;
            }
            case GET_PARSER: {
              com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError> parser = PARSER;
              if (parser == null) {
                synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.class) {
                  parser = PARSER;
                  if (parser == null) {
                    parser =
                        new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError>(
                            DEFAULT_INSTANCE);
                    PARSER = parser;
                  }
                }
              }
              return parser;
          }
          case GET_MEMOIZED_IS_INITIALIZED: {
            return (byte) 1;
          }
          case SET_MEMOIZED_IS_INITIALIZED: {
            return null;
          }
          }
          throw new UnsupportedOperationException();
        }


        // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostTokenUserResponse.Error.TokenError)
        private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError DEFAULT_INSTANCE;
        static {
          TokenError defaultInstance = new TokenError();
          // New instances are implicitly immutable so no need to make
          // immutable.
          DEFAULT_INSTANCE = defaultInstance;
          com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
            TokenError.class, defaultInstance);
        }

        public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static volatile com.google.protobuf.Parser<TokenError> PARSER;

        public static com.google.protobuf.Parser<TokenError> parser() {
          return DEFAULT_INSTANCE.getParserForType();
        }
      }

      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        TOKEN(1),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @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 TOKEN;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int TOKEN_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       */
      @java.lang.Override
      public boolean hasToken() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError getToken() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       */
      private void setToken(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       */
      private void mergeToken(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка получения токена
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
       */
      private void clearToken() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса на получение токена по идентификатору пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostTokenUserResponse.Error)
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        @java.lang.Override
        public boolean hasToken() {
          return instance.hasToken();
        }
        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError getToken() {
          return instance.getToken();
        }
        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        public Builder setToken(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError value) {
          copyOnWrite();
          instance.setToken(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        public Builder setToken(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.Builder builderForValue) {
          copyOnWrite();
          instance.setToken(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        public Builder mergeToken(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError value) {
          copyOnWrite();
          instance.mergeToken(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка получения токена
         * </pre>
         *
         * <code>.keyapis.identity.v1.PostTokenUserResponse.Error.TokenError token = 1;</code>
         */
        public Builder clearToken() {
          copyOnWrite();
          instance.clearToken();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostTokenUserResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.TokenError.class,
              };
              java.lang.String info =
                  "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostTokenUserResponse.Error)
      private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

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

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      DATA(1),
      ERROR(2),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @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;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int DATA_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token getData() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token) type_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.getDefaultInstance();
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     */
    private void setData(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     */
    private void mergeData(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.getDefaultInstance()) {
        type_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Токен пользователя
     * </pre>
     *
     * <code>.keyapis.identity.v1.Token data = 1;</code>
     */
    private void clearData() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static final int ERROR_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error getError() {
      if (typeCase_ == 2) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error) type_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
     */
    private void setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
     */
    private void mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error value) {
      value.getClass();
  if (typeCase_ == 2 &&
          type_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 2;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
     */
    private void clearError() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос на получение токена по идентификатору пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostTokenUserResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostTokenUserResponse)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponseOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      public Builder setData(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      public Builder setData(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      public Builder mergeData(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Токен пользователя
       * </pre>
       *
       * <code>.keyapis.identity.v1.Token data = 1;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      public Builder setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      public Builder setError(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      public Builder mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostTokenUserResponse.Error error = 2;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostTokenUserResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.Token.class,
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.Error.class,
            };
            java.lang.String info =
                "\u0000\u0002\u0001\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                "\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostTokenUserResponse)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse DEFAULT_INSTANCE;
    static {
      PostTokenUserResponse defaultInstance = new PostTokenUserResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostTokenUserResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostTokenUserResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostTokenUserResponse> PARSER;

    public static com.google.protobuf.Parser<PostTokenUserResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
