Import parsed proto to cpp files
author3arthur6 <arthur.trouillot@gmail.com>
Sun, 14 Nov 2021 16:50:05 +0000 (17:50 +0100)
committer3arthur6 <arthur.trouillot@gmail.com>
Sun, 14 Nov 2021 16:50:05 +0000 (17:50 +0100)
- lpdump dependency

partition_tools/dynamic_partitions_device_info.pb.cc [new file with mode: 0644]
partition_tools/dynamic_partitions_device_info.pb.h [new file with mode: 0644]

diff --git a/partition_tools/dynamic_partitions_device_info.pb.cc b/partition_tools/dynamic_partitions_device_info.pb.cc
new file mode 100644 (file)
index 0000000..2c6569a
--- /dev/null
@@ -0,0 +1,1931 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: dynamic_partitions_device_info.proto
+
+#include "dynamic_partitions_device_info.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/extension_set.h>
+#include <google/protobuf/wire_format_lite.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+extern PROTOBUF_INTERNAL_EXPORT_dynamic_5fpartitions_5fdevice_5finfo_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dynamic_5fpartitions_5fdevice_5finfo_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+extern PROTOBUF_INTERNAL_EXPORT_dynamic_5fpartitions_5fdevice_5finfo_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+namespace android {
+class DynamicPartitionsDeviceInfoProto_PartitionDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DynamicPartitionsDeviceInfoProto_Partition> _instance;
+} _DynamicPartitionsDeviceInfoProto_Partition_default_instance_;
+class DynamicPartitionsDeviceInfoProto_GroupDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DynamicPartitionsDeviceInfoProto_Group> _instance;
+} _DynamicPartitionsDeviceInfoProto_Group_default_instance_;
+class DynamicPartitionsDeviceInfoProto_BlockDeviceDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DynamicPartitionsDeviceInfoProto_BlockDevice> _instance;
+} _DynamicPartitionsDeviceInfoProto_BlockDevice_default_instance_;
+class DynamicPartitionsDeviceInfoProtoDefaultTypeInternal {
+ public:
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DynamicPartitionsDeviceInfoProto> _instance;
+} _DynamicPartitionsDeviceInfoProto_default_instance_;
+}  // namespace android
+static void InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::android::_DynamicPartitionsDeviceInfoProto_default_instance_;
+    new (ptr) ::android::DynamicPartitionsDeviceInfoProto();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::android::DynamicPartitionsDeviceInfoProto::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto}, {
+      &scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+      &scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+      &scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,}};
+
+static void InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::android::_DynamicPartitionsDeviceInfoProto_BlockDevice_default_instance_;
+    new (ptr) ::android::DynamicPartitionsDeviceInfoProto_BlockDevice();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::android::DynamicPartitionsDeviceInfoProto_BlockDevice::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto}, {}};
+
+static void InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::android::_DynamicPartitionsDeviceInfoProto_Group_default_instance_;
+    new (ptr) ::android::DynamicPartitionsDeviceInfoProto_Group();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::android::DynamicPartitionsDeviceInfoProto_Group::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto}, {}};
+
+static void InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+  {
+    void* ptr = &::android::_DynamicPartitionsDeviceInfoProto_Partition_default_instance_;
+    new (ptr) ::android::DynamicPartitionsDeviceInfoProto_Partition();
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::android::DynamicPartitionsDeviceInfoProto_Partition::InitAsDefaultInstance();
+}
+
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsscc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto}, {}};
+
+static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_dynamic_5fpartitions_5fdevice_5finfo_2eproto[4];
+static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_dynamic_5fpartitions_5fdevice_5finfo_2eproto = nullptr;
+static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_dynamic_5fpartitions_5fdevice_5finfo_2eproto = nullptr;
+
+const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, name_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, group_name_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, is_dynamic_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, size_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, fs_size_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Partition, fs_used_),
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Group, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Group, name_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_Group, maximum_size_),
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, name_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, size_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, block_size_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, alignment_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto_BlockDevice, alignment_offset_),
+  ~0u,  // no _has_bits_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, enabled_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, retrofit_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, partitions_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, groups_),
+  PROTOBUF_FIELD_OFFSET(::android::DynamicPartitionsDeviceInfoProto, block_devices_),
+};
+static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
+  { 0, -1, sizeof(::android::DynamicPartitionsDeviceInfoProto_Partition)},
+  { 11, -1, sizeof(::android::DynamicPartitionsDeviceInfoProto_Group)},
+  { 18, -1, sizeof(::android::DynamicPartitionsDeviceInfoProto_BlockDevice)},
+  { 28, -1, sizeof(::android::DynamicPartitionsDeviceInfoProto)},
+};
+
+static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::android::_DynamicPartitionsDeviceInfoProto_Partition_default_instance_),
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::android::_DynamicPartitionsDeviceInfoProto_Group_default_instance_),
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::android::_DynamicPartitionsDeviceInfoProto_BlockDevice_default_instance_),
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::android::_DynamicPartitionsDeviceInfoProto_default_instance_),
+};
+
+const char descriptor_table_protodef_dynamic_5fpartitions_5fdevice_5finfo_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
+  "\n$dynamic_partitions_device_info.proto\022\007"
+  "android\"\220\005\n DynamicPartitionsDeviceInfoP"
+  "roto\022\017\n\007enabled\030\001 \001(\010\022\020\n\010retrofit\030\002 \001(\010\022"
+  "G\n\npartitions\030\003 \003(\01323.android.DynamicPar"
+  "titionsDeviceInfoProto.Partition\022\?\n\006grou"
+  "ps\030\004 \003(\0132/.android.DynamicPartitionsDevi"
+  "ceInfoProto.Group\022[\n\rblock_devices\030\005 \003(\013"
+  "25.android.DynamicPartitionsDeviceInfoPr"
+  "oto.BlockDeviceR\rblock_devices\032\233\001\n\tParti"
+  "tion\022\014\n\004name\030\001 \001(\t\022\036\n\ngroup_name\030\002 \001(\tR\n"
+  "group_name\022\036\n\nis_dynamic\030\003 \001(\010R\nis_dynam"
+  "ic\022\014\n\004size\030\004 \001(\004\022\030\n\007fs_size\030\005 \001(\004R\007fs_si"
+  "ze\022\030\n\007fs_used\030\006 \001(\004R\007fs_used\0329\n\005Group\022\014\n"
+  "\004name\030\001 \001(\t\022\"\n\014maximum_size\030\002 \001(\004R\014maxim"
+  "um_size\032\210\001\n\013BlockDevice\022\014\n\004name\030\001 \001(\t\022\014\n"
+  "\004size\030\002 \001(\004\022\036\n\nblock_size\030\003 \001(\004R\nblock_s"
+  "ize\022\021\n\talignment\030\004 \001(\004\022*\n\020alignment_offs"
+  "et\030\005 \001(\004R\020alignment_offsetb\006proto3"
+  ;
+static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_deps[1] = {
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_sccs[4] = {
+  &scc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+  &scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+  &scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+  &scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base,
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_once;
+static bool descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_initialized = false;
+const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto = {
+  &descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_initialized, descriptor_table_protodef_dynamic_5fpartitions_5fdevice_5finfo_2eproto, "dynamic_partitions_device_info.proto", 714,
+  &descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_once, descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_sccs, descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto_deps, 4, 0,
+  schemas, file_default_instances, TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto::offsets,
+  file_level_metadata_dynamic_5fpartitions_5fdevice_5finfo_2eproto, 4, file_level_enum_descriptors_dynamic_5fpartitions_5fdevice_5finfo_2eproto, file_level_service_descriptors_dynamic_5fpartitions_5fdevice_5finfo_2eproto,
+};
+
+// Force running AddDescriptors() at dynamic initialization time.
+static bool dynamic_init_dummy_dynamic_5fpartitions_5fdevice_5finfo_2eproto = (  ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto), true);
+namespace android {
+
+// ===================================================================
+
+void DynamicPartitionsDeviceInfoProto_Partition::InitAsDefaultInstance() {
+}
+class DynamicPartitionsDeviceInfoProto_Partition::_Internal {
+ public:
+};
+
+DynamicPartitionsDeviceInfoProto_Partition::DynamicPartitionsDeviceInfoProto_Partition()
+  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:android.DynamicPartitionsDeviceInfoProto.Partition)
+}
+DynamicPartitionsDeviceInfoProto_Partition::DynamicPartitionsDeviceInfoProto_Partition(const DynamicPartitionsDeviceInfoProto_Partition& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _internal_metadata_(nullptr) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  if (!from.name().empty()) {
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  group_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  if (!from.group_name().empty()) {
+    group_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.group_name_);
+  }
+  ::memcpy(&size_, &from.size_,
+    static_cast<size_t>(reinterpret_cast<char*>(&is_dynamic_) -
+    reinterpret_cast<char*>(&size_)) + sizeof(is_dynamic_));
+  // @@protoc_insertion_point(copy_constructor:android.DynamicPartitionsDeviceInfoProto.Partition)
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  group_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  ::memset(&size_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_dynamic_) -
+      reinterpret_cast<char*>(&size_)) + sizeof(is_dynamic_));
+}
+
+DynamicPartitionsDeviceInfoProto_Partition::~DynamicPartitionsDeviceInfoProto_Partition() {
+  // @@protoc_insertion_point(destructor:android.DynamicPartitionsDeviceInfoProto.Partition)
+  SharedDtor();
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::SharedDtor() {
+  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  group_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const DynamicPartitionsDeviceInfoProto_Partition& DynamicPartitionsDeviceInfoProto_Partition::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DynamicPartitionsDeviceInfoProto_Partition_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void DynamicPartitionsDeviceInfoProto_Partition::Clear() {
+// @@protoc_insertion_point(message_clear_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  group_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  ::memset(&size_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&is_dynamic_) -
+      reinterpret_cast<char*>(&size_)) + sizeof(is_dynamic_));
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* DynamicPartitionsDeviceInfoProto_Partition::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // string name = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "android.DynamicPartitionsDeviceInfoProto.Partition.name");
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // string group_name = 2[json_name = "group_name"];
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_group_name(), ptr, ctx, "android.DynamicPartitionsDeviceInfoProto.Partition.group_name");
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // bool is_dynamic = 3[json_name = "is_dynamic"];
+      case 3:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+          is_dynamic_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 size = 4;
+      case 4:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+          size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 fs_size = 5[json_name = "fs_size"];
+      case 5:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+          fs_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 fs_used = 6[json_name = "fs_used"];
+      case 6:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
+          fs_used_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool DynamicPartitionsDeviceInfoProto_Partition::MergePartialFromCodedStream(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+  // @@protoc_insertion_point(parse_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  for (;;) {
+    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string name = 1;
+      case 1: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
+                input, this->mutable_name()));
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+            this->name().data(), static_cast<int>(this->name().length()),
+            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
+            "android.DynamicPartitionsDeviceInfoProto.Partition.name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // string group_name = 2[json_name = "group_name"];
+      case 2: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
+                input, this->mutable_group_name()));
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+            this->group_name().data(), static_cast<int>(this->group_name().length()),
+            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
+            "android.DynamicPartitionsDeviceInfoProto.Partition.group_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // bool is_dynamic = 3[json_name = "is_dynamic"];
+      case 3: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &is_dynamic_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 size = 4;
+      case 4: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 fs_size = 5[json_name = "fs_size"];
+      case 5: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &fs_size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 fs_used = 6[json_name = "fs_used"];
+      case 6: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (48 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &fs_used_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:android.DynamicPartitionsDeviceInfoProto.Partition)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:android.DynamicPartitionsDeviceInfoProto.Partition)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void DynamicPartitionsDeviceInfoProto_Partition::SerializeWithCachedSizes(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Partition.name");
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->name(), output);
+  }
+
+  // string group_name = 2[json_name = "group_name"];
+  if (this->group_name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->group_name().data(), static_cast<int>(this->group_name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Partition.group_name");
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
+      2, this->group_name(), output);
+  }
+
+  // bool is_dynamic = 3[json_name = "is_dynamic"];
+  if (this->is_dynamic() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(3, this->is_dynamic(), output);
+  }
+
+  // uint64 size = 4;
+  if (this->size() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(4, this->size(), output);
+  }
+
+  // uint64 fs_size = 5[json_name = "fs_size"];
+  if (this->fs_size() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(5, this->fs_size(), output);
+  }
+
+  // uint64 fs_used = 6[json_name = "fs_used"];
+  if (this->fs_used() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(6, this->fs_used(), output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:android.DynamicPartitionsDeviceInfoProto.Partition)
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* DynamicPartitionsDeviceInfoProto_Partition::InternalSerializeWithCachedSizesToArray(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Partition.name");
+    target =
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
+        1, this->name(), target);
+  }
+
+  // string group_name = 2[json_name = "group_name"];
+  if (this->group_name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->group_name().data(), static_cast<int>(this->group_name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Partition.group_name");
+    target =
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
+        2, this->group_name(), target);
+  }
+
+  // bool is_dynamic = 3[json_name = "is_dynamic"];
+  if (this->is_dynamic() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->is_dynamic(), target);
+  }
+
+  // uint64 size = 4;
+  if (this->size() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(4, this->size(), target);
+  }
+
+  // uint64 fs_size = 5[json_name = "fs_size"];
+  if (this->fs_size() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(5, this->fs_size(), target);
+  }
+
+  // uint64 fs_used = 6[json_name = "fs_used"];
+  if (this->fs_used() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(6, this->fs_used(), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:android.DynamicPartitionsDeviceInfoProto.Partition)
+  return target;
+}
+
+size_t DynamicPartitionsDeviceInfoProto_Partition::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->name());
+  }
+
+  // string group_name = 2[json_name = "group_name"];
+  if (this->group_name().size() > 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->group_name());
+  }
+
+  // uint64 size = 4;
+  if (this->size() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->size());
+  }
+
+  // uint64 fs_size = 5[json_name = "fs_size"];
+  if (this->fs_size() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->fs_size());
+  }
+
+  // uint64 fs_used = 6[json_name = "fs_used"];
+  if (this->fs_used() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->fs_used());
+  }
+
+  // bool is_dynamic = 3[json_name = "is_dynamic"];
+  if (this->is_dynamic() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  GOOGLE_DCHECK_NE(&from, this);
+  const DynamicPartitionsDeviceInfoProto_Partition* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DynamicPartitionsDeviceInfoProto_Partition>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:android.DynamicPartitionsDeviceInfoProto.Partition)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:android.DynamicPartitionsDeviceInfoProto.Partition)
+    MergeFrom(*source);
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::MergeFrom(const DynamicPartitionsDeviceInfoProto_Partition& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.name().size() > 0) {
+
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  if (from.group_name().size() > 0) {
+
+    group_name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.group_name_);
+  }
+  if (from.size() != 0) {
+    set_size(from.size());
+  }
+  if (from.fs_size() != 0) {
+    set_fs_size(from.fs_size());
+  }
+  if (from.fs_used() != 0) {
+    set_fs_used(from.fs_used());
+  }
+  if (from.is_dynamic() != 0) {
+    set_is_dynamic(from.is_dynamic());
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::CopyFrom(const DynamicPartitionsDeviceInfoProto_Partition& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:android.DynamicPartitionsDeviceInfoProto.Partition)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool DynamicPartitionsDeviceInfoProto_Partition::IsInitialized() const {
+  return true;
+}
+
+void DynamicPartitionsDeviceInfoProto_Partition::InternalSwap(DynamicPartitionsDeviceInfoProto_Partition* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
+  group_name_.Swap(&other->group_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
+  swap(size_, other->size_);
+  swap(fs_size_, other->fs_size_);
+  swap(fs_used_, other->fs_used_);
+  swap(is_dynamic_, other->is_dynamic_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata DynamicPartitionsDeviceInfoProto_Partition::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
+// ===================================================================
+
+void DynamicPartitionsDeviceInfoProto_Group::InitAsDefaultInstance() {
+}
+class DynamicPartitionsDeviceInfoProto_Group::_Internal {
+ public:
+};
+
+DynamicPartitionsDeviceInfoProto_Group::DynamicPartitionsDeviceInfoProto_Group()
+  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:android.DynamicPartitionsDeviceInfoProto.Group)
+}
+DynamicPartitionsDeviceInfoProto_Group::DynamicPartitionsDeviceInfoProto_Group(const DynamicPartitionsDeviceInfoProto_Group& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _internal_metadata_(nullptr) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  if (!from.name().empty()) {
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  maximum_size_ = from.maximum_size_;
+  // @@protoc_insertion_point(copy_constructor:android.DynamicPartitionsDeviceInfoProto.Group)
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  maximum_size_ = PROTOBUF_ULONGLONG(0);
+}
+
+DynamicPartitionsDeviceInfoProto_Group::~DynamicPartitionsDeviceInfoProto_Group() {
+  // @@protoc_insertion_point(destructor:android.DynamicPartitionsDeviceInfoProto.Group)
+  SharedDtor();
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::SharedDtor() {
+  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const DynamicPartitionsDeviceInfoProto_Group& DynamicPartitionsDeviceInfoProto_Group::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DynamicPartitionsDeviceInfoProto_Group_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void DynamicPartitionsDeviceInfoProto_Group::Clear() {
+// @@protoc_insertion_point(message_clear_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  maximum_size_ = PROTOBUF_ULONGLONG(0);
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* DynamicPartitionsDeviceInfoProto_Group::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // string name = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "android.DynamicPartitionsDeviceInfoProto.Group.name");
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 maximum_size = 2[json_name = "maximum_size"];
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+          maximum_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool DynamicPartitionsDeviceInfoProto_Group::MergePartialFromCodedStream(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+  // @@protoc_insertion_point(parse_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  for (;;) {
+    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string name = 1;
+      case 1: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
+                input, this->mutable_name()));
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+            this->name().data(), static_cast<int>(this->name().length()),
+            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
+            "android.DynamicPartitionsDeviceInfoProto.Group.name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 maximum_size = 2[json_name = "maximum_size"];
+      case 2: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &maximum_size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:android.DynamicPartitionsDeviceInfoProto.Group)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:android.DynamicPartitionsDeviceInfoProto.Group)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void DynamicPartitionsDeviceInfoProto_Group::SerializeWithCachedSizes(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Group.name");
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->name(), output);
+  }
+
+  // uint64 maximum_size = 2[json_name = "maximum_size"];
+  if (this->maximum_size() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(2, this->maximum_size(), output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:android.DynamicPartitionsDeviceInfoProto.Group)
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* DynamicPartitionsDeviceInfoProto_Group::InternalSerializeWithCachedSizesToArray(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.Group.name");
+    target =
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
+        1, this->name(), target);
+  }
+
+  // uint64 maximum_size = 2[json_name = "maximum_size"];
+  if (this->maximum_size() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->maximum_size(), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:android.DynamicPartitionsDeviceInfoProto.Group)
+  return target;
+}
+
+size_t DynamicPartitionsDeviceInfoProto_Group::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->name());
+  }
+
+  // uint64 maximum_size = 2[json_name = "maximum_size"];
+  if (this->maximum_size() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->maximum_size());
+  }
+
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  GOOGLE_DCHECK_NE(&from, this);
+  const DynamicPartitionsDeviceInfoProto_Group* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DynamicPartitionsDeviceInfoProto_Group>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:android.DynamicPartitionsDeviceInfoProto.Group)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:android.DynamicPartitionsDeviceInfoProto.Group)
+    MergeFrom(*source);
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::MergeFrom(const DynamicPartitionsDeviceInfoProto_Group& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.name().size() > 0) {
+
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  if (from.maximum_size() != 0) {
+    set_maximum_size(from.maximum_size());
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::CopyFrom(const DynamicPartitionsDeviceInfoProto_Group& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:android.DynamicPartitionsDeviceInfoProto.Group)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool DynamicPartitionsDeviceInfoProto_Group::IsInitialized() const {
+  return true;
+}
+
+void DynamicPartitionsDeviceInfoProto_Group::InternalSwap(DynamicPartitionsDeviceInfoProto_Group* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
+  swap(maximum_size_, other->maximum_size_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata DynamicPartitionsDeviceInfoProto_Group::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
+// ===================================================================
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::InitAsDefaultInstance() {
+}
+class DynamicPartitionsDeviceInfoProto_BlockDevice::_Internal {
+ public:
+};
+
+DynamicPartitionsDeviceInfoProto_BlockDevice::DynamicPartitionsDeviceInfoProto_BlockDevice()
+  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+}
+DynamicPartitionsDeviceInfoProto_BlockDevice::DynamicPartitionsDeviceInfoProto_BlockDevice(const DynamicPartitionsDeviceInfoProto_BlockDevice& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _internal_metadata_(nullptr) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  if (!from.name().empty()) {
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  ::memcpy(&size_, &from.size_,
+    static_cast<size_t>(reinterpret_cast<char*>(&alignment_offset_) -
+    reinterpret_cast<char*>(&size_)) + sizeof(alignment_offset_));
+  // @@protoc_insertion_point(copy_constructor:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  ::memset(&size_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&alignment_offset_) -
+      reinterpret_cast<char*>(&size_)) + sizeof(alignment_offset_));
+}
+
+DynamicPartitionsDeviceInfoProto_BlockDevice::~DynamicPartitionsDeviceInfoProto_BlockDevice() {
+  // @@protoc_insertion_point(destructor:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  SharedDtor();
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::SharedDtor() {
+  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const DynamicPartitionsDeviceInfoProto_BlockDevice& DynamicPartitionsDeviceInfoProto_BlockDevice::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DynamicPartitionsDeviceInfoProto_BlockDevice_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::Clear() {
+// @@protoc_insertion_point(message_clear_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+  ::memset(&size_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&alignment_offset_) -
+      reinterpret_cast<char*>(&size_)) + sizeof(alignment_offset_));
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* DynamicPartitionsDeviceInfoProto_BlockDevice::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // string name = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "android.DynamicPartitionsDeviceInfoProto.BlockDevice.name");
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 size = 2;
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+          size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 block_size = 3[json_name = "block_size"];
+      case 3:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+          block_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 alignment = 4;
+      case 4:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+          alignment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+      case 5:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+          alignment_offset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool DynamicPartitionsDeviceInfoProto_BlockDevice::MergePartialFromCodedStream(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+  // @@protoc_insertion_point(parse_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  for (;;) {
+    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string name = 1;
+      case 1: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
+                input, this->mutable_name()));
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+            this->name().data(), static_cast<int>(this->name().length()),
+            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
+            "android.DynamicPartitionsDeviceInfoProto.BlockDevice.name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 size = 2;
+      case 2: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 block_size = 3[json_name = "block_size"];
+      case 3: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (24 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &block_size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 alignment = 4;
+      case 4: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (32 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &alignment_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+      case 5: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (40 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   ::PROTOBUF_NAMESPACE_ID::uint64, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64>(
+                 input, &alignment_offset_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::SerializeWithCachedSizes(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.BlockDevice.name");
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->name(), output);
+  }
+
+  // uint64 size = 2;
+  if (this->size() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(2, this->size(), output);
+  }
+
+  // uint64 block_size = 3[json_name = "block_size"];
+  if (this->block_size() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(3, this->block_size(), output);
+  }
+
+  // uint64 alignment = 4;
+  if (this->alignment() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(4, this->alignment(), output);
+  }
+
+  // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+  if (this->alignment_offset() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64(5, this->alignment_offset(), output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* DynamicPartitionsDeviceInfoProto_BlockDevice::InternalSerializeWithCachedSizesToArray(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
+      this->name().data(), static_cast<int>(this->name().length()),
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
+      "android.DynamicPartitionsDeviceInfoProto.BlockDevice.name");
+    target =
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
+        1, this->name(), target);
+  }
+
+  // uint64 size = 2;
+  if (this->size() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(2, this->size(), target);
+  }
+
+  // uint64 block_size = 3[json_name = "block_size"];
+  if (this->block_size() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(3, this->block_size(), target);
+  }
+
+  // uint64 alignment = 4;
+  if (this->alignment() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(4, this->alignment(), target);
+  }
+
+  // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+  if (this->alignment_offset() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(5, this->alignment_offset(), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  return target;
+}
+
+size_t DynamicPartitionsDeviceInfoProto_BlockDevice::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // string name = 1;
+  if (this->name().size() > 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
+        this->name());
+  }
+
+  // uint64 size = 2;
+  if (this->size() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->size());
+  }
+
+  // uint64 block_size = 3[json_name = "block_size"];
+  if (this->block_size() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->block_size());
+  }
+
+  // uint64 alignment = 4;
+  if (this->alignment() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->alignment());
+  }
+
+  // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+  if (this->alignment_offset() != 0) {
+    total_size += 1 +
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
+        this->alignment_offset());
+  }
+
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  GOOGLE_DCHECK_NE(&from, this);
+  const DynamicPartitionsDeviceInfoProto_BlockDevice* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DynamicPartitionsDeviceInfoProto_BlockDevice>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+    MergeFrom(*source);
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::MergeFrom(const DynamicPartitionsDeviceInfoProto_BlockDevice& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.name().size() > 0) {
+
+    name_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.name_);
+  }
+  if (from.size() != 0) {
+    set_size(from.size());
+  }
+  if (from.block_size() != 0) {
+    set_block_size(from.block_size());
+  }
+  if (from.alignment() != 0) {
+    set_alignment(from.alignment());
+  }
+  if (from.alignment_offset() != 0) {
+    set_alignment_offset(from.alignment_offset());
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::CopyFrom(const DynamicPartitionsDeviceInfoProto_BlockDevice& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool DynamicPartitionsDeviceInfoProto_BlockDevice::IsInitialized() const {
+  return true;
+}
+
+void DynamicPartitionsDeviceInfoProto_BlockDevice::InternalSwap(DynamicPartitionsDeviceInfoProto_BlockDevice* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+    GetArenaNoVirtual());
+  swap(size_, other->size_);
+  swap(block_size_, other->block_size_);
+  swap(alignment_, other->alignment_);
+  swap(alignment_offset_, other->alignment_offset_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata DynamicPartitionsDeviceInfoProto_BlockDevice::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
+// ===================================================================
+
+void DynamicPartitionsDeviceInfoProto::InitAsDefaultInstance() {
+}
+class DynamicPartitionsDeviceInfoProto::_Internal {
+ public:
+};
+
+DynamicPartitionsDeviceInfoProto::DynamicPartitionsDeviceInfoProto()
+  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:android.DynamicPartitionsDeviceInfoProto)
+}
+DynamicPartitionsDeviceInfoProto::DynamicPartitionsDeviceInfoProto(const DynamicPartitionsDeviceInfoProto& from)
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _internal_metadata_(nullptr),
+      partitions_(from.partitions_),
+      groups_(from.groups_),
+      block_devices_(from.block_devices_) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::memcpy(&enabled_, &from.enabled_,
+    static_cast<size_t>(reinterpret_cast<char*>(&retrofit_) -
+    reinterpret_cast<char*>(&enabled_)) + sizeof(retrofit_));
+  // @@protoc_insertion_point(copy_constructor:android.DynamicPartitionsDeviceInfoProto)
+}
+
+void DynamicPartitionsDeviceInfoProto::SharedCtor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  ::memset(&enabled_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&retrofit_) -
+      reinterpret_cast<char*>(&enabled_)) + sizeof(retrofit_));
+}
+
+DynamicPartitionsDeviceInfoProto::~DynamicPartitionsDeviceInfoProto() {
+  // @@protoc_insertion_point(destructor:android.DynamicPartitionsDeviceInfoProto)
+  SharedDtor();
+}
+
+void DynamicPartitionsDeviceInfoProto::SharedDtor() {
+}
+
+void DynamicPartitionsDeviceInfoProto::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
+}
+const DynamicPartitionsDeviceInfoProto& DynamicPartitionsDeviceInfoProto::default_instance() {
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DynamicPartitionsDeviceInfoProto_dynamic_5fpartitions_5fdevice_5finfo_2eproto.base);
+  return *internal_default_instance();
+}
+
+
+void DynamicPartitionsDeviceInfoProto::Clear() {
+// @@protoc_insertion_point(message_clear_start:android.DynamicPartitionsDeviceInfoProto)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  partitions_.Clear();
+  groups_.Clear();
+  block_devices_.Clear();
+  ::memset(&enabled_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&retrofit_) -
+      reinterpret_cast<char*>(&enabled_)) + sizeof(retrofit_));
+  _internal_metadata_.Clear();
+}
+
+#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+const char* DynamicPartitionsDeviceInfoProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
+      // bool enabled = 1;
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+          enabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // bool retrofit = 2;
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+          retrofit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
+      // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+      case 3:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+          ptr -= 1;
+          do {
+            ptr += 1;
+            ptr = ctx->ParseMessage(add_partitions(), ptr);
+            CHK_(ptr);
+            if (!ctx->DataAvailable(ptr)) break;
+          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+        } else goto handle_unusual;
+        continue;
+      // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+      case 4:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+          ptr -= 1;
+          do {
+            ptr += 1;
+            ptr = ctx->ParseMessage(add_groups(), ptr);
+            CHK_(ptr);
+            if (!ctx->DataAvailable(ptr)) break;
+          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34);
+        } else goto handle_unusual;
+        continue;
+      // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+      case 5:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+          ptr -= 1;
+          do {
+            ptr += 1;
+            ptr = ctx->ParseMessage(add_block_devices(), ptr);
+            CHK_(ptr);
+            if (!ctx->DataAvailable(ptr)) break;
+          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
+        } else goto handle_unusual;
+        continue;
+      default: {
+      handle_unusual:
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
+          goto success;
+        }
+        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
+      }
+    }  // switch
+  }  // while
+success:
+  return ptr;
+failure:
+  ptr = nullptr;
+  goto success;
+#undef CHK_
+}
+#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+bool DynamicPartitionsDeviceInfoProto::MergePartialFromCodedStream(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+  // @@protoc_insertion_point(parse_start:android.DynamicPartitionsDeviceInfoProto)
+  for (;;) {
+    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // bool enabled = 1;
+      case 1: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &enabled_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // bool retrofit = 2;
+      case 2: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
+
+          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &retrofit_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+      case 3: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
+                input, add_partitions()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+      case 4: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
+                input, add_groups()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+      case 5: {
+        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
+          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
+                input, add_block_devices()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:android.DynamicPartitionsDeviceInfoProto)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:android.DynamicPartitionsDeviceInfoProto)
+  return false;
+#undef DO_
+}
+#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+
+void DynamicPartitionsDeviceInfoProto::SerializeWithCachedSizes(
+    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:android.DynamicPartitionsDeviceInfoProto)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool enabled = 1;
+  if (this->enabled() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(1, this->enabled(), output);
+  }
+
+  // bool retrofit = 2;
+  if (this->retrofit() != 0) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBool(2, this->retrofit(), output);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->partitions_size()); i < n; i++) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
+      3,
+      this->partitions(static_cast<int>(i)),
+      output);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->groups_size()); i < n; i++) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
+      4,
+      this->groups(static_cast<int>(i)),
+      output);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->block_devices_size()); i < n; i++) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
+      5,
+      this->block_devices(static_cast<int>(i)),
+      output);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
+        _internal_metadata_.unknown_fields(), output);
+  }
+  // @@protoc_insertion_point(serialize_end:android.DynamicPartitionsDeviceInfoProto)
+}
+
+::PROTOBUF_NAMESPACE_ID::uint8* DynamicPartitionsDeviceInfoProto::InternalSerializeWithCachedSizesToArray(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
+  // @@protoc_insertion_point(serialize_to_array_start:android.DynamicPartitionsDeviceInfoProto)
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool enabled = 1;
+  if (this->enabled() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->enabled(), target);
+  }
+
+  // bool retrofit = 2;
+  if (this->retrofit() != 0) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->retrofit(), target);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->partitions_size()); i < n; i++) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        3, this->partitions(static_cast<int>(i)), target);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->groups_size()); i < n; i++) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        4, this->groups(static_cast<int>(i)), target);
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+  for (unsigned int i = 0,
+      n = static_cast<unsigned int>(this->block_devices_size()); i < n; i++) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        5, this->block_devices(static_cast<int>(i)), target);
+  }
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields(), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:android.DynamicPartitionsDeviceInfoProto)
+  return target;
+}
+
+size_t DynamicPartitionsDeviceInfoProto::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:android.DynamicPartitionsDeviceInfoProto)
+  size_t total_size = 0;
+
+  if (_internal_metadata_.have_unknown_fields()) {
+    total_size +=
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
+        _internal_metadata_.unknown_fields());
+  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+  {
+    unsigned int count = static_cast<unsigned int>(this->partitions_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+          this->partitions(static_cast<int>(i)));
+    }
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+  {
+    unsigned int count = static_cast<unsigned int>(this->groups_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+          this->groups(static_cast<int>(i)));
+    }
+  }
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+  {
+    unsigned int count = static_cast<unsigned int>(this->block_devices_size());
+    total_size += 1UL * count;
+    for (unsigned int i = 0; i < count; i++) {
+      total_size +=
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+          this->block_devices(static_cast<int>(i)));
+    }
+  }
+
+  // bool enabled = 1;
+  if (this->enabled() != 0) {
+    total_size += 1 + 1;
+  }
+
+  // bool retrofit = 2;
+  if (this->retrofit() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
+  return total_size;
+}
+
+void DynamicPartitionsDeviceInfoProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:android.DynamicPartitionsDeviceInfoProto)
+  GOOGLE_DCHECK_NE(&from, this);
+  const DynamicPartitionsDeviceInfoProto* source =
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DynamicPartitionsDeviceInfoProto>(
+          &from);
+  if (source == nullptr) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:android.DynamicPartitionsDeviceInfoProto)
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:android.DynamicPartitionsDeviceInfoProto)
+    MergeFrom(*source);
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto::MergeFrom(const DynamicPartitionsDeviceInfoProto& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:android.DynamicPartitionsDeviceInfoProto)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  partitions_.MergeFrom(from.partitions_);
+  groups_.MergeFrom(from.groups_);
+  block_devices_.MergeFrom(from.block_devices_);
+  if (from.enabled() != 0) {
+    set_enabled(from.enabled());
+  }
+  if (from.retrofit() != 0) {
+    set_retrofit(from.retrofit());
+  }
+}
+
+void DynamicPartitionsDeviceInfoProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:android.DynamicPartitionsDeviceInfoProto)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void DynamicPartitionsDeviceInfoProto::CopyFrom(const DynamicPartitionsDeviceInfoProto& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:android.DynamicPartitionsDeviceInfoProto)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool DynamicPartitionsDeviceInfoProto::IsInitialized() const {
+  return true;
+}
+
+void DynamicPartitionsDeviceInfoProto::InternalSwap(DynamicPartitionsDeviceInfoProto* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  CastToBase(&partitions_)->InternalSwap(CastToBase(&other->partitions_));
+  CastToBase(&groups_)->InternalSwap(CastToBase(&other->groups_));
+  CastToBase(&block_devices_)->InternalSwap(CastToBase(&other->block_devices_));
+  swap(enabled_, other->enabled_);
+  swap(retrofit_, other->retrofit_);
+}
+
+::PROTOBUF_NAMESPACE_ID::Metadata DynamicPartitionsDeviceInfoProto::GetMetadata() const {
+  return GetMetadataStatic();
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+}  // namespace android
+PROTOBUF_NAMESPACE_OPEN
+template<> PROTOBUF_NOINLINE ::android::DynamicPartitionsDeviceInfoProto_Partition* Arena::CreateMaybeMessage< ::android::DynamicPartitionsDeviceInfoProto_Partition >(Arena* arena) {
+  return Arena::CreateInternal< ::android::DynamicPartitionsDeviceInfoProto_Partition >(arena);
+}
+template<> PROTOBUF_NOINLINE ::android::DynamicPartitionsDeviceInfoProto_Group* Arena::CreateMaybeMessage< ::android::DynamicPartitionsDeviceInfoProto_Group >(Arena* arena) {
+  return Arena::CreateInternal< ::android::DynamicPartitionsDeviceInfoProto_Group >(arena);
+}
+template<> PROTOBUF_NOINLINE ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* Arena::CreateMaybeMessage< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >(Arena* arena) {
+  return Arena::CreateInternal< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >(arena);
+}
+template<> PROTOBUF_NOINLINE ::android::DynamicPartitionsDeviceInfoProto* Arena::CreateMaybeMessage< ::android::DynamicPartitionsDeviceInfoProto >(Arena* arena) {
+  return Arena::CreateInternal< ::android::DynamicPartitionsDeviceInfoProto >(arena);
+}
+PROTOBUF_NAMESPACE_CLOSE
+
+// @@protoc_insertion_point(global_scope)
+#include <google/protobuf/port_undef.inc>
diff --git a/partition_tools/dynamic_partitions_device_info.pb.h b/partition_tools/dynamic_partitions_device_info.pb.h
new file mode 100644 (file)
index 0000000..bbde573
--- /dev/null
@@ -0,0 +1,1235 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: dynamic_partitions_device_info.proto
+
+#ifndef GOOGLE_PROTOBUF_INCLUDED_dynamic_5fpartitions_5fdevice_5finfo_2eproto
+#define GOOGLE_PROTOBUF_INCLUDED_dynamic_5fpartitions_5fdevice_5finfo_2eproto
+
+#include <limits>
+#include <string>
+
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3009000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3009001 < PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/port_undef.inc>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/inlined_string_field.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
+#include <google/protobuf/extension_set.h>  // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_dynamic_5fpartitions_5fdevice_5finfo_2eproto
+PROTOBUF_NAMESPACE_OPEN
+namespace internal {
+class AnyMetadata;
+}  // namespace internal
+PROTOBUF_NAMESPACE_CLOSE
+
+// Internal implementation detail -- do not use these members.
+struct TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto {
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
+  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
+};
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+namespace android {
+class DynamicPartitionsDeviceInfoProto;
+class DynamicPartitionsDeviceInfoProtoDefaultTypeInternal;
+extern DynamicPartitionsDeviceInfoProtoDefaultTypeInternal _DynamicPartitionsDeviceInfoProto_default_instance_;
+class DynamicPartitionsDeviceInfoProto_BlockDevice;
+class DynamicPartitionsDeviceInfoProto_BlockDeviceDefaultTypeInternal;
+extern DynamicPartitionsDeviceInfoProto_BlockDeviceDefaultTypeInternal _DynamicPartitionsDeviceInfoProto_BlockDevice_default_instance_;
+class DynamicPartitionsDeviceInfoProto_Group;
+class DynamicPartitionsDeviceInfoProto_GroupDefaultTypeInternal;
+extern DynamicPartitionsDeviceInfoProto_GroupDefaultTypeInternal _DynamicPartitionsDeviceInfoProto_Group_default_instance_;
+class DynamicPartitionsDeviceInfoProto_Partition;
+class DynamicPartitionsDeviceInfoProto_PartitionDefaultTypeInternal;
+extern DynamicPartitionsDeviceInfoProto_PartitionDefaultTypeInternal _DynamicPartitionsDeviceInfoProto_Partition_default_instance_;
+}  // namespace android
+PROTOBUF_NAMESPACE_OPEN
+template<> ::android::DynamicPartitionsDeviceInfoProto* Arena::CreateMaybeMessage<::android::DynamicPartitionsDeviceInfoProto>(Arena*);
+template<> ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* Arena::CreateMaybeMessage<::android::DynamicPartitionsDeviceInfoProto_BlockDevice>(Arena*);
+template<> ::android::DynamicPartitionsDeviceInfoProto_Group* Arena::CreateMaybeMessage<::android::DynamicPartitionsDeviceInfoProto_Group>(Arena*);
+template<> ::android::DynamicPartitionsDeviceInfoProto_Partition* Arena::CreateMaybeMessage<::android::DynamicPartitionsDeviceInfoProto_Partition>(Arena*);
+PROTOBUF_NAMESPACE_CLOSE
+namespace android {
+
+// ===================================================================
+
+class DynamicPartitionsDeviceInfoProto_Partition :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:android.DynamicPartitionsDeviceInfoProto.Partition) */ {
+ public:
+  DynamicPartitionsDeviceInfoProto_Partition();
+  virtual ~DynamicPartitionsDeviceInfoProto_Partition();
+
+  DynamicPartitionsDeviceInfoProto_Partition(const DynamicPartitionsDeviceInfoProto_Partition& from);
+  DynamicPartitionsDeviceInfoProto_Partition(DynamicPartitionsDeviceInfoProto_Partition&& from) noexcept
+    : DynamicPartitionsDeviceInfoProto_Partition() {
+    *this = ::std::move(from);
+  }
+
+  inline DynamicPartitionsDeviceInfoProto_Partition& operator=(const DynamicPartitionsDeviceInfoProto_Partition& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline DynamicPartitionsDeviceInfoProto_Partition& operator=(DynamicPartitionsDeviceInfoProto_Partition&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const DynamicPartitionsDeviceInfoProto_Partition& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const DynamicPartitionsDeviceInfoProto_Partition* internal_default_instance() {
+    return reinterpret_cast<const DynamicPartitionsDeviceInfoProto_Partition*>(
+               &_DynamicPartitionsDeviceInfoProto_Partition_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    0;
+
+  friend void swap(DynamicPartitionsDeviceInfoProto_Partition& a, DynamicPartitionsDeviceInfoProto_Partition& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(DynamicPartitionsDeviceInfoProto_Partition* other) {
+    if (other == this) return;
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline DynamicPartitionsDeviceInfoProto_Partition* New() const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_Partition>(nullptr);
+  }
+
+  DynamicPartitionsDeviceInfoProto_Partition* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_Partition>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const DynamicPartitionsDeviceInfoProto_Partition& from);
+  void MergeFrom(const DynamicPartitionsDeviceInfoProto_Partition& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  #else
+  bool MergePartialFromCodedStream(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(DynamicPartitionsDeviceInfoProto_Partition* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "android.DynamicPartitionsDeviceInfoProto.Partition";
+  }
+  private:
+  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto);
+    return ::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kNameFieldNumber = 1,
+    kGroupNameFieldNumber = 2,
+    kSizeFieldNumber = 4,
+    kFsSizeFieldNumber = 5,
+    kFsUsedFieldNumber = 6,
+    kIsDynamicFieldNumber = 3,
+  };
+  // string name = 1;
+  void clear_name();
+  const std::string& name() const;
+  void set_name(const std::string& value);
+  void set_name(std::string&& value);
+  void set_name(const char* value);
+  void set_name(const char* value, size_t size);
+  std::string* mutable_name();
+  std::string* release_name();
+  void set_allocated_name(std::string* name);
+
+  // string group_name = 2[json_name = "group_name"];
+  void clear_group_name();
+  const std::string& group_name() const;
+  void set_group_name(const std::string& value);
+  void set_group_name(std::string&& value);
+  void set_group_name(const char* value);
+  void set_group_name(const char* value, size_t size);
+  std::string* mutable_group_name();
+  std::string* release_group_name();
+  void set_allocated_group_name(std::string* group_name);
+
+  // uint64 size = 4;
+  void clear_size();
+  ::PROTOBUF_NAMESPACE_ID::uint64 size() const;
+  void set_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // uint64 fs_size = 5[json_name = "fs_size"];
+  void clear_fs_size();
+  ::PROTOBUF_NAMESPACE_ID::uint64 fs_size() const;
+  void set_fs_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // uint64 fs_used = 6[json_name = "fs_used"];
+  void clear_fs_used();
+  ::PROTOBUF_NAMESPACE_ID::uint64 fs_used() const;
+  void set_fs_used(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // bool is_dynamic = 3[json_name = "is_dynamic"];
+  void clear_is_dynamic();
+  bool is_dynamic() const;
+  void set_is_dynamic(bool value);
+
+  // @@protoc_insertion_point(class_scope:android.DynamicPartitionsDeviceInfoProto.Partition)
+ private:
+  class _Internal;
+
+  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr group_name_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 size_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 fs_size_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 fs_used_;
+  bool is_dynamic_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+};
+// -------------------------------------------------------------------
+
+class DynamicPartitionsDeviceInfoProto_Group :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:android.DynamicPartitionsDeviceInfoProto.Group) */ {
+ public:
+  DynamicPartitionsDeviceInfoProto_Group();
+  virtual ~DynamicPartitionsDeviceInfoProto_Group();
+
+  DynamicPartitionsDeviceInfoProto_Group(const DynamicPartitionsDeviceInfoProto_Group& from);
+  DynamicPartitionsDeviceInfoProto_Group(DynamicPartitionsDeviceInfoProto_Group&& from) noexcept
+    : DynamicPartitionsDeviceInfoProto_Group() {
+    *this = ::std::move(from);
+  }
+
+  inline DynamicPartitionsDeviceInfoProto_Group& operator=(const DynamicPartitionsDeviceInfoProto_Group& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline DynamicPartitionsDeviceInfoProto_Group& operator=(DynamicPartitionsDeviceInfoProto_Group&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const DynamicPartitionsDeviceInfoProto_Group& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const DynamicPartitionsDeviceInfoProto_Group* internal_default_instance() {
+    return reinterpret_cast<const DynamicPartitionsDeviceInfoProto_Group*>(
+               &_DynamicPartitionsDeviceInfoProto_Group_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    1;
+
+  friend void swap(DynamicPartitionsDeviceInfoProto_Group& a, DynamicPartitionsDeviceInfoProto_Group& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(DynamicPartitionsDeviceInfoProto_Group* other) {
+    if (other == this) return;
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline DynamicPartitionsDeviceInfoProto_Group* New() const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_Group>(nullptr);
+  }
+
+  DynamicPartitionsDeviceInfoProto_Group* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_Group>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const DynamicPartitionsDeviceInfoProto_Group& from);
+  void MergeFrom(const DynamicPartitionsDeviceInfoProto_Group& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  #else
+  bool MergePartialFromCodedStream(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(DynamicPartitionsDeviceInfoProto_Group* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "android.DynamicPartitionsDeviceInfoProto.Group";
+  }
+  private:
+  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto);
+    return ::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kNameFieldNumber = 1,
+    kMaximumSizeFieldNumber = 2,
+  };
+  // string name = 1;
+  void clear_name();
+  const std::string& name() const;
+  void set_name(const std::string& value);
+  void set_name(std::string&& value);
+  void set_name(const char* value);
+  void set_name(const char* value, size_t size);
+  std::string* mutable_name();
+  std::string* release_name();
+  void set_allocated_name(std::string* name);
+
+  // uint64 maximum_size = 2[json_name = "maximum_size"];
+  void clear_maximum_size();
+  ::PROTOBUF_NAMESPACE_ID::uint64 maximum_size() const;
+  void set_maximum_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // @@protoc_insertion_point(class_scope:android.DynamicPartitionsDeviceInfoProto.Group)
+ private:
+  class _Internal;
+
+  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 maximum_size_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+};
+// -------------------------------------------------------------------
+
+class DynamicPartitionsDeviceInfoProto_BlockDevice :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:android.DynamicPartitionsDeviceInfoProto.BlockDevice) */ {
+ public:
+  DynamicPartitionsDeviceInfoProto_BlockDevice();
+  virtual ~DynamicPartitionsDeviceInfoProto_BlockDevice();
+
+  DynamicPartitionsDeviceInfoProto_BlockDevice(const DynamicPartitionsDeviceInfoProto_BlockDevice& from);
+  DynamicPartitionsDeviceInfoProto_BlockDevice(DynamicPartitionsDeviceInfoProto_BlockDevice&& from) noexcept
+    : DynamicPartitionsDeviceInfoProto_BlockDevice() {
+    *this = ::std::move(from);
+  }
+
+  inline DynamicPartitionsDeviceInfoProto_BlockDevice& operator=(const DynamicPartitionsDeviceInfoProto_BlockDevice& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline DynamicPartitionsDeviceInfoProto_BlockDevice& operator=(DynamicPartitionsDeviceInfoProto_BlockDevice&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const DynamicPartitionsDeviceInfoProto_BlockDevice& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const DynamicPartitionsDeviceInfoProto_BlockDevice* internal_default_instance() {
+    return reinterpret_cast<const DynamicPartitionsDeviceInfoProto_BlockDevice*>(
+               &_DynamicPartitionsDeviceInfoProto_BlockDevice_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    2;
+
+  friend void swap(DynamicPartitionsDeviceInfoProto_BlockDevice& a, DynamicPartitionsDeviceInfoProto_BlockDevice& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(DynamicPartitionsDeviceInfoProto_BlockDevice* other) {
+    if (other == this) return;
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline DynamicPartitionsDeviceInfoProto_BlockDevice* New() const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_BlockDevice>(nullptr);
+  }
+
+  DynamicPartitionsDeviceInfoProto_BlockDevice* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto_BlockDevice>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const DynamicPartitionsDeviceInfoProto_BlockDevice& from);
+  void MergeFrom(const DynamicPartitionsDeviceInfoProto_BlockDevice& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  #else
+  bool MergePartialFromCodedStream(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(DynamicPartitionsDeviceInfoProto_BlockDevice* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "android.DynamicPartitionsDeviceInfoProto.BlockDevice";
+  }
+  private:
+  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto);
+    return ::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kNameFieldNumber = 1,
+    kSizeFieldNumber = 2,
+    kBlockSizeFieldNumber = 3,
+    kAlignmentFieldNumber = 4,
+    kAlignmentOffsetFieldNumber = 5,
+  };
+  // string name = 1;
+  void clear_name();
+  const std::string& name() const;
+  void set_name(const std::string& value);
+  void set_name(std::string&& value);
+  void set_name(const char* value);
+  void set_name(const char* value, size_t size);
+  std::string* mutable_name();
+  std::string* release_name();
+  void set_allocated_name(std::string* name);
+
+  // uint64 size = 2;
+  void clear_size();
+  ::PROTOBUF_NAMESPACE_ID::uint64 size() const;
+  void set_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // uint64 block_size = 3[json_name = "block_size"];
+  void clear_block_size();
+  ::PROTOBUF_NAMESPACE_ID::uint64 block_size() const;
+  void set_block_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // uint64 alignment = 4;
+  void clear_alignment();
+  ::PROTOBUF_NAMESPACE_ID::uint64 alignment() const;
+  void set_alignment(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // uint64 alignment_offset = 5[json_name = "alignment_offset"];
+  void clear_alignment_offset();
+  ::PROTOBUF_NAMESPACE_ID::uint64 alignment_offset() const;
+  void set_alignment_offset(::PROTOBUF_NAMESPACE_ID::uint64 value);
+
+  // @@protoc_insertion_point(class_scope:android.DynamicPartitionsDeviceInfoProto.BlockDevice)
+ private:
+  class _Internal;
+
+  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 size_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 block_size_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 alignment_;
+  ::PROTOBUF_NAMESPACE_ID::uint64 alignment_offset_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+};
+// -------------------------------------------------------------------
+
+class DynamicPartitionsDeviceInfoProto :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:android.DynamicPartitionsDeviceInfoProto) */ {
+ public:
+  DynamicPartitionsDeviceInfoProto();
+  virtual ~DynamicPartitionsDeviceInfoProto();
+
+  DynamicPartitionsDeviceInfoProto(const DynamicPartitionsDeviceInfoProto& from);
+  DynamicPartitionsDeviceInfoProto(DynamicPartitionsDeviceInfoProto&& from) noexcept
+    : DynamicPartitionsDeviceInfoProto() {
+    *this = ::std::move(from);
+  }
+
+  inline DynamicPartitionsDeviceInfoProto& operator=(const DynamicPartitionsDeviceInfoProto& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  inline DynamicPartitionsDeviceInfoProto& operator=(DynamicPartitionsDeviceInfoProto&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
+  static const DynamicPartitionsDeviceInfoProto& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const DynamicPartitionsDeviceInfoProto* internal_default_instance() {
+    return reinterpret_cast<const DynamicPartitionsDeviceInfoProto*>(
+               &_DynamicPartitionsDeviceInfoProto_default_instance_);
+  }
+  static constexpr int kIndexInFileMessages =
+    3;
+
+  friend void swap(DynamicPartitionsDeviceInfoProto& a, DynamicPartitionsDeviceInfoProto& b) {
+    a.Swap(&b);
+  }
+  inline void Swap(DynamicPartitionsDeviceInfoProto* other) {
+    if (other == this) return;
+    InternalSwap(other);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline DynamicPartitionsDeviceInfoProto* New() const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto>(nullptr);
+  }
+
+  DynamicPartitionsDeviceInfoProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<DynamicPartitionsDeviceInfoProto>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void CopyFrom(const DynamicPartitionsDeviceInfoProto& from);
+  void MergeFrom(const DynamicPartitionsDeviceInfoProto& from);
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  #else
+  bool MergePartialFromCodedStream(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
+  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
+  void SerializeWithCachedSizes(
+      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
+  private:
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
+  void InternalSwap(DynamicPartitionsDeviceInfoProto* other);
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "android.DynamicPartitionsDeviceInfoProto";
+  }
+  private:
+  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
+    return nullptr;
+  }
+  inline void* MaybeArenaPtr() const {
+    return nullptr;
+  }
+  public:
+
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto);
+    return ::descriptor_table_dynamic_5fpartitions_5fdevice_5finfo_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
+
+  // nested types ----------------------------------------------------
+
+  typedef DynamicPartitionsDeviceInfoProto_Partition Partition;
+  typedef DynamicPartitionsDeviceInfoProto_Group Group;
+  typedef DynamicPartitionsDeviceInfoProto_BlockDevice BlockDevice;
+
+  // accessors -------------------------------------------------------
+
+  enum : int {
+    kPartitionsFieldNumber = 3,
+    kGroupsFieldNumber = 4,
+    kBlockDevicesFieldNumber = 5,
+    kEnabledFieldNumber = 1,
+    kRetrofitFieldNumber = 2,
+  };
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+  int partitions_size() const;
+  void clear_partitions();
+  ::android::DynamicPartitionsDeviceInfoProto_Partition* mutable_partitions(int index);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Partition >*
+      mutable_partitions();
+  const ::android::DynamicPartitionsDeviceInfoProto_Partition& partitions(int index) const;
+  ::android::DynamicPartitionsDeviceInfoProto_Partition* add_partitions();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Partition >&
+      partitions() const;
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+  int groups_size() const;
+  void clear_groups();
+  ::android::DynamicPartitionsDeviceInfoProto_Group* mutable_groups(int index);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Group >*
+      mutable_groups();
+  const ::android::DynamicPartitionsDeviceInfoProto_Group& groups(int index) const;
+  ::android::DynamicPartitionsDeviceInfoProto_Group* add_groups();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Group >&
+      groups() const;
+
+  // repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+  int block_devices_size() const;
+  void clear_block_devices();
+  ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* mutable_block_devices(int index);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >*
+      mutable_block_devices();
+  const ::android::DynamicPartitionsDeviceInfoProto_BlockDevice& block_devices(int index) const;
+  ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* add_block_devices();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >&
+      block_devices() const;
+
+  // bool enabled = 1;
+  void clear_enabled();
+  bool enabled() const;
+  void set_enabled(bool value);
+
+  // bool retrofit = 2;
+  void clear_retrofit();
+  bool retrofit() const;
+  void set_retrofit(bool value);
+
+  // @@protoc_insertion_point(class_scope:android.DynamicPartitionsDeviceInfoProto)
+ private:
+  class _Internal;
+
+  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Partition > partitions_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Group > groups_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice > block_devices_;
+  bool enabled_;
+  bool retrofit_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_dynamic_5fpartitions_5fdevice_5finfo_2eproto;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#ifdef __GNUC__
+  #pragma GCC diagnostic push
+  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif  // __GNUC__
+// DynamicPartitionsDeviceInfoProto_Partition
+
+// string name = 1;
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_name() {
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline const std::string& DynamicPartitionsDeviceInfoProto_Partition::name() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+  return name_.GetNoArena();
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_name(const std::string& value) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_name(std::string&& value) {
+  
+  name_.SetNoArena(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_name(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_name(const char* value, size_t size) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Partition::mutable_name() {
+  
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Partition::release_name() {
+  // @@protoc_insertion_point(field_release:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+  
+  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_allocated_name(std::string* name) {
+  if (name != nullptr) {
+    
+  } else {
+    
+  }
+  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
+  // @@protoc_insertion_point(field_set_allocated:android.DynamicPartitionsDeviceInfoProto.Partition.name)
+}
+
+// string group_name = 2[json_name = "group_name"];
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_group_name() {
+  group_name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline const std::string& DynamicPartitionsDeviceInfoProto_Partition::group_name() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+  return group_name_.GetNoArena();
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_group_name(const std::string& value) {
+  
+  group_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_group_name(std::string&& value) {
+  
+  group_name_.SetNoArena(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_group_name(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  
+  group_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_group_name(const char* value, size_t size) {
+  
+  group_name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Partition::mutable_group_name() {
+  
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+  return group_name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Partition::release_group_name() {
+  // @@protoc_insertion_point(field_release:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+  
+  return group_name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_allocated_group_name(std::string* group_name) {
+  if (group_name != nullptr) {
+    
+  } else {
+    
+  }
+  group_name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), group_name);
+  // @@protoc_insertion_point(field_set_allocated:android.DynamicPartitionsDeviceInfoProto.Partition.group_name)
+}
+
+// bool is_dynamic = 3[json_name = "is_dynamic"];
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_is_dynamic() {
+  is_dynamic_ = false;
+}
+inline bool DynamicPartitionsDeviceInfoProto_Partition::is_dynamic() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.is_dynamic)
+  return is_dynamic_;
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_is_dynamic(bool value) {
+  
+  is_dynamic_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.is_dynamic)
+}
+
+// uint64 size = 4;
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_size() {
+  size_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_Partition::size() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.size)
+  return size_;
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  size_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.size)
+}
+
+// uint64 fs_size = 5[json_name = "fs_size"];
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_fs_size() {
+  fs_size_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_Partition::fs_size() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.fs_size)
+  return fs_size_;
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_fs_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  fs_size_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.fs_size)
+}
+
+// uint64 fs_used = 6[json_name = "fs_used"];
+inline void DynamicPartitionsDeviceInfoProto_Partition::clear_fs_used() {
+  fs_used_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_Partition::fs_used() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Partition.fs_used)
+  return fs_used_;
+}
+inline void DynamicPartitionsDeviceInfoProto_Partition::set_fs_used(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  fs_used_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Partition.fs_used)
+}
+
+// -------------------------------------------------------------------
+
+// DynamicPartitionsDeviceInfoProto_Group
+
+// string name = 1;
+inline void DynamicPartitionsDeviceInfoProto_Group::clear_name() {
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline const std::string& DynamicPartitionsDeviceInfoProto_Group::name() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Group.name)
+  return name_.GetNoArena();
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_name(const std::string& value) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Group.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_name(std::string&& value) {
+  
+  name_.SetNoArena(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:android.DynamicPartitionsDeviceInfoProto.Group.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_name(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:android.DynamicPartitionsDeviceInfoProto.Group.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_name(const char* value, size_t size) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:android.DynamicPartitionsDeviceInfoProto.Group.name)
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Group::mutable_name() {
+  
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.Group.name)
+  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_Group::release_name() {
+  // @@protoc_insertion_point(field_release:android.DynamicPartitionsDeviceInfoProto.Group.name)
+  
+  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_allocated_name(std::string* name) {
+  if (name != nullptr) {
+    
+  } else {
+    
+  }
+  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
+  // @@protoc_insertion_point(field_set_allocated:android.DynamicPartitionsDeviceInfoProto.Group.name)
+}
+
+// uint64 maximum_size = 2[json_name = "maximum_size"];
+inline void DynamicPartitionsDeviceInfoProto_Group::clear_maximum_size() {
+  maximum_size_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_Group::maximum_size() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.Group.maximum_size)
+  return maximum_size_;
+}
+inline void DynamicPartitionsDeviceInfoProto_Group::set_maximum_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  maximum_size_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.Group.maximum_size)
+}
+
+// -------------------------------------------------------------------
+
+// DynamicPartitionsDeviceInfoProto_BlockDevice
+
+// string name = 1;
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::clear_name() {
+  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline const std::string& DynamicPartitionsDeviceInfoProto_BlockDevice::name() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+  return name_.GetNoArena();
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_name(const std::string& value) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_name(std::string&& value) {
+  
+  name_.SetNoArena(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_name(const char* value) {
+  GOOGLE_DCHECK(value != nullptr);
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_name(const char* value, size_t size) {
+  
+  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_BlockDevice::mutable_name() {
+  
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline std::string* DynamicPartitionsDeviceInfoProto_BlockDevice::release_name() {
+  // @@protoc_insertion_point(field_release:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+  
+  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_allocated_name(std::string* name) {
+  if (name != nullptr) {
+    
+  } else {
+    
+  }
+  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
+  // @@protoc_insertion_point(field_set_allocated:android.DynamicPartitionsDeviceInfoProto.BlockDevice.name)
+}
+
+// uint64 size = 2;
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::clear_size() {
+  size_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_BlockDevice::size() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.BlockDevice.size)
+  return size_;
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  size_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.BlockDevice.size)
+}
+
+// uint64 block_size = 3[json_name = "block_size"];
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::clear_block_size() {
+  block_size_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_BlockDevice::block_size() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.BlockDevice.block_size)
+  return block_size_;
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_block_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  block_size_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.BlockDevice.block_size)
+}
+
+// uint64 alignment = 4;
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::clear_alignment() {
+  alignment_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_BlockDevice::alignment() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.BlockDevice.alignment)
+  return alignment_;
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_alignment(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  alignment_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.BlockDevice.alignment)
+}
+
+// uint64 alignment_offset = 5[json_name = "alignment_offset"];
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::clear_alignment_offset() {
+  alignment_offset_ = PROTOBUF_ULONGLONG(0);
+}
+inline ::PROTOBUF_NAMESPACE_ID::uint64 DynamicPartitionsDeviceInfoProto_BlockDevice::alignment_offset() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.BlockDevice.alignment_offset)
+  return alignment_offset_;
+}
+inline void DynamicPartitionsDeviceInfoProto_BlockDevice::set_alignment_offset(::PROTOBUF_NAMESPACE_ID::uint64 value) {
+  
+  alignment_offset_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.BlockDevice.alignment_offset)
+}
+
+// -------------------------------------------------------------------
+
+// DynamicPartitionsDeviceInfoProto
+
+// bool enabled = 1;
+inline void DynamicPartitionsDeviceInfoProto::clear_enabled() {
+  enabled_ = false;
+}
+inline bool DynamicPartitionsDeviceInfoProto::enabled() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.enabled)
+  return enabled_;
+}
+inline void DynamicPartitionsDeviceInfoProto::set_enabled(bool value) {
+  
+  enabled_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.enabled)
+}
+
+// bool retrofit = 2;
+inline void DynamicPartitionsDeviceInfoProto::clear_retrofit() {
+  retrofit_ = false;
+}
+inline bool DynamicPartitionsDeviceInfoProto::retrofit() const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.retrofit)
+  return retrofit_;
+}
+inline void DynamicPartitionsDeviceInfoProto::set_retrofit(bool value) {
+  
+  retrofit_ = value;
+  // @@protoc_insertion_point(field_set:android.DynamicPartitionsDeviceInfoProto.retrofit)
+}
+
+// repeated .android.DynamicPartitionsDeviceInfoProto.Partition partitions = 3;
+inline int DynamicPartitionsDeviceInfoProto::partitions_size() const {
+  return partitions_.size();
+}
+inline void DynamicPartitionsDeviceInfoProto::clear_partitions() {
+  partitions_.Clear();
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_Partition* DynamicPartitionsDeviceInfoProto::mutable_partitions(int index) {
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.partitions)
+  return partitions_.Mutable(index);
+}
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Partition >*
+DynamicPartitionsDeviceInfoProto::mutable_partitions() {
+  // @@protoc_insertion_point(field_mutable_list:android.DynamicPartitionsDeviceInfoProto.partitions)
+  return &partitions_;
+}
+inline const ::android::DynamicPartitionsDeviceInfoProto_Partition& DynamicPartitionsDeviceInfoProto::partitions(int index) const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.partitions)
+  return partitions_.Get(index);
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_Partition* DynamicPartitionsDeviceInfoProto::add_partitions() {
+  // @@protoc_insertion_point(field_add:android.DynamicPartitionsDeviceInfoProto.partitions)
+  return partitions_.Add();
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Partition >&
+DynamicPartitionsDeviceInfoProto::partitions() const {
+  // @@protoc_insertion_point(field_list:android.DynamicPartitionsDeviceInfoProto.partitions)
+  return partitions_;
+}
+
+// repeated .android.DynamicPartitionsDeviceInfoProto.Group groups = 4;
+inline int DynamicPartitionsDeviceInfoProto::groups_size() const {
+  return groups_.size();
+}
+inline void DynamicPartitionsDeviceInfoProto::clear_groups() {
+  groups_.Clear();
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_Group* DynamicPartitionsDeviceInfoProto::mutable_groups(int index) {
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.groups)
+  return groups_.Mutable(index);
+}
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Group >*
+DynamicPartitionsDeviceInfoProto::mutable_groups() {
+  // @@protoc_insertion_point(field_mutable_list:android.DynamicPartitionsDeviceInfoProto.groups)
+  return &groups_;
+}
+inline const ::android::DynamicPartitionsDeviceInfoProto_Group& DynamicPartitionsDeviceInfoProto::groups(int index) const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.groups)
+  return groups_.Get(index);
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_Group* DynamicPartitionsDeviceInfoProto::add_groups() {
+  // @@protoc_insertion_point(field_add:android.DynamicPartitionsDeviceInfoProto.groups)
+  return groups_.Add();
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_Group >&
+DynamicPartitionsDeviceInfoProto::groups() const {
+  // @@protoc_insertion_point(field_list:android.DynamicPartitionsDeviceInfoProto.groups)
+  return groups_;
+}
+
+// repeated .android.DynamicPartitionsDeviceInfoProto.BlockDevice block_devices = 5[json_name = "block_devices"];
+inline int DynamicPartitionsDeviceInfoProto::block_devices_size() const {
+  return block_devices_.size();
+}
+inline void DynamicPartitionsDeviceInfoProto::clear_block_devices() {
+  block_devices_.Clear();
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* DynamicPartitionsDeviceInfoProto::mutable_block_devices(int index) {
+  // @@protoc_insertion_point(field_mutable:android.DynamicPartitionsDeviceInfoProto.block_devices)
+  return block_devices_.Mutable(index);
+}
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >*
+DynamicPartitionsDeviceInfoProto::mutable_block_devices() {
+  // @@protoc_insertion_point(field_mutable_list:android.DynamicPartitionsDeviceInfoProto.block_devices)
+  return &block_devices_;
+}
+inline const ::android::DynamicPartitionsDeviceInfoProto_BlockDevice& DynamicPartitionsDeviceInfoProto::block_devices(int index) const {
+  // @@protoc_insertion_point(field_get:android.DynamicPartitionsDeviceInfoProto.block_devices)
+  return block_devices_.Get(index);
+}
+inline ::android::DynamicPartitionsDeviceInfoProto_BlockDevice* DynamicPartitionsDeviceInfoProto::add_block_devices() {
+  // @@protoc_insertion_point(field_add:android.DynamicPartitionsDeviceInfoProto.block_devices)
+  return block_devices_.Add();
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::android::DynamicPartitionsDeviceInfoProto_BlockDevice >&
+DynamicPartitionsDeviceInfoProto::block_devices() const {
+  // @@protoc_insertion_point(field_list:android.DynamicPartitionsDeviceInfoProto.block_devices)
+  return block_devices_;
+}
+
+#ifdef __GNUC__
+  #pragma GCC diagnostic pop
+#endif  // __GNUC__
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+}  // namespace android
+
+// @@protoc_insertion_point(global_scope)
+
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_dynamic_5fpartitions_5fdevice_5finfo_2eproto