// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: deviceapis/device/v1/deviceapis_device_gate_v1.proto

package ru.deviceapis.device.v1;

public final class DeviceapisDeviceV1Proto {
  private DeviceapisDeviceV1Proto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface GateModeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.GateMode)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Флаг включения Gate режима.
     * true=gate; false=ordinary
     * </pre>
     *
     * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The isGateModeOn.
     */
    boolean getIsGateModeOn();

    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    java.util.List<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> 
        getHousesList();
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House getHouses(int index);
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    int getHousesCount();
  }
  /**
   * <pre>
   * Настройки Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.GateMode}
   */
  public  static final class GateMode extends
      com.google.protobuf.GeneratedMessageLite<
          GateMode, GateMode.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.GateMode)
      GateModeOrBuilder {
    private GateMode() {
      houses_ = emptyProtobufList();
    }
    public static final int IS_GATE_MODE_ON_FIELD_NUMBER = 1;
    private boolean isGateModeOn_;
    /**
     * <pre>
     * Флаг включения Gate режима.
     * true=gate; false=ordinary
     * </pre>
     *
     * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The isGateModeOn.
     */
    @java.lang.Override
    public boolean getIsGateModeOn() {
      return isGateModeOn_;
    }
    /**
     * <pre>
     * Флаг включения Gate режима.
     * true=gate; false=ordinary
     * </pre>
     *
     * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @param value The isGateModeOn to set.
     */
    private void setIsGateModeOn(boolean value) {
      
      isGateModeOn_ = value;
    }
    /**
     * <pre>
     * Флаг включения Gate режима.
     * true=gate; false=ordinary
     * </pre>
     *
     * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void clearIsGateModeOn() {

      isGateModeOn_ = false;
    }

    public static final int HOUSES_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> houses_;
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    @java.lang.Override
    public java.util.List<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> getHousesList() {
      return houses_;
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    public java.util.List<? extends ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.HouseOrBuilder> 
        getHousesOrBuilderList() {
      return houses_;
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    @java.lang.Override
    public int getHousesCount() {
      return houses_.size();
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House getHouses(int index) {
      return houses_.get(index);
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.HouseOrBuilder getHousesOrBuilder(
        int index) {
      return houses_.get(index);
    }
    private void ensureHousesIsMutable() {
      com.google.protobuf.Internal.ProtobufList<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> tmp = houses_;
      if (!tmp.isModifiable()) {
        houses_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void setHouses(
        int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
      value.getClass();
  ensureHousesIsMutable();
      houses_.set(index, value);
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void addHouses(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
      value.getClass();
  ensureHousesIsMutable();
      houses_.add(value);
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void addHouses(
        int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
      value.getClass();
  ensureHousesIsMutable();
      houses_.add(index, value);
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void addAllHouses(
        java.lang.Iterable<? extends ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> values) {
      ensureHousesIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, houses_);
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void clearHouses() {
      houses_ = emptyProtobufList();
    }
    /**
     * <pre>
     * Дома Gate режима.
     * При редактировании массив полностью заменяется на отправленный
     * </pre>
     *
     * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void removeHouses(int index) {
      ensureHousesIsMutable();
      houses_.remove(index);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.GateMode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.GateMode)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateModeOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Флаг включения Gate режима.
       * true=gate; false=ordinary
       * </pre>
       *
       * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The isGateModeOn.
       */
      @java.lang.Override
      public boolean getIsGateModeOn() {
        return instance.getIsGateModeOn();
      }
      /**
       * <pre>
       * Флаг включения Gate режима.
       * true=gate; false=ordinary
       * </pre>
       *
       * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The isGateModeOn to set.
       * @return This builder for chaining.
       */
      public Builder setIsGateModeOn(boolean value) {
        copyOnWrite();
        instance.setIsGateModeOn(value);
        return this;
      }
      /**
       * <pre>
       * Флаг включения Gate режима.
       * true=gate; false=ordinary
       * </pre>
       *
       * <code>bool is_gate_mode_on = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return This builder for chaining.
       */
      public Builder clearIsGateModeOn() {
        copyOnWrite();
        instance.clearIsGateModeOn();
        return this;
      }

      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      @java.lang.Override
      public java.util.List<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> getHousesList() {
        return java.util.Collections.unmodifiableList(
            instance.getHousesList());
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      @java.lang.Override
      public int getHousesCount() {
        return instance.getHousesCount();
      }/**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House getHouses(int index) {
        return instance.getHouses(index);
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder setHouses(
          int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
        copyOnWrite();
        instance.setHouses(index, value);
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder setHouses(
          int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.Builder builderForValue) {
        copyOnWrite();
        instance.setHouses(index,
            builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder addHouses(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
        copyOnWrite();
        instance.addHouses(value);
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder addHouses(
          int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House value) {
        copyOnWrite();
        instance.addHouses(index, value);
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder addHouses(
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.Builder builderForValue) {
        copyOnWrite();
        instance.addHouses(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder addHouses(
          int index, ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.Builder builderForValue) {
        copyOnWrite();
        instance.addHouses(index,
            builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder addAllHouses(
          java.lang.Iterable<? extends ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> values) {
        copyOnWrite();
        instance.addAllHouses(values);
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder clearHouses() {
        copyOnWrite();
        instance.clearHouses();
        return this;
      }
      /**
       * <pre>
       * Дома Gate режима.
       * При редактировании массив полностью заменяется на отправленный
       * </pre>
       *
       * <code>repeated .deviceapis.device.v1.House houses = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      public Builder removeHouses(int index) {
        copyOnWrite();
        instance.removeHouses(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.GateMode)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "isGateModeOn_",
              "houses_",
              ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.class,
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0001\u0000\u0001\u0007\u0002\u001b" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode>(
                        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:deviceapis.device.v1.GateMode)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode DEFAULT_INSTANCE;
    static {
      GateMode defaultInstance = new GateMode();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GateMode.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface GetGateModeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.GetGateModeRequest)
      com.google.protobuf.MessageLiteOrBuilder {
  }
  /**
   * <pre>
   * Запрос получения Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.GetGateModeRequest}
   */
  public  static final class GetGateModeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          GetGateModeRequest, GetGateModeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.GetGateModeRequest)
      GetGateModeRequestOrBuilder {
    private GetGateModeRequest() {
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос получения Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.GetGateModeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.GetGateModeRequest)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequestOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.GetGateModeRequest)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest();
        }
        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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest>(
                        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:deviceapis.device.v1.GetGateModeRequest)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest DEFAULT_INSTANCE;
    static {
      GetGateModeRequest defaultInstance = new GetGateModeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetGateModeRequest.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface GetGateModeResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.GetGateModeResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     * @return The data.
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData();

    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос получения Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.GetGateModeResponse}
   */
  public  static final class GetGateModeResponse extends
      com.google.protobuf.GeneratedMessageLite<
          GetGateModeResponse, GetGateModeResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.GetGateModeResponse)
      GetGateModeResponseOrBuilder {
    private GetGateModeResponse() {
    }
    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      DATA(1),
      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 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>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
      if (typeCase_ == 1) {
         return (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode) type_;
      }
      return ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance();
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance()) {
        type_ = ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.newBuilder((ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void clearData() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос получения Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.GetGateModeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.GetGateModeResponse)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponseOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

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

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


      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder setData(
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.GetGateModeResponse)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse>(
                        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:deviceapis.device.v1.GetGateModeResponse)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse DEFAULT_INSTANCE;
    static {
      GetGateModeResponse defaultInstance = new GetGateModeResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetGateModeResponse.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GetGateModeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HouseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.House)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The address.
     */
    java.lang.String getAddress();
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for address.
     */
    com.google.protobuf.ByteString
        getAddressBytes();

    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The prefix.
     */
    java.lang.String getPrefix();
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for prefix.
     */
    com.google.protobuf.ByteString
        getPrefixBytes();

    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     * @return Whether the roomRange field is set.
     */
    boolean hasRoomRange();
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     * @return The roomRange.
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange getRoomRange();

    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The sipServer.
     */
    java.lang.String getSipServer();
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The bytes for sipServer.
     */
    com.google.protobuf.ByteString
        getSipServerBytes();

    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The enum numeric value on the wire for inviteTemplateType.
     */
    int getInviteTemplateTypeValue();
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The inviteTemplateType.
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType getInviteTemplateType();
  }
  /**
   * <pre>
   * Дом Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.House}
   */
  public  static final class House extends
      com.google.protobuf.GeneratedMessageLite<
          House, House.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.House)
      HouseOrBuilder {
    private House() {
      address_ = "";
      prefix_ = "";
      sipServer_ = "";
    }
    /**
     * <pre>
     * Варианты подстановки номера дома и квартиры в SIP Invite
     * </pre>
     *
     * Protobuf enum {@code deviceapis.device.v1.House.InviteTemplateType}
     */
    public enum InviteTemplateType
        implements com.google.protobuf.Internal.EnumLite {
      /**
       * <pre>
       * Значение не указано
       * </pre>
       *
       * <code>INVITE_TEMPLATE_TYPE_UNKNOWN = 0;</code>
       */
      INVITE_TEMPLATE_TYPE_UNKNOWN(0),
      /**
       * <pre>
       * 4 символа для номера дома с лидирующими нулями, 4 символа для номера квартиры с лидирующими нулями.
       * Номера дома и квартиры при звонке подставляются в виде: 00120123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4LZ_F4LZ = 1;</code>
       */
      H4LZ_F4LZ(1),
      /**
       * <pre>
       * 4 символа для номера дома с лидирующими нулями, 4 или меньше символа для номера квартиры.
       * Номера дома и квартиры при звонке подставляются в виде: 0012123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4LZ_F4 = 2;</code>
       */
      H4LZ_F4(2),
      /**
       * <pre>
       * 4 или меньше символа для номера дома, 4 символа для номера квартиры с лидирующими нулями.
       * Номера дома и квартиры при звонке подставляются в виде: 120123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4_F4LZ = 3;</code>
       */
      H4_F4LZ(3),
      UNRECOGNIZED(-1),
      ;

      /**
       * <pre>
       * Значение не указано
       * </pre>
       *
       * <code>INVITE_TEMPLATE_TYPE_UNKNOWN = 0;</code>
       */
      public static final int INVITE_TEMPLATE_TYPE_UNKNOWN_VALUE = 0;
      /**
       * <pre>
       * 4 символа для номера дома с лидирующими нулями, 4 символа для номера квартиры с лидирующими нулями.
       * Номера дома и квартиры при звонке подставляются в виде: 00120123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4LZ_F4LZ = 1;</code>
       */
      public static final int H4LZ_F4LZ_VALUE = 1;
      /**
       * <pre>
       * 4 символа для номера дома с лидирующими нулями, 4 или меньше символа для номера квартиры.
       * Номера дома и квартиры при звонке подставляются в виде: 0012123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4LZ_F4 = 2;</code>
       */
      public static final int H4LZ_F4_VALUE = 2;
      /**
       * <pre>
       * 4 или меньше символа для номера дома, 4 символа для номера квартиры с лидирующими нулями.
       * Номера дома и квартиры при звонке подставляются в виде: 120123&#64;sip.acme.io
       * </pre>
       *
       * <code>H4_F4LZ = 3;</code>
       */
      public static final int H4_F4LZ_VALUE = 3;


      @java.lang.Override
      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return 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 InviteTemplateType valueOf(int value) {
        return forNumber(value);
      }

      public static InviteTemplateType forNumber(int value) {
        switch (value) {
          case 0: return INVITE_TEMPLATE_TYPE_UNKNOWN;
          case 1: return H4LZ_F4LZ;
          case 2: return H4LZ_F4;
          case 3: return H4_F4LZ;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<InviteTemplateType>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          InviteTemplateType> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<InviteTemplateType>() {
              @java.lang.Override
              public InviteTemplateType findValueByNumber(int number) {
                return InviteTemplateType.forNumber(number);
              }
            };

      public static com.google.protobuf.Internal.EnumVerifier 
          internalGetVerifier() {
        return InviteTemplateTypeVerifier.INSTANCE;
      }

      private static final class InviteTemplateTypeVerifier implements 
           com.google.protobuf.Internal.EnumVerifier { 
              static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new InviteTemplateTypeVerifier();
              @java.lang.Override
              public boolean isInRange(int number) {
                return InviteTemplateType.forNumber(number) != null;
              }
            };

      private final int value;

      private InviteTemplateType(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:deviceapis.device.v1.House.InviteTemplateType)
    }

    public interface RoomRangeOrBuilder extends
        // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.House.RoomRange)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The firstRoomNumber.
       */
      java.lang.String getFirstRoomNumber();
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The bytes for firstRoomNumber.
       */
      com.google.protobuf.ByteString
          getFirstRoomNumberBytes();

      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The lastRoomNumber.
       */
      java.lang.String getLastRoomNumber();
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The bytes for lastRoomNumber.
       */
      com.google.protobuf.ByteString
          getLastRoomNumberBytes();
    }
    /**
     * <pre>
     * Диапазон квартир
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.House.RoomRange}
     */
    public  static final class RoomRange extends
        com.google.protobuf.GeneratedMessageLite<
            RoomRange, RoomRange.Builder> implements
        // @@protoc_insertion_point(message_implements:deviceapis.device.v1.House.RoomRange)
        RoomRangeOrBuilder {
      private RoomRange() {
        firstRoomNumber_ = "";
        lastRoomNumber_ = "";
      }
      public static final int FIRST_ROOM_NUMBER_FIELD_NUMBER = 1;
      private java.lang.String firstRoomNumber_;
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The firstRoomNumber.
       */
      @java.lang.Override
      public java.lang.String getFirstRoomNumber() {
        return firstRoomNumber_;
      }
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The bytes for firstRoomNumber.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getFirstRoomNumberBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(firstRoomNumber_);
      }
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The firstRoomNumber to set.
       */
      private void setFirstRoomNumber(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
  
        firstRoomNumber_ = value;
      }
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      private void clearFirstRoomNumber() {

        firstRoomNumber_ = getDefaultInstance().getFirstRoomNumber();
      }
      /**
       * <pre>
       * Начало диапазона включительно
       * </pre>
       *
       * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The bytes for firstRoomNumber to set.
       */
      private void setFirstRoomNumberBytes(
          com.google.protobuf.ByteString value) {
        checkByteStringIsUtf8(value);
        firstRoomNumber_ = value.toStringUtf8();

      }

      public static final int LAST_ROOM_NUMBER_FIELD_NUMBER = 2;
      private java.lang.String lastRoomNumber_;
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The lastRoomNumber.
       */
      @java.lang.Override
      public java.lang.String getLastRoomNumber() {
        return lastRoomNumber_;
      }
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The bytes for lastRoomNumber.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLastRoomNumberBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(lastRoomNumber_);
      }
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The lastRoomNumber to set.
       */
      private void setLastRoomNumber(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
  
        lastRoomNumber_ = value;
      }
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       */
      private void clearLastRoomNumber() {

        lastRoomNumber_ = getDefaultInstance().getLastRoomNumber();
      }
      /**
       * <pre>
       * Конец диапазона включительно
       * </pre>
       *
       * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The bytes for lastRoomNumber to set.
       */
      private void setLastRoomNumberBytes(
          com.google.protobuf.ByteString value) {
        checkByteStringIsUtf8(value);
        lastRoomNumber_ = value.toStringUtf8();

      }

      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Диапазон квартир
       * </pre>
       *
       * Protobuf type {@code deviceapis.device.v1.House.RoomRange}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange, Builder> implements
          // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.House.RoomRange)
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRangeOrBuilder {
        // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        /**
         * <pre>
         * Начало диапазона включительно
         * </pre>
         *
         * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return The firstRoomNumber.
         */
        @java.lang.Override
        public java.lang.String getFirstRoomNumber() {
          return instance.getFirstRoomNumber();
        }
        /**
         * <pre>
         * Начало диапазона включительно
         * </pre>
         *
         * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return The bytes for firstRoomNumber.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getFirstRoomNumberBytes() {
          return instance.getFirstRoomNumberBytes();
        }
        /**
         * <pre>
         * Начало диапазона включительно
         * </pre>
         *
         * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @param value The firstRoomNumber to set.
         * @return This builder for chaining.
         */
        public Builder setFirstRoomNumber(
            java.lang.String value) {
          copyOnWrite();
          instance.setFirstRoomNumber(value);
          return this;
        }
        /**
         * <pre>
         * Начало диапазона включительно
         * </pre>
         *
         * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return This builder for chaining.
         */
        public Builder clearFirstRoomNumber() {
          copyOnWrite();
          instance.clearFirstRoomNumber();
          return this;
        }
        /**
         * <pre>
         * Начало диапазона включительно
         * </pre>
         *
         * <code>string first_room_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @param value The bytes for firstRoomNumber to set.
         * @return This builder for chaining.
         */
        public Builder setFirstRoomNumberBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setFirstRoomNumberBytes(value);
          return this;
        }

        /**
         * <pre>
         * Конец диапазона включительно
         * </pre>
         *
         * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return The lastRoomNumber.
         */
        @java.lang.Override
        public java.lang.String getLastRoomNumber() {
          return instance.getLastRoomNumber();
        }
        /**
         * <pre>
         * Конец диапазона включительно
         * </pre>
         *
         * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return The bytes for lastRoomNumber.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getLastRoomNumberBytes() {
          return instance.getLastRoomNumberBytes();
        }
        /**
         * <pre>
         * Конец диапазона включительно
         * </pre>
         *
         * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @param value The lastRoomNumber to set.
         * @return This builder for chaining.
         */
        public Builder setLastRoomNumber(
            java.lang.String value) {
          copyOnWrite();
          instance.setLastRoomNumber(value);
          return this;
        }
        /**
         * <pre>
         * Конец диапазона включительно
         * </pre>
         *
         * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @return This builder for chaining.
         */
        public Builder clearLastRoomNumber() {
          copyOnWrite();
          instance.clearLastRoomNumber();
          return this;
        }
        /**
         * <pre>
         * Конец диапазона включительно
         * </pre>
         *
         * <code>string last_room_number = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
         * @param value The bytes for lastRoomNumber to set.
         * @return This builder for chaining.
         */
        public Builder setLastRoomNumberBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setLastRoomNumberBytes(value);
          return this;
        }

        // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.House.RoomRange)
      }
      @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "firstRoomNumber_",
                "lastRoomNumber_",
              };
              java.lang.String info =
                  "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                  "";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange> parser = PARSER;
            if (parser == null) {
              synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange>(
                          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:deviceapis.device.v1.House.RoomRange)
      private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange DEFAULT_INSTANCE;
      static {
        RoomRange defaultInstance = new RoomRange();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          RoomRange.class, defaultInstance);
      }

      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

    public static final int ADDRESS_FIELD_NUMBER = 1;
    private java.lang.String address_;
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The address.
     */
    @java.lang.Override
    public java.lang.String getAddress() {
      return address_;
    }
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for address.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAddressBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(address_);
    }
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The address to set.
     */
    private void setAddress(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      address_ = value;
    }
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearAddress() {

      address_ = getDefaultInstance().getAddress();
    }
    /**
     * <pre>
     * Адрес дома
     * </pre>
     *
     * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for address to set.
     */
    private void setAddressBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      address_ = value.toStringUtf8();

    }

    public static final int PREFIX_FIELD_NUMBER = 2;
    private java.lang.String prefix_;
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The prefix.
     */
    @java.lang.Override
    public java.lang.String getPrefix() {
      return prefix_;
    }
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for prefix.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPrefixBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(prefix_);
    }
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The prefix to set.
     */
    private void setPrefix(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      prefix_ = value;
    }
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearPrefix() {

      prefix_ = getDefaultInstance().getPrefix();
    }
    /**
     * <pre>
     * Номер дома (подъезда)
     * </pre>
     *
     * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for prefix to set.
     */
    private void setPrefixBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      prefix_ = value.toStringUtf8();

    }

    public static final int ROOM_RANGE_FIELD_NUMBER = 3;
    private ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange roomRange_;
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     */
    @java.lang.Override
    public boolean hasRoomRange() {
      return roomRange_ != null;
    }
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange getRoomRange() {
      return roomRange_ == null ? ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.getDefaultInstance() : roomRange_;
    }
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     */
    private void setRoomRange(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange value) {
      value.getClass();
  roomRange_ = value;

      }
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeRoomRange(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange value) {
      value.getClass();
  if (roomRange_ != null &&
          roomRange_ != ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.getDefaultInstance()) {
        roomRange_ =
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.newBuilder(roomRange_).mergeFrom(value).buildPartial();
      } else {
        roomRange_ = value;
      }

    }
    /**
     * <pre>
     * Диапазон квартир.
     * Если не задан, то устройство позволяет набор любой квартиры
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
     */
    private void clearRoomRange() {  roomRange_ = null;

    }

    public static final int SIP_SERVER_FIELD_NUMBER = 4;
    private java.lang.String sipServer_;
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The sipServer.
     */
    @java.lang.Override
    public java.lang.String getSipServer() {
      return sipServer_;
    }
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The bytes for sipServer.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSipServerBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sipServer_);
    }
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @param value The sipServer to set.
     */
    private void setSipServer(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      sipServer_ = value;
    }
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void clearSipServer() {

      sipServer_ = getDefaultInstance().getSipServer();
    }
    /**
     * <pre>
     * Адрес Sip сервера.
     * При пустом sip_server будет использован сервер SIP регистрации
     * </pre>
     *
     * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @param value The bytes for sipServer to set.
     */
    private void setSipServerBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      sipServer_ = value.toStringUtf8();

    }

    public static final int INVITE_TEMPLATE_TYPE_FIELD_NUMBER = 5;
    private int inviteTemplateType_;
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The enum numeric value on the wire for inviteTemplateType.
     */
    @java.lang.Override
    public int getInviteTemplateTypeValue() {
      return inviteTemplateType_;
    }
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @return The inviteTemplateType.
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType getInviteTemplateType() {
      ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType result = ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType.forNumber(inviteTemplateType_);
      return result == null ? ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType.UNRECOGNIZED : result;
    }
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @param value The enum numeric value on the wire for inviteTemplateType to set.
     */
    private void setInviteTemplateTypeValue(int value) {
        inviteTemplateType_ = value;
    }
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     * @param value The inviteTemplateType to set.
     */
    private void setInviteTemplateType(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType value) {
      inviteTemplateType_ = value.getNumber();

    }
    /**
     * <pre>
     * Вариант подстановки номера дома и квартиры в SIP Invite.
     * При отсутствии значения используется вариант H4LZ_F4LZ
     * </pre>
     *
     * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
     */
    private void clearInviteTemplateType() {

      inviteTemplateType_ = 0;
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Дом Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.House}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.House)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.HouseOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Адрес дома
       * </pre>
       *
       * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The address.
       */
      @java.lang.Override
      public java.lang.String getAddress() {
        return instance.getAddress();
      }
      /**
       * <pre>
       * Адрес дома
       * </pre>
       *
       * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for address.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAddressBytes() {
        return instance.getAddressBytes();
      }
      /**
       * <pre>
       * Адрес дома
       * </pre>
       *
       * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The address to set.
       * @return This builder for chaining.
       */
      public Builder setAddress(
          java.lang.String value) {
        copyOnWrite();
        instance.setAddress(value);
        return this;
      }
      /**
       * <pre>
       * Адрес дома
       * </pre>
       *
       * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearAddress() {
        copyOnWrite();
        instance.clearAddress();
        return this;
      }
      /**
       * <pre>
       * Адрес дома
       * </pre>
       *
       * <code>string address = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for address to set.
       * @return This builder for chaining.
       */
      public Builder setAddressBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAddressBytes(value);
        return this;
      }

      /**
       * <pre>
       * Номер дома (подъезда)
       * </pre>
       *
       * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The prefix.
       */
      @java.lang.Override
      public java.lang.String getPrefix() {
        return instance.getPrefix();
      }
      /**
       * <pre>
       * Номер дома (подъезда)
       * </pre>
       *
       * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for prefix.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPrefixBytes() {
        return instance.getPrefixBytes();
      }
      /**
       * <pre>
       * Номер дома (подъезда)
       * </pre>
       *
       * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The prefix to set.
       * @return This builder for chaining.
       */
      public Builder setPrefix(
          java.lang.String value) {
        copyOnWrite();
        instance.setPrefix(value);
        return this;
      }
      /**
       * <pre>
       * Номер дома (подъезда)
       * </pre>
       *
       * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearPrefix() {
        copyOnWrite();
        instance.clearPrefix();
        return this;
      }
      /**
       * <pre>
       * Номер дома (подъезда)
       * </pre>
       *
       * <code>string prefix = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for prefix to set.
       * @return This builder for chaining.
       */
      public Builder setPrefixBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPrefixBytes(value);
        return this;
      }

      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      @java.lang.Override
      public boolean hasRoomRange() {
        return instance.hasRoomRange();
      }
      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange getRoomRange() {
        return instance.getRoomRange();
      }
      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      public Builder setRoomRange(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange value) {
        copyOnWrite();
        instance.setRoomRange(value);
        return this;
        }
      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      public Builder setRoomRange(
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange.Builder builderForValue) {
        copyOnWrite();
        instance.setRoomRange(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      public Builder mergeRoomRange(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.RoomRange value) {
        copyOnWrite();
        instance.mergeRoomRange(value);
        return this;
      }
      /**
       * <pre>
       * Диапазон квартир.
       * Если не задан, то устройство позволяет набор любой квартиры
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.RoomRange room_range = 3;</code>
       */
      public Builder clearRoomRange() {  copyOnWrite();
        instance.clearRoomRange();
        return this;
      }

      /**
       * <pre>
       * Адрес Sip сервера.
       * При пустом sip_server будет использован сервер SIP регистрации
       * </pre>
       *
       * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The sipServer.
       */
      @java.lang.Override
      public java.lang.String getSipServer() {
        return instance.getSipServer();
      }
      /**
       * <pre>
       * Адрес Sip сервера.
       * При пустом sip_server будет использован сервер SIP регистрации
       * </pre>
       *
       * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The bytes for sipServer.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSipServerBytes() {
        return instance.getSipServerBytes();
      }
      /**
       * <pre>
       * Адрес Sip сервера.
       * При пустом sip_server будет использован сервер SIP регистрации
       * </pre>
       *
       * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The sipServer to set.
       * @return This builder for chaining.
       */
      public Builder setSipServer(
          java.lang.String value) {
        copyOnWrite();
        instance.setSipServer(value);
        return this;
      }
      /**
       * <pre>
       * Адрес Sip сервера.
       * При пустом sip_server будет использован сервер SIP регистрации
       * </pre>
       *
       * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return This builder for chaining.
       */
      public Builder clearSipServer() {
        copyOnWrite();
        instance.clearSipServer();
        return this;
      }
      /**
       * <pre>
       * Адрес Sip сервера.
       * При пустом sip_server будет использован сервер SIP регистрации
       * </pre>
       *
       * <code>string sip_server = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The bytes for sipServer to set.
       * @return This builder for chaining.
       */
      public Builder setSipServerBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSipServerBytes(value);
        return this;
      }

      /**
       * <pre>
       * Вариант подстановки номера дома и квартиры в SIP Invite.
       * При отсутствии значения используется вариант H4LZ_F4LZ
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The enum numeric value on the wire for inviteTemplateType.
       */
      @java.lang.Override
      public int getInviteTemplateTypeValue() {
        return instance.getInviteTemplateTypeValue();
      }
      /**
       * <pre>
       * Вариант подстановки номера дома и квартиры в SIP Invite.
       * При отсутствии значения используется вариант H4LZ_F4LZ
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The inviteTemplateType to set.
       * @return This builder for chaining.
       */
      public Builder setInviteTemplateTypeValue(int value) {
        copyOnWrite();
        instance.setInviteTemplateTypeValue(value);
        return this;
      }
      /**
       * <pre>
       * Вариант подстановки номера дома и квартиры в SIP Invite.
       * При отсутствии значения используется вариант H4LZ_F4LZ
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return The inviteTemplateType.
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType getInviteTemplateType() {
        return instance.getInviteTemplateType();
      }
      /**
       * <pre>
       * Вариант подстановки номера дома и квартиры в SIP Invite.
       * При отсутствии значения используется вариант H4LZ_F4LZ
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @param value The enum numeric value on the wire for inviteTemplateType to set.
       * @return This builder for chaining.
       */
      public Builder setInviteTemplateType(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.InviteTemplateType value) {
        copyOnWrite();
        instance.setInviteTemplateType(value);
        return this;
      }
      /**
       * <pre>
       * Вариант подстановки номера дома и квартиры в SIP Invite.
       * При отсутствии значения используется вариант H4LZ_F4LZ
       * </pre>
       *
       * <code>.deviceapis.device.v1.House.InviteTemplateType invite_template_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { ... }</code>
       * @return This builder for chaining.
       */
      public Builder clearInviteTemplateType() {
        copyOnWrite();
        instance.clearInviteTemplateType();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.House)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.House();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "address_",
              "prefix_",
              "roomRange_",
              "sipServer_",
              "inviteTemplateType_",
            };
            java.lang.String info =
                "\u0000\u0005\u0000\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "\u0003\t\u0004\u0208\u0005\f";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House>(
                        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:deviceapis.device.v1.House)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House DEFAULT_INSTANCE;
    static {
      House defaultInstance = new House();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        House.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.House getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface SaveGateModeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.SaveGateModeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The data.
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData();
  }
  /**
   * <pre>
   * Запрос редактирования Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.SaveGateModeRequest}
   */
  public  static final class SaveGateModeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          SaveGateModeRequest, SaveGateModeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.SaveGateModeRequest)
      SaveGateModeRequestOrBuilder {
    private SaveGateModeRequest() {
    }
    public static final int DATA_FIELD_NUMBER = 1;
    private ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode data_;
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return data_ != null;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
      return data_ == null ? ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance() : data_;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  data_ = value;

      }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  if (data_ != null &&
          data_ != ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance()) {
        data_ =
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.newBuilder(data_).mergeFrom(value).buildPartial();
      } else {
        data_ = value;
      }

    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearData() {  data_ = null;

    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос редактирования Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.SaveGateModeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.SaveGateModeRequest)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequestOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.setData(value);
        return this;
        }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder setData(
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       */
      public Builder clearData() {  copyOnWrite();
        instance.clearData();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.SaveGateModeRequest)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "data_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest>(
                        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:deviceapis.device.v1.SaveGateModeRequest)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest DEFAULT_INSTANCE;
    static {
      SaveGateModeRequest defaultInstance = new SaveGateModeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SaveGateModeRequest.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface SaveGateModeResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.SaveGateModeResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     * @return Whether the data field is set.
     */
    boolean hasData();
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     * @return The data.
     */
    ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData();

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

    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос редактирования Gate режима
   * </pre>
   *
   * Protobuf type {@code deviceapis.device.v1.SaveGateModeResponse}
   */
  public  static final class SaveGateModeResponse extends
      com.google.protobuf.GeneratedMessageLite<
          SaveGateModeResponse, SaveGateModeResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:deviceapis.device.v1.SaveGateModeResponse)
      SaveGateModeResponseOrBuilder {
    private SaveGateModeResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:deviceapis.device.v1.SaveGateModeResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

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

      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.SaveGateModeResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:deviceapis.device.v1.SaveGateModeResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        VALIDATION(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 VALIDATION;
            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 VALIDATION_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
       */
      @java.lang.Override
      public boolean hasValidation() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError getValidation() {
        if (reasonCase_ == 1) {
           return (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError) reason_;
        }
        return ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
       */
      private void setValidation(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
       */
      private void mergeValidation(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError.getDefaultInstance()) {
          reason_ = ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError.newBuilder((ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка валидации
       * </pre>
       *
       * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
       */
      private void clearValidation() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса
       * </pre>
       *
       * Protobuf type {@code deviceapis.device.v1.SaveGateModeResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.SaveGateModeResponse.Error)
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.ErrorOrBuilder {
        // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        @java.lang.Override
        public boolean hasValidation() {
          return instance.hasValidation();
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        @java.lang.Override
        public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError getValidation() {
          return instance.getValidation();
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        public Builder setValidation(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError value) {
          copyOnWrite();
          instance.setValidation(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        public Builder setValidation(
            ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError.Builder builderForValue) {
          copyOnWrite();
          instance.setValidation(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        public Builder mergeValidation(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError value) {
          copyOnWrite();
          instance.mergeValidation(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка валидации
         * </pre>
         *
         * <code>.deviceapis.device.v1.ValidationError validation = 1;</code>
         */
        public Builder clearValidation() {
          copyOnWrite();
          instance.clearValidation();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.ValidationError.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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:deviceapis.device.v1.SaveGateModeResponse.Error)
      private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    @java.lang.Override
    public boolean hasData() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    @java.lang.Override
    public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
      if (typeCase_ == 1) {
         return (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode) type_;
      }
      return ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance();
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.getDefaultInstance()) {
        type_ = ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.newBuilder((ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Настройки Gate режима
     * </pre>
     *
     * <code>.deviceapis.device.v1.GateMode data = 1;</code>
     */
    private void clearData() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

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

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse 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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос редактирования Gate режима
     * </pre>
     *
     * Protobuf type {@code deviceapis.device.v1.SaveGateModeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:deviceapis.device.v1.SaveGateModeResponse)
        ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponseOrBuilder {
      // Construct using ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

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

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


      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      @java.lang.Override
      public boolean hasData() {
        return instance.hasData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      @java.lang.Override
      public ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode getData() {
        return instance.getData();
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder setData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.setData(value);
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder setData(
          ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.Builder builderForValue) {
        copyOnWrite();
        instance.setData(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder mergeData(ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode value) {
        copyOnWrite();
        instance.mergeData(value);
        return this;
      }
      /**
       * <pre>
       * Настройки Gate режима
       * </pre>
       *
       * <code>.deviceapis.device.v1.GateMode data = 1;</code>
       */
      public Builder clearData() {
        copyOnWrite();
        instance.clearData();
        return this;
      }

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

      // @@protoc_insertion_point(builder_scope:deviceapis.device.v1.SaveGateModeResponse)
    }
    @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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.GateMode.class,
              ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.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.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse>(
                        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:deviceapis.device.v1.SaveGateModeResponse)
    private static final ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse DEFAULT_INSTANCE;
    static {
      SaveGateModeResponse defaultInstance = new SaveGateModeResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SaveGateModeResponse.class, defaultInstance);
    }

    public static ru.deviceapis.device.v1.DeviceapisDeviceV1Proto.SaveGateModeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
