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

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class Firmware {
  private Firmware() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code FIRMWARE_OPERATE_TYPE}
   */
  public enum FIRMWARE_OPERATE_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_NONE = 0;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_NONE(0),
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_GET_VERSION = 1;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_GET_VERSION(1),
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_SEND_VERSION = 2;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_SEND_VERSION(2),
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_MCU_UPDATE = 3;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_MCU_UPDATE(3),
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_PROGRESS = 4;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_PROGRESS(4),
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_BLE_UPDATE = 5;</code>
     */
    enum_FIRMWARE_OPERATE_TYPE_BLE_UPDATE(5),
    ;

    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_NONE = 0;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_NONE_VALUE = 0;
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_GET_VERSION = 1;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_GET_VERSION_VALUE = 1;
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_SEND_VERSION = 2;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_SEND_VERSION_VALUE = 2;
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_MCU_UPDATE = 3;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_MCU_UPDATE_VALUE = 3;
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_PROGRESS = 4;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_PROGRESS_VALUE = 4;
    /**
     * <code>enum_FIRMWARE_OPERATE_TYPE_BLE_UPDATE = 5;</code>
     */
    public static final int enum_FIRMWARE_OPERATE_TYPE_BLE_UPDATE_VALUE = 5;


    @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 FIRMWARE_OPERATE_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static FIRMWARE_OPERATE_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_FIRMWARE_OPERATE_TYPE_NONE;
        case 1: return enum_FIRMWARE_OPERATE_TYPE_GET_VERSION;
        case 2: return enum_FIRMWARE_OPERATE_TYPE_SEND_VERSION;
        case 3: return enum_FIRMWARE_OPERATE_TYPE_MCU_UPDATE;
        case 4: return enum_FIRMWARE_OPERATE_TYPE_PROGRESS;
        case 5: return enum_FIRMWARE_OPERATE_TYPE_BLE_UPDATE;
        default: return null;
      }
    }

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

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:FIRMWARE_OPERATE_TYPE)
  }

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

    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     * @return Whether the mcuFirmwareVer field is set.
     */
    boolean hasMcuFirmwareVer();
    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     * @return The mcuFirmwareVer.
     */
    int getMcuFirmwareVer();

    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     * @return Whether the bleFirmwareVer field is set.
     */
    boolean hasBleFirmwareVer();
    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     * @return The bleFirmwareVer.
     */
    int getBleFirmwareVer();

    /**
     * <code>optional uint32 firmware_size = 3;</code>
     * @return Whether the firmwareSize field is set.
     */
    boolean hasFirmwareSize();
    /**
     * <code>optional uint32 firmware_size = 3;</code>
     * @return The firmwareSize.
     */
    int getFirmwareSize();

    /**
     * <code>optional string url = 4;</code>
     * @return Whether the url field is set.
     */
    boolean hasUrl();
    /**
     * <code>optional string url = 4;</code>
     * @return The url.
     */
    java.lang.String getUrl();
    /**
     * <code>optional string url = 4;</code>
     * @return The bytes for url.
     */
    com.google.protobuf.ByteString
        getUrlBytes();

    /**
     * <code>optional uint32 process = 5;</code>
     * @return Whether the process field is set.
     */
    boolean hasProcess();
    /**
     * <code>optional uint32 process = 5;</code>
     * @return The process.
     */
    int getProcess();

    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     * @return Whether the bleBootFirmwareVer field is set.
     */
    boolean hasBleBootFirmwareVer();
    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     * @return The bleBootFirmwareVer.
     */
    int getBleBootFirmwareVer();
  }
  /**
   * Protobuf type {@code firmware_data_message}
   */
  public  static final class firmware_data_message extends
      com.google.protobuf.GeneratedMessageLite<
          firmware_data_message, firmware_data_message.Builder> implements
      // @@protoc_insertion_point(message_implements:firmware_data_message)
      firmware_data_messageOrBuilder {
    private firmware_data_message() {
      url_ = "";
    }
    private int bitField0_;
    public static final int MCU_FIRMWARE_VER_FIELD_NUMBER = 1;
    private int mcuFirmwareVer_;
    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     * @return Whether the mcuFirmwareVer field is set.
     */
    @java.lang.Override
    public boolean hasMcuFirmwareVer() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     * @return The mcuFirmwareVer.
     */
    @java.lang.Override
    public int getMcuFirmwareVer() {
      return mcuFirmwareVer_;
    }
    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     * @param value The mcuFirmwareVer to set.
     */
    private void setMcuFirmwareVer(int value) {
      bitField0_ |= 0x00000001;
      mcuFirmwareVer_ = value;
    }
    /**
     * <code>optional uint32 mcu_firmware_ver = 1;</code>
     */
    private void clearMcuFirmwareVer() {
      bitField0_ = (bitField0_ & ~0x00000001);
      mcuFirmwareVer_ = 0;
    }

    public static final int BLE_FIRMWARE_VER_FIELD_NUMBER = 2;
    private int bleFirmwareVer_;
    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     * @return Whether the bleFirmwareVer field is set.
     */
    @java.lang.Override
    public boolean hasBleFirmwareVer() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     * @return The bleFirmwareVer.
     */
    @java.lang.Override
    public int getBleFirmwareVer() {
      return bleFirmwareVer_;
    }
    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     * @param value The bleFirmwareVer to set.
     */
    private void setBleFirmwareVer(int value) {
      bitField0_ |= 0x00000002;
      bleFirmwareVer_ = value;
    }
    /**
     * <code>optional uint32 ble_firmware_ver = 2;</code>
     */
    private void clearBleFirmwareVer() {
      bitField0_ = (bitField0_ & ~0x00000002);
      bleFirmwareVer_ = 0;
    }

    public static final int FIRMWARE_SIZE_FIELD_NUMBER = 3;
    private int firmwareSize_;
    /**
     * <code>optional uint32 firmware_size = 3;</code>
     * @return Whether the firmwareSize field is set.
     */
    @java.lang.Override
    public boolean hasFirmwareSize() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional uint32 firmware_size = 3;</code>
     * @return The firmwareSize.
     */
    @java.lang.Override
    public int getFirmwareSize() {
      return firmwareSize_;
    }
    /**
     * <code>optional uint32 firmware_size = 3;</code>
     * @param value The firmwareSize to set.
     */
    private void setFirmwareSize(int value) {
      bitField0_ |= 0x00000004;
      firmwareSize_ = value;
    }
    /**
     * <code>optional uint32 firmware_size = 3;</code>
     */
    private void clearFirmwareSize() {
      bitField0_ = (bitField0_ & ~0x00000004);
      firmwareSize_ = 0;
    }

    public static final int URL_FIELD_NUMBER = 4;
    private java.lang.String url_;
    /**
     * <code>optional string url = 4;</code>
     * @return Whether the url field is set.
     */
    @java.lang.Override
    public boolean hasUrl() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string url = 4;</code>
     * @return The url.
     */
    @java.lang.Override
    public java.lang.String getUrl() {
      return url_;
    }
    /**
     * <code>optional string url = 4;</code>
     * @return The bytes for url.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUrlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(url_);
    }
    /**
     * <code>optional string url = 4;</code>
     * @param value The url to set.
     */
    private void setUrl(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000008;
      url_ = value;
    }
    /**
     * <code>optional string url = 4;</code>
     */
    private void clearUrl() {
      bitField0_ = (bitField0_ & ~0x00000008);
      url_ = getDefaultInstance().getUrl();
    }
    /**
     * <code>optional string url = 4;</code>
     * @param value The bytes for url to set.
     */
    private void setUrlBytes(
        com.google.protobuf.ByteString value) {
      url_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }

    public static final int PROCESS_FIELD_NUMBER = 5;
    private int process_;
    /**
     * <code>optional uint32 process = 5;</code>
     * @return Whether the process field is set.
     */
    @java.lang.Override
    public boolean hasProcess() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 process = 5;</code>
     * @return The process.
     */
    @java.lang.Override
    public int getProcess() {
      return process_;
    }
    /**
     * <code>optional uint32 process = 5;</code>
     * @param value The process to set.
     */
    private void setProcess(int value) {
      bitField0_ |= 0x00000010;
      process_ = value;
    }
    /**
     * <code>optional uint32 process = 5;</code>
     */
    private void clearProcess() {
      bitField0_ = (bitField0_ & ~0x00000010);
      process_ = 0;
    }

    public static final int BLE_BOOT_FIRMWARE_VER_FIELD_NUMBER = 6;
    private int bleBootFirmwareVer_;
    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     * @return Whether the bleBootFirmwareVer field is set.
     */
    @java.lang.Override
    public boolean hasBleBootFirmwareVer() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     * @return The bleBootFirmwareVer.
     */
    @java.lang.Override
    public int getBleBootFirmwareVer() {
      return bleBootFirmwareVer_;
    }
    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     * @param value The bleBootFirmwareVer to set.
     */
    private void setBleBootFirmwareVer(int value) {
      bitField0_ |= 0x00000020;
      bleBootFirmwareVer_ = value;
    }
    /**
     * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
     */
    private void clearBleBootFirmwareVer() {
      bitField0_ = (bitField0_ & ~0x00000020);
      bleBootFirmwareVer_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_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.Firmware.firmware_data_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

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


      /**
       * <code>optional uint32 mcu_firmware_ver = 1;</code>
       * @return Whether the mcuFirmwareVer field is set.
       */
      @java.lang.Override
      public boolean hasMcuFirmwareVer() {
        return instance.hasMcuFirmwareVer();
      }
      /**
       * <code>optional uint32 mcu_firmware_ver = 1;</code>
       * @return The mcuFirmwareVer.
       */
      @java.lang.Override
      public int getMcuFirmwareVer() {
        return instance.getMcuFirmwareVer();
      }
      /**
       * <code>optional uint32 mcu_firmware_ver = 1;</code>
       * @param value The mcuFirmwareVer to set.
       * @return This builder for chaining.
       */
      public Builder setMcuFirmwareVer(int value) {
        copyOnWrite();
        instance.setMcuFirmwareVer(value);
        return this;
      }
      /**
       * <code>optional uint32 mcu_firmware_ver = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMcuFirmwareVer() {
        copyOnWrite();
        instance.clearMcuFirmwareVer();
        return this;
      }

      /**
       * <code>optional uint32 ble_firmware_ver = 2;</code>
       * @return Whether the bleFirmwareVer field is set.
       */
      @java.lang.Override
      public boolean hasBleFirmwareVer() {
        return instance.hasBleFirmwareVer();
      }
      /**
       * <code>optional uint32 ble_firmware_ver = 2;</code>
       * @return The bleFirmwareVer.
       */
      @java.lang.Override
      public int getBleFirmwareVer() {
        return instance.getBleFirmwareVer();
      }
      /**
       * <code>optional uint32 ble_firmware_ver = 2;</code>
       * @param value The bleFirmwareVer to set.
       * @return This builder for chaining.
       */
      public Builder setBleFirmwareVer(int value) {
        copyOnWrite();
        instance.setBleFirmwareVer(value);
        return this;
      }
      /**
       * <code>optional uint32 ble_firmware_ver = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearBleFirmwareVer() {
        copyOnWrite();
        instance.clearBleFirmwareVer();
        return this;
      }

      /**
       * <code>optional uint32 firmware_size = 3;</code>
       * @return Whether the firmwareSize field is set.
       */
      @java.lang.Override
      public boolean hasFirmwareSize() {
        return instance.hasFirmwareSize();
      }
      /**
       * <code>optional uint32 firmware_size = 3;</code>
       * @return The firmwareSize.
       */
      @java.lang.Override
      public int getFirmwareSize() {
        return instance.getFirmwareSize();
      }
      /**
       * <code>optional uint32 firmware_size = 3;</code>
       * @param value The firmwareSize to set.
       * @return This builder for chaining.
       */
      public Builder setFirmwareSize(int value) {
        copyOnWrite();
        instance.setFirmwareSize(value);
        return this;
      }
      /**
       * <code>optional uint32 firmware_size = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirmwareSize() {
        copyOnWrite();
        instance.clearFirmwareSize();
        return this;
      }

      /**
       * <code>optional string url = 4;</code>
       * @return Whether the url field is set.
       */
      @java.lang.Override
      public boolean hasUrl() {
        return instance.hasUrl();
      }
      /**
       * <code>optional string url = 4;</code>
       * @return The url.
       */
      @java.lang.Override
      public java.lang.String getUrl() {
        return instance.getUrl();
      }
      /**
       * <code>optional string url = 4;</code>
       * @return The bytes for url.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUrlBytes() {
        return instance.getUrlBytes();
      }
      /**
       * <code>optional string url = 4;</code>
       * @param value The url to set.
       * @return This builder for chaining.
       */
      public Builder setUrl(
          java.lang.String value) {
        copyOnWrite();
        instance.setUrl(value);
        return this;
      }
      /**
       * <code>optional string url = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearUrl() {
        copyOnWrite();
        instance.clearUrl();
        return this;
      }
      /**
       * <code>optional string url = 4;</code>
       * @param value The bytes for url to set.
       * @return This builder for chaining.
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setUrlBytes(value);
        return this;
      }

      /**
       * <code>optional uint32 process = 5;</code>
       * @return Whether the process field is set.
       */
      @java.lang.Override
      public boolean hasProcess() {
        return instance.hasProcess();
      }
      /**
       * <code>optional uint32 process = 5;</code>
       * @return The process.
       */
      @java.lang.Override
      public int getProcess() {
        return instance.getProcess();
      }
      /**
       * <code>optional uint32 process = 5;</code>
       * @param value The process to set.
       * @return This builder for chaining.
       */
      public Builder setProcess(int value) {
        copyOnWrite();
        instance.setProcess(value);
        return this;
      }
      /**
       * <code>optional uint32 process = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearProcess() {
        copyOnWrite();
        instance.clearProcess();
        return this;
      }

      /**
       * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
       * @return Whether the bleBootFirmwareVer field is set.
       */
      @java.lang.Override
      public boolean hasBleBootFirmwareVer() {
        return instance.hasBleBootFirmwareVer();
      }
      /**
       * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
       * @return The bleBootFirmwareVer.
       */
      @java.lang.Override
      public int getBleBootFirmwareVer() {
        return instance.getBleBootFirmwareVer();
      }
      /**
       * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
       * @param value The bleBootFirmwareVer to set.
       * @return This builder for chaining.
       */
      public Builder setBleBootFirmwareVer(int value) {
        copyOnWrite();
        instance.setBleBootFirmwareVer(value);
        return this;
      }
      /**
       * <code>optional uint32 ble_boot_firmware_ver = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearBleBootFirmwareVer() {
        copyOnWrite();
        instance.clearBleBootFirmwareVer();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:firmware_data_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.Firmware.firmware_data_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "mcuFirmwareVer_",
              "bleFirmwareVer_",
              "firmwareSize_",
              "url_",
              "process_",
              "bleBootFirmwareVer_",
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0000\u0000\u0001\u100b\u0000\u0002" +
                "\u100b\u0001\u0003\u100b\u0002\u0004\u1008\u0003\u0005\u100b\u0004\u0006\u100b\u0005" +
                "";
            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.Firmware.firmware_data_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_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:firmware_data_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message DEFAULT_INSTANCE;
    static {
      firmware_data_message defaultInstance = new firmware_data_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        firmware_data_message.class, defaultInstance);
    }

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

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

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

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

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

    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     * @return Whether the firmwareOperateType field is set.
     */
    boolean hasFirmwareOperateType();
    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     * @return The firmwareOperateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE getFirmwareOperateType();

    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     * @return Whether the firmwareDataMsg field is set.
     */
    boolean hasFirmwareDataMsg();
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     * @return The firmwareDataMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message getFirmwareDataMsg();
  }
  /**
   * Protobuf type {@code firmware_msg}
   */
  public  static final class firmware_msg extends
      com.google.protobuf.GeneratedMessageLite<
          firmware_msg, firmware_msg.Builder> implements
      // @@protoc_insertion_point(message_implements:firmware_msg)
      firmware_msgOrBuilder {
    private firmware_msg() {
      serviceType_ = 4;
    }
    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_FIRMWARE];</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_FIRMWARE];</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_FIRMWARE : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_FIRMWARE];</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_FIRMWARE];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 4;
    }

    public static final int FIRMWARE_OPERATE_TYPE_FIELD_NUMBER = 2;
    private int firmwareOperateType_;
    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     * @return Whether the firmwareOperateType field is set.
     */
    @java.lang.Override
    public boolean hasFirmwareOperateType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     * @return The firmwareOperateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE getFirmwareOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE.forNumber(firmwareOperateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE.enum_FIRMWARE_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     * @param value The firmwareOperateType to set.
     */
    private void setFirmwareOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE value) {
      firmwareOperateType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
     */
    private void clearFirmwareOperateType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      firmwareOperateType_ = 0;
    }

    public static final int FIRMWARE_DATA_MSG_FIELD_NUMBER = 3;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message firmwareDataMsg_;
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     */
    @java.lang.Override
    public boolean hasFirmwareDataMsg() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message getFirmwareDataMsg() {
      return firmwareDataMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message.getDefaultInstance() : firmwareDataMsg_;
    }
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     */
    private void setFirmwareDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message value) {
      value.getClass();
  firmwareDataMsg_ = value;
      bitField0_ |= 0x00000004;
      }
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeFirmwareDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message value) {
      value.getClass();
  if (firmwareDataMsg_ != null &&
          firmwareDataMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message.getDefaultInstance()) {
        firmwareDataMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message.newBuilder(firmwareDataMsg_).mergeFrom(value).buildPartial();
      } else {
        firmwareDataMsg_ = value;
      }
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
     */
    private void clearFirmwareDataMsg() {  firmwareDataMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000004);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_msg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_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.Firmware.firmware_msg prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

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


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_FIRMWARE];</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_FIRMWARE];</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_FIRMWARE];</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_FIRMWARE];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
       * @return Whether the firmwareOperateType field is set.
       */
      @java.lang.Override
      public boolean hasFirmwareOperateType() {
        return instance.hasFirmwareOperateType();
      }
      /**
       * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
       * @return The firmwareOperateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE getFirmwareOperateType() {
        return instance.getFirmwareOperateType();
      }
      /**
       * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for firmwareOperateType to set.
       * @return This builder for chaining.
       */
      public Builder setFirmwareOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setFirmwareOperateType(value);
        return this;
      }
      /**
       * <code>required .FIRMWARE_OPERATE_TYPE firmware_operate_type = 2 [default = enum_FIRMWARE_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearFirmwareOperateType() {
        copyOnWrite();
        instance.clearFirmwareOperateType();
        return this;
      }

      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      @java.lang.Override
      public boolean hasFirmwareDataMsg() {
        return instance.hasFirmwareDataMsg();
      }
      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message getFirmwareDataMsg() {
        return instance.getFirmwareDataMsg();
      }
      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      public Builder setFirmwareDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message value) {
        copyOnWrite();
        instance.setFirmwareDataMsg(value);
        return this;
        }
      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      public Builder setFirmwareDataMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message.Builder builderForValue) {
        copyOnWrite();
        instance.setFirmwareDataMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      public Builder mergeFirmwareDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_data_message value) {
        copyOnWrite();
        instance.mergeFirmwareDataMsg(value);
        return this;
      }
      /**
       * <code>optional .firmware_data_message firmware_data_msg = 3;</code>
       */
      public Builder clearFirmwareDataMsg() {  copyOnWrite();
        instance.clearFirmwareDataMsg();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:firmware_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.Firmware.firmware_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(),
              "firmwareOperateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.FIRMWARE_OPERATE_TYPE.internalGetVerifier(),
              "firmwareDataMsg_",
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0002\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u1009\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.Firmware.firmware_msg> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_msg.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_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:firmware_msg)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Firmware.firmware_msg DEFAULT_INSTANCE;
    static {
      firmware_msg defaultInstance = new firmware_msg();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        firmware_msg.class, defaultInstance);
    }

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

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
