// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: igpsport/route_book.proto

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class RouteBook {
  private RouteBook() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code ROUTE_BOOK_SUB_OP_TYPE}
   */
  public enum ROUTE_BOOK_SUB_OP_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE = 0;</code>
     */
    enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE(0),
    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_NUM_GET = 1;</code>
     */
    enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_NUM_GET(1),
    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_GET = 2;</code>
     */
    enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_GET(2),
    /**
     * <code>enum_ROUTE_BOOK_SET_SUB_OP_TYPE_USE = 17;</code>
     */
    enum_ROUTE_BOOK_SET_SUB_OP_TYPE_USE(17),
    /**
     * <code>enum_ROUTE_BOOK_SET_SUB_OP_TYPE_RENAME = 18;</code>
     */
    enum_ROUTE_BOOK_SET_SUB_OP_TYPE_RENAME(18),
    ;

    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE = 0;</code>
     */
    public static final int enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE_VALUE = 0;
    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_NUM_GET = 1;</code>
     */
    public static final int enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_NUM_GET_VALUE = 1;
    /**
     * <code>enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_GET = 2;</code>
     */
    public static final int enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_GET_VALUE = 2;
    /**
     * <code>enum_ROUTE_BOOK_SET_SUB_OP_TYPE_USE = 17;</code>
     */
    public static final int enum_ROUTE_BOOK_SET_SUB_OP_TYPE_USE_VALUE = 17;
    /**
     * <code>enum_ROUTE_BOOK_SET_SUB_OP_TYPE_RENAME = 18;</code>
     */
    public static final int enum_ROUTE_BOOK_SET_SUB_OP_TYPE_RENAME_VALUE = 18;


    @java.lang.Override
    public final int getNumber() {
      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 ROUTE_BOOK_SUB_OP_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static ROUTE_BOOK_SUB_OP_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE;
        case 1: return enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_NUM_GET;
        case 2: return enum_ROUTE_BOOK_GET_SUB_OP_TYPE_LIST_GET;
        case 17: return enum_ROUTE_BOOK_SET_SUB_OP_TYPE_USE;
        case 18: return enum_ROUTE_BOOK_SET_SUB_OP_TYPE_RENAME;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:ROUTE_BOOK_SUB_OP_TYPE)
  }

  /**
   * Protobuf enum {@code ROUTE_BOOK_FILE_STATUS}
   */
  public enum ROUTE_BOOK_FILE_STATUS
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_ROUTE_BOOK_FILE_INVALID_STATUS = 0;</code>
     */
    enum_ROUTE_BOOK_FILE_INVALID_STATUS(0),
    /**
     * <code>enum_ROUTE_BOOK_FILE_USED_STATUS = 1;</code>
     */
    enum_ROUTE_BOOK_FILE_USED_STATUS(1),
    /**
     * <code>enum_ROUTE_BOOK_FILE_UNUSED_STATUS = 2;</code>
     */
    enum_ROUTE_BOOK_FILE_UNUSED_STATUS(2),
    ;

    /**
     * <code>enum_ROUTE_BOOK_FILE_INVALID_STATUS = 0;</code>
     */
    public static final int enum_ROUTE_BOOK_FILE_INVALID_STATUS_VALUE = 0;
    /**
     * <code>enum_ROUTE_BOOK_FILE_USED_STATUS = 1;</code>
     */
    public static final int enum_ROUTE_BOOK_FILE_USED_STATUS_VALUE = 1;
    /**
     * <code>enum_ROUTE_BOOK_FILE_UNUSED_STATUS = 2;</code>
     */
    public static final int enum_ROUTE_BOOK_FILE_UNUSED_STATUS_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      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 ROUTE_BOOK_FILE_STATUS valueOf(int value) {
      return forNumber(value);
    }

    public static ROUTE_BOOK_FILE_STATUS forNumber(int value) {
      switch (value) {
        case 0: return enum_ROUTE_BOOK_FILE_INVALID_STATUS;
        case 1: return enum_ROUTE_BOOK_FILE_USED_STATUS;
        case 2: return enum_ROUTE_BOOK_FILE_UNUSED_STATUS;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:ROUTE_BOOK_FILE_STATUS)
  }

  public interface route_book_infor_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:route_book_infor_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional uint32 id = 1;</code>
     * @return Whether the id field is set.
     */
    boolean hasId();
    /**
     * <code>optional uint32 id = 1;</code>
     * @return The id.
     */
    int getId();

    /**
     * <code>optional string name = 3;</code>
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * <code>optional string name = 3;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <code>optional string name = 3;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     * @return Whether the status field is set.
     */
    boolean hasStatus();
    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     * @return The status.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS getStatus();
  }
  /**
   * Protobuf type {@code route_book_infor_message}
   */
  public  static final class route_book_infor_message extends
      com.google.protobuf.GeneratedMessageLite<
          route_book_infor_message, route_book_infor_message.Builder> implements
      // @@protoc_insertion_point(message_implements:route_book_infor_message)
      route_book_infor_messageOrBuilder {
    private route_book_infor_message() {
      name_ = "";
    }
    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private int id_;
    /**
     * <code>optional uint32 id = 1;</code>
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public int getId() {
      return id_;
    }
    /**
     * <code>optional uint32 id = 1;</code>
     * @param value The id to set.
     */
    private void setId(int value) {
      bitField0_ |= 0x00000001;
      id_ = value;
    }
    /**
     * <code>optional uint32 id = 1;</code>
     */
    private void clearId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      id_ = 0;
    }

    public static final int NAME_FIELD_NUMBER = 3;
    private java.lang.String name_;
    /**
     * <code>optional string name = 3;</code>
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string name = 3;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      return name_;
    }
    /**
     * <code>optional string name = 3;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(name_);
    }
    /**
     * <code>optional string name = 3;</code>
     * @param value The name to set.
     */
    private void setName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000002;
      name_ = value;
    }
    /**
     * <code>optional string name = 3;</code>
     */
    private void clearName() {
      bitField0_ = (bitField0_ & ~0x00000002);
      name_ = getDefaultInstance().getName();
    }
    /**
     * <code>optional string name = 3;</code>
     * @param value The bytes for name to set.
     */
    private void setNameBytes(
        com.google.protobuf.ByteString value) {
      name_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }

    public static final int STATUS_FIELD_NUMBER = 7;
    private int status_;
    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     * @return Whether the status field is set.
     */
    @java.lang.Override
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     * @return The status.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS getStatus() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS.forNumber(status_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS.enum_ROUTE_BOOK_FILE_INVALID_STATUS : result;
    }
    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     * @param value The status to set.
     */
    private void setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS value) {
      status_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
     */
    private void clearStatus() {
      bitField0_ = (bitField0_ & ~0x00000004);
      status_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code route_book_infor_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:route_book_infor_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional uint32 id = 1;</code>
       * @return Whether the id field is set.
       */
      @java.lang.Override
      public boolean hasId() {
        return instance.hasId();
      }
      /**
       * <code>optional uint32 id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public int getId() {
        return instance.getId();
      }
      /**
       * <code>optional uint32 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>optional uint32 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }

      /**
       * <code>optional string name = 3;</code>
       * @return Whether the name field is set.
       */
      @java.lang.Override
      public boolean hasName() {
        return instance.hasName();
      }
      /**
       * <code>optional string name = 3;</code>
       * @return The name.
       */
      @java.lang.Override
      public java.lang.String getName() {
        return instance.getName();
      }
      /**
       * <code>optional string name = 3;</code>
       * @return The bytes for name.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNameBytes() {
        return instance.getNameBytes();
      }
      /**
       * <code>optional string name = 3;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        copyOnWrite();
        instance.setName(value);
        return this;
      }
      /**
       * <code>optional string name = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        copyOnWrite();
        instance.clearName();
        return this;
      }
      /**
       * <code>optional string name = 3;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setNameBytes(value);
        return this;
      }

      /**
       * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return instance.hasStatus();
      }
      /**
       * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
       * @return The status.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS getStatus() {
        return instance.getStatus();
      }
      /**
       * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
       * @param value The enum numeric value on the wire for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS value) {
        copyOnWrite();
        instance.setStatus(value);
        return this;
      }
      /**
       * <code>optional .ROUTE_BOOK_FILE_STATUS status = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        copyOnWrite();
        instance.clearStatus();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:route_book_infor_message)
    }
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "id_",
              "name_",
              "status_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_FILE_STATUS.internalGetVerifier(),
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0007\u0003\u0000\u0000\u0000\u0001\u100b\u0000\u0003" +
                "\u1008\u0001\u0007\u100c\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message>(
                        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:route_book_infor_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message DEFAULT_INSTANCE;
    static {
      route_book_infor_message defaultInstance = new route_book_infor_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        route_book_infor_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface route_book_data_msgOrBuilder extends
      // @@protoc_insertion_point(interface_extends:route_book_data_msg)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     * @return The serviceType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType();

    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    boolean hasOperateType();
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType();

    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     * @return Whether the subOperateType field is set.
     */
    boolean hasSubOperateType();
    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     * @return The subOperateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE getSubOperateType();

    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> 
        getRouteBookInforMsgList();
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message getRouteBookInforMsg(int index);
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    int getRouteBookInforMsgCount();

    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     * @return Whether the routeBookListGetMsg field is set.
     */
    boolean hasRouteBookListGetMsg();
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     * @return The routeBookListGetMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message getRouteBookListGetMsg();
  }
  /**
   * Protobuf type {@code route_book_data_msg}
   */
  public  static final class route_book_data_msg extends
      com.google.protobuf.GeneratedMessageLite<
          route_book_data_msg, route_book_data_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:route_book_data_msg)
      route_book_data_msgOrBuilder {
    private route_book_data_msg() {
      serviceType_ = 23;
      routeBookInforMsg_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int SERVICE_TYPE_FIELD_NUMBER = 1;
    private int serviceType_;
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     * @return Whether the serviceType field is set.
     */
    @java.lang.Override
    public boolean hasServiceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     * @return The serviceType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(serviceType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_ROUTE_BOOK : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     * @param value The serviceType to set.
     */
    private void setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      serviceType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 23;
    }

    public static final int OPERATE_TYPE_FIELD_NUMBER = 2;
    private int operateType_;
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    @java.lang.Override
    public boolean hasOperateType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.forNumber(operateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.enum_SERVICE_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @param value The operateType to set.
     */
    private void setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
      operateType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     */
    private void clearOperateType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      operateType_ = 0;
    }

    public static final int SUB_OPERATE_TYPE_FIELD_NUMBER = 3;
    private int subOperateType_;
    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     * @return Whether the subOperateType field is set.
     */
    @java.lang.Override
    public boolean hasSubOperateType() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     * @return The subOperateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE getSubOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE.forNumber(subOperateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE.enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE : result;
    }
    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     * @param value The subOperateType to set.
     */
    private void setSubOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE value) {
      subOperateType_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
     */
    private void clearSubOperateType() {
      bitField0_ = (bitField0_ & ~0x00000004);
      subOperateType_ = 0;
    }

    public static final int ROUTE_BOOK_INFOR_MSG_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> routeBookInforMsg_;
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> getRouteBookInforMsgList() {
      return routeBookInforMsg_;
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_messageOrBuilder> 
        getRouteBookInforMsgOrBuilderList() {
      return routeBookInforMsg_;
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    @java.lang.Override
    public int getRouteBookInforMsgCount() {
      return routeBookInforMsg_.size();
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message getRouteBookInforMsg(int index) {
      return routeBookInforMsg_.get(index);
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_messageOrBuilder getRouteBookInforMsgOrBuilder(
        int index) {
      return routeBookInforMsg_.get(index);
    }
    private void ensureRouteBookInforMsgIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> tmp = routeBookInforMsg_;
      if (!tmp.isModifiable()) {
        routeBookInforMsg_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void setRouteBookInforMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
      value.getClass();
  ensureRouteBookInforMsgIsMutable();
      routeBookInforMsg_.set(index, value);
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void addRouteBookInforMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
      value.getClass();
  ensureRouteBookInforMsgIsMutable();
      routeBookInforMsg_.add(value);
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void addRouteBookInforMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
      value.getClass();
  ensureRouteBookInforMsgIsMutable();
      routeBookInforMsg_.add(index, value);
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void addAllRouteBookInforMsg(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> values) {
      ensureRouteBookInforMsgIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, routeBookInforMsg_);
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void clearRouteBookInforMsg() {
      routeBookInforMsg_ = emptyProtobufList();
    }
    /**
     * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
     */
    private void removeRouteBookInforMsg(int index) {
      ensureRouteBookInforMsgIsMutable();
      routeBookInforMsg_.remove(index);
    }

    public static final int ROUTE_BOOK_LIST_GET_MSG_FIELD_NUMBER = 10;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message routeBookListGetMsg_;
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     */
    @java.lang.Override
    public boolean hasRouteBookListGetMsg() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message getRouteBookListGetMsg() {
      return routeBookListGetMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message.getDefaultInstance() : routeBookListGetMsg_;
    }
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     */
    private void setRouteBookListGetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message value) {
      value.getClass();
  routeBookListGetMsg_ = value;
      bitField0_ |= 0x00000008;
      }
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeRouteBookListGetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message value) {
      value.getClass();
  if (routeBookListGetMsg_ != null &&
          routeBookListGetMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message.getDefaultInstance()) {
        routeBookListGetMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message.newBuilder(routeBookListGetMsg_).mergeFrom(value).buildPartial();
      } else {
        routeBookListGetMsg_ = value;
      }
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
     */
    private void clearRouteBookListGetMsg() {  routeBookListGetMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000008);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code route_book_data_msg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg, Builder> implements
        // @@protoc_insertion_point(builder_implements:route_book_data_msg)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msgOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
       * @return Whether the serviceType field is set.
       */
      @java.lang.Override
      public boolean hasServiceType() {
        return instance.hasServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
       * @return The serviceType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
        return instance.getServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
       * @param value The enum numeric value on the wire for serviceType to set.
       * @return This builder for chaining.
       */
      public Builder setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setServiceType(value);
        return this;
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_ROUTE_BOOK];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return Whether the operateType field is set.
       */
      @java.lang.Override
      public boolean hasOperateType() {
        return instance.hasOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return The operateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
        return instance.getOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for operateType to set.
       * @return This builder for chaining.
       */
      public Builder setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setOperateType(value);
        return this;
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearOperateType() {
        copyOnWrite();
        instance.clearOperateType();
        return this;
      }

      /**
       * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
       * @return Whether the subOperateType field is set.
       */
      @java.lang.Override
      public boolean hasSubOperateType() {
        return instance.hasSubOperateType();
      }
      /**
       * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
       * @return The subOperateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE getSubOperateType() {
        return instance.getSubOperateType();
      }
      /**
       * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for subOperateType to set.
       * @return This builder for chaining.
       */
      public Builder setSubOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE value) {
        copyOnWrite();
        instance.setSubOperateType(value);
        return this;
      }
      /**
       * <code>required .ROUTE_BOOK_SUB_OP_TYPE sub_operate_type = 3 [default = enum_ROUTE_BOOK_GET_SUB_OP_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearSubOperateType() {
        copyOnWrite();
        instance.clearSubOperateType();
        return this;
      }

      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> getRouteBookInforMsgList() {
        return java.util.Collections.unmodifiableList(
            instance.getRouteBookInforMsgList());
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      @java.lang.Override
      public int getRouteBookInforMsgCount() {
        return instance.getRouteBookInforMsgCount();
      }/**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message getRouteBookInforMsg(int index) {
        return instance.getRouteBookInforMsg(index);
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder setRouteBookInforMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
        copyOnWrite();
        instance.setRouteBookInforMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder setRouteBookInforMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.Builder builderForValue) {
        copyOnWrite();
        instance.setRouteBookInforMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder addRouteBookInforMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
        copyOnWrite();
        instance.addRouteBookInforMsg(value);
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder addRouteBookInforMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message value) {
        copyOnWrite();
        instance.addRouteBookInforMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder addRouteBookInforMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.Builder builderForValue) {
        copyOnWrite();
        instance.addRouteBookInforMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder addRouteBookInforMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.Builder builderForValue) {
        copyOnWrite();
        instance.addRouteBookInforMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder addAllRouteBookInforMsg(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message> values) {
        copyOnWrite();
        instance.addAllRouteBookInforMsg(values);
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder clearRouteBookInforMsg() {
        copyOnWrite();
        instance.clearRouteBookInforMsg();
        return this;
      }
      /**
       * <code>repeated .route_book_infor_message route_book_infor_msg = 4;</code>
       */
      public Builder removeRouteBookInforMsg(int index) {
        copyOnWrite();
        instance.removeRouteBookInforMsg(index);
        return this;
      }

      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      @java.lang.Override
      public boolean hasRouteBookListGetMsg() {
        return instance.hasRouteBookListGetMsg();
      }
      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message getRouteBookListGetMsg() {
        return instance.getRouteBookListGetMsg();
      }
      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      public Builder setRouteBookListGetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message value) {
        copyOnWrite();
        instance.setRouteBookListGetMsg(value);
        return this;
        }
      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      public Builder setRouteBookListGetMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message.Builder builderForValue) {
        copyOnWrite();
        instance.setRouteBookListGetMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      public Builder mergeRouteBookListGetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.file_list_get_message value) {
        copyOnWrite();
        instance.mergeRouteBookListGetMsg(value);
        return this;
      }
      /**
       * <code>optional .file_list_get_message route_book_list_get_msg = 10;</code>
       */
      public Builder clearRouteBookListGetMsg() {  copyOnWrite();
        instance.clearRouteBookListGetMsg();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:route_book_data_msg)
    }
    private byte memoizedIsInitialized = 2;
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "serviceType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "operateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.internalGetVerifier(),
              "subOperateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.ROUTE_BOOK_SUB_OP_TYPE.internalGetVerifier(),
              "routeBookInforMsg_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_infor_message.class,
              "routeBookListGetMsg_",
            };
            java.lang.String info =
                "\u0001\u0005\u0000\u0001\u0001\n\u0005\u0000\u0001\u0003\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u150c\u0002\u0004\u001b\n\u1009\u0003";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:route_book_data_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg DEFAULT_INSTANCE;
    static {
      route_book_data_msg defaultInstance = new route_book_data_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        route_book_data_msg.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.RouteBook.route_book_data_msg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
