// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: third_party/metrics_proto/perf_data.proto
// Protobuf C++ Version: 7.35.1

#include "third_party/metrics_proto/perf_data.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace metrics {
class PerfDataProto_StringMetadata_StringAndMd5sumPrefix::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_StringMetadata_StringAndMd5sumPrefix>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefix, _impl_._has_bits_);
};

constexpr PerfDataProto_StringMetadata_StringAndMd5sumPrefix::ParseTableT_ PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefix, _impl_._has_bits_),
      0, // no _extensions_
      2, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967293,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_StringMetadata_StringAndMd5sumPrefix>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 value_md5_prefix = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefix, _impl_.value_md5_prefix_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 value_md5_prefix = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefix, _impl_.value_md5_prefix_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_StringMetadata_StringAndMd5sumPrefix::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_md5_prefix_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_StringMetadata_StringAndMd5sumPrefix::PerfDataProto_StringMetadata_StringAndMd5sumPrefix(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_StringMetadata_StringAndMd5sumPrefix::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_StringMetadata_StringAndMd5sumPrefix(arena);
}
constexpr auto PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_StringMetadata_StringAndMd5sumPrefix), alignof(PerfDataProto_StringMetadata_StringAndMd5sumPrefix));
}
constexpr auto PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_StringMetadata_StringAndMd5sumPrefix::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_StringMetadata_StringAndMd5sumPrefix>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_StringMetadata_StringAndMd5sumPrefix::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_StringMetadata_StringAndMd5sumPrefix>(), &PerfDataProto_StringMetadata_StringAndMd5sumPrefix::ByteSizeLong,
              &PerfDataProto_StringMetadata_StringAndMd5sumPrefix::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefix, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix",
  };
}
struct PerfDataProto_StringMetadata_StringAndMd5sumPrefixGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_StringMetadata_StringAndMd5sumPrefixGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_StringMetadata_StringAndMd5sumPrefix_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalGenerateClassData_(
            _default, &PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_StringMetadata_StringAndMd5sumPrefix>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_StringMetadata_StringAndMd5sumPrefixGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_StringMetadata_StringAndMd5sumPrefix _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_StringMetadata_StringAndMd5sumPrefix>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata_StringAndMd5sumPrefixGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_StringMetadata_StringAndMd5sumPrefixGlobalsTypeInternal PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_StringMetadata_StringAndMd5sumPrefix_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_.GetClassData();
#else
  return PerfDataProto_StringMetadata_StringAndMd5sumPrefix_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_SampleInfo::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_SampleInfo>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_._has_bits_);
};

constexpr PerfDataProto_SampleInfo::ParseTableT_ PerfDataProto_SampleInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 pid = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.pid_)}},
      // uint32 tid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.tid_)}},
      // uint64 sample_time_ns = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.sample_time_ns_)}},
      // uint64 id = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.id_)}},
      // uint32 cpu = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.cpu_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 pid = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.pid_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 tid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.tid_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 sample_time_ns = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.sample_time_ns_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 id = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint32 cpu = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.cpu_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_SampleInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        pid_{0u},
        tid_{0u},
        sample_time_ns_{::uint64_t{0u}},
        id_{::uint64_t{0u}},
        cpu_{0u} {}

template <typename>
constexpr PerfDataProto_SampleInfo::PerfDataProto_SampleInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_SampleInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_SampleInfo(arena);
}
constexpr auto PerfDataProto_SampleInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_SampleInfo), alignof(PerfDataProto_SampleInfo));
}
constexpr auto PerfDataProto_SampleInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_SampleInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_SampleInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_SampleInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_SampleInfo>(), &PerfDataProto_SampleInfo::ByteSizeLong,
              &PerfDataProto_SampleInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.SampleInfo",
  };
}
struct PerfDataProto_SampleInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_SampleInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_SampleInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_SampleInfo::InternalGenerateClassData_(
            _default, &PerfDataProto_SampleInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_SampleInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_SampleInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_SampleInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_SampleInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_SampleInfoGlobalsTypeInternal PerfDataProto_SampleInfo_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_SampleInfo_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_SampleInfo_globals_.GetClassData();
#else
  return PerfDataProto_SampleInfo_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfPMUMappingsMetadata::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfPMUMappingsMetadata>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfPMUMappingsMetadata::ParseTableT_ PerfDataProto_PerfPMUMappingsMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967290,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfPMUMappingsMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 type = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 name_md5_prefix = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.name_md5_prefix_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 type = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 name_md5_prefix = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.name_md5_prefix_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfPMUMappingsMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_md5_prefix_{::uint64_t{0u}},
        type_{0u} {}

template <typename>
constexpr PerfDataProto_PerfPMUMappingsMetadata::PerfDataProto_PerfPMUMappingsMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfPMUMappingsMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfPMUMappingsMetadata(arena);
}
constexpr auto PerfDataProto_PerfPMUMappingsMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_PerfPMUMappingsMetadata), alignof(PerfDataProto_PerfPMUMappingsMetadata));
}
constexpr auto PerfDataProto_PerfPMUMappingsMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfPMUMappingsMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfPMUMappingsMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfPMUMappingsMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfPMUMappingsMetadata>(), &PerfDataProto_PerfPMUMappingsMetadata::ByteSizeLong,
              &PerfDataProto_PerfPMUMappingsMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfPMUMappingsMetadata",
  };
}
struct PerfDataProto_PerfPMUMappingsMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfPMUMappingsMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfPMUMappingsMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfPMUMappingsMetadata::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfPMUMappingsMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfPMUMappingsMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfPMUMappingsMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfPMUMappingsMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfPMUMappingsMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfPMUMappingsMetadataGlobalsTypeInternal PerfDataProto_PerfPMUMappingsMetadata_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfPMUMappingsMetadata_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfPMUMappingsMetadata_globals_.GetClassData();
#else
  return PerfDataProto_PerfPMUMappingsMetadata_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfHybridTopologyMetadata::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfHybridTopologyMetadata>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfHybridTopologyMetadata::ParseTableT_ PerfDataProto_PerfHybridTopologyMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967285,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfHybridTopologyMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated uint32 cpu_list = 4;
      {::_pbi::TcParser::FastV32P1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_.cpu_list_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 pmu_name_md5_prefix = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_.pmu_name_md5_prefix_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 pmu_name_md5_prefix = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_.pmu_name_md5_prefix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // repeated uint32 cpu_list = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_.cpu_list_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfHybridTopologyMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cpu_list_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_PerfHybridTopologyMetadata,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfHybridTopologyMetadata, _impl_.cpu_list_)>()
         }
        ,
        _cpu_list_cached_byte_size_{0},
        pmu_name_md5_prefix_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_PerfHybridTopologyMetadata::PerfDataProto_PerfHybridTopologyMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfHybridTopologyMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfHybridTopologyMetadata(arena);
}
constexpr auto PerfDataProto_PerfHybridTopologyMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PerfDataProto_PerfHybridTopologyMetadata), alignof(PerfDataProto_PerfHybridTopologyMetadata));
}
constexpr auto PerfDataProto_PerfHybridTopologyMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfHybridTopologyMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfHybridTopologyMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfHybridTopologyMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfHybridTopologyMetadata>(), &PerfDataProto_PerfHybridTopologyMetadata::ByteSizeLong,
              &PerfDataProto_PerfHybridTopologyMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadata, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfHybridTopologyMetadata",
  };
}
struct PerfDataProto_PerfHybridTopologyMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfHybridTopologyMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfHybridTopologyMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfHybridTopologyMetadata::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfHybridTopologyMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfHybridTopologyMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfHybridTopologyMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfHybridTopologyMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfHybridTopologyMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfHybridTopologyMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfHybridTopologyMetadataGlobalsTypeInternal PerfDataProto_PerfHybridTopologyMetadata_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfHybridTopologyMetadata_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfHybridTopologyMetadata_globals_.GetClassData();
#else
  return PerfDataProto_PerfHybridTopologyMetadata_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfEventType::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfEventType>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfEventType::ParseTableT_ PerfDataProto_PerfEventType::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967290,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventType>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 id = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.id_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 name_md5_prefix = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.name_md5_prefix_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 id = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 name_md5_prefix = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.name_md5_prefix_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfEventType::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        id_{::uint64_t{0u}},
        name_md5_prefix_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_PerfEventType::PerfDataProto_PerfEventType(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfEventType::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfEventType(arena);
}
constexpr auto PerfDataProto_PerfEventType::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_PerfEventType), alignof(PerfDataProto_PerfEventType));
}
constexpr auto PerfDataProto_PerfEventType::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfEventType::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfEventType>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfEventType::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfEventType>(), &PerfDataProto_PerfEventType::ByteSizeLong,
              &PerfDataProto_PerfEventType::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfEventType",
  };
}
struct PerfDataProto_PerfEventTypeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfEventTypeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfEventType_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfEventType::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfEventType_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventType>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfEventTypeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfEventType _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventType>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventTypeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfEventTypeGlobalsTypeInternal PerfDataProto_PerfEventType_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfEventType_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfEventType_globals_.GetClassData();
#else
  return PerfDataProto_PerfEventType_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfEventStats::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfEventStats>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfEventStats::ParseTableT_ PerfDataProto_PerfEventStats::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventStats>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 num_events_read = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_events_read_)}},
      // uint32 num_sample_events = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_sample_events_)}},
      // uint32 num_mmap_events = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_mmap_events_)}},
      // uint32 num_fork_events = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_fork_events_)}},
      // uint32 num_exit_events = 5;
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_exit_events_)}},
      // uint32 num_sample_events_mapped = 6;
      {::_pbi::TcParser::FastV32S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_sample_events_mapped_)}},
      // bool did_remap = 7;
      {::_pbi::TcParser::FastV8S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.did_remap_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 num_events_read = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_events_read_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_sample_events = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_sample_events_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_mmap_events = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_mmap_events_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_fork_events = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_fork_events_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_exit_events = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_exit_events_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 num_sample_events_mapped = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_sample_events_mapped_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bool did_remap = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.did_remap_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfEventStats::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        num_events_read_{0u},
        num_sample_events_{0u},
        num_mmap_events_{0u},
        num_fork_events_{0u},
        num_exit_events_{0u},
        num_sample_events_mapped_{0u},
        did_remap_{false} {}

template <typename>
constexpr PerfDataProto_PerfEventStats::PerfDataProto_PerfEventStats(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfEventStats::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfEventStats(arena);
}
constexpr auto PerfDataProto_PerfEventStats::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_PerfEventStats), alignof(PerfDataProto_PerfEventStats));
}
constexpr auto PerfDataProto_PerfEventStats::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfEventStats::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfEventStats>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfEventStats::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfEventStats>(), &PerfDataProto_PerfEventStats::ByteSizeLong,
              &PerfDataProto_PerfEventStats::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfEventStats",
  };
}
struct PerfDataProto_PerfEventStatsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfEventStatsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfEventStats_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfEventStats::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfEventStats_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventStats>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfEventStatsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfEventStats _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventStats>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStatsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfEventStatsGlobalsTypeInternal PerfDataProto_PerfEventStats_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfEventStats_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfEventStats_globals_.GetClassData();
#else
  return PerfDataProto_PerfEventStats_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfEventAttr::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfEventAttr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfEventAttr::ParseTableT_ PerfDataProto_PerfEventAttr::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_._has_bits_),
      0, // no _extensions_
      35, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      0,  // skipmap
      offsetof(ParseTableT_, field_entries),
      35,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventAttr>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 type = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.type_)}},
      // uint32 size = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.size_)}},
      // uint64 config = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.config_)}},
      // uint64 sample_period = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_period_)}},
      // uint64 sample_freq = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_freq_)}},
      // uint64 sample_type = 6;
      {::_pbi::TcParser::FastV64S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_type_)}},
      // uint64 read_format = 7;
      {::_pbi::TcParser::FastV64S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.read_format_)}},
      // bool disabled = 8;
      {::_pbi::TcParser::FastV8S1,
       {64, 7, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.disabled_)}},
      // bool inherit = 9;
      {::_pbi::TcParser::FastV8S1,
       {72, 8, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.inherit_)}},
      // bool pinned = 10;
      {::_pbi::TcParser::FastV8S1,
       {80, 9, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.pinned_)}},
      // bool exclusive = 11;
      {::_pbi::TcParser::FastV8S1,
       {88, 10, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclusive_)}},
      // bool exclude_user = 12;
      {::_pbi::TcParser::FastV8S1,
       {96, 11, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_user_)}},
      // bool exclude_kernel = 13;
      {::_pbi::TcParser::FastV8S1,
       {104, 12, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_kernel_)}},
      // bool exclude_hv = 14;
      {::_pbi::TcParser::FastV8S1,
       {112, 13, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_hv_)}},
      // bool exclude_idle = 15;
      {::_pbi::TcParser::FastV8S1,
       {120, 14, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_idle_)}},
      // bool mmap = 16;
      {::_pbi::TcParser::FastV8S2,
       {384, 15, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.mmap_)}},
      // bool comm = 17;
      {::_pbi::TcParser::FastV8S2,
       {392, 16, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.comm_)}},
      // bool freq = 18;
      {::_pbi::TcParser::FastV8S2,
       {400, 17, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.freq_)}},
      // bool inherit_stat = 19;
      {::_pbi::TcParser::FastV8S2,
       {408, 18, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.inherit_stat_)}},
      // bool enable_on_exec = 20;
      {::_pbi::TcParser::FastV8S2,
       {416, 19, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.enable_on_exec_)}},
      // bool task = 21;
      {::_pbi::TcParser::FastV8S2,
       {424, 20, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.task_)}},
      // bool watermark = 22;
      {::_pbi::TcParser::FastV8S2,
       {432, 21, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.watermark_)}},
      // uint32 precise_ip = 23;
      {::_pbi::TcParser::FastV32S2,
       {440, 23, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.precise_ip_)}},
      // bool mmap_data = 24;
      {::_pbi::TcParser::FastV8S2,
       {448, 22, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.mmap_data_)}},
      // bool sample_id_all = 25;
      {::_pbi::TcParser::FastV8S2,
       {456, 24, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_id_all_)}},
      // bool exclude_host = 26;
      {::_pbi::TcParser::FastV8S2,
       {464, 25, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_host_)}},
      // bool exclude_guest = 27;
      {::_pbi::TcParser::FastV8S2,
       {472, 26, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_guest_)}},
      // uint32 wakeup_events = 28;
      {::_pbi::TcParser::FastV32S2,
       {480, 27, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.wakeup_events_)}},
      // uint32 wakeup_watermark = 29;
      {::_pbi::TcParser::FastV32S2,
       {488, 28, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.wakeup_watermark_)}},
      // uint32 bp_type = 30;
      {::_pbi::TcParser::FastV32S2,
       {496, 30, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.bp_type_)}},
      // uint64 bp_addr = 31;
      {::_pbi::TcParser::FastV64S2,
       {504, 29, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.bp_addr_)}},
    }}, {{
      33, 0, 1,
      65528, 32,
      65535, 65535
    }}, {{
      // uint32 type = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 size = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.size_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 config = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.config_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 sample_period = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_period_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 sample_freq = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_freq_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 sample_type = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_type_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 read_format = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.read_format_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // bool disabled = 8;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.disabled_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool inherit = 9;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.inherit_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool pinned = 10;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.pinned_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclusive = 11;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclusive_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_user = 12;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_user_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_kernel = 13;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_kernel_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_hv = 14;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_hv_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_idle = 15;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_idle_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool mmap = 16;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.mmap_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool comm = 17;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.comm_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool freq = 18;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.freq_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool inherit_stat = 19;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.inherit_stat_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool enable_on_exec = 20;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.enable_on_exec_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool task = 21;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.task_), _Internal::kHasBitsOffset + 20, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool watermark = 22;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.watermark_), _Internal::kHasBitsOffset + 21, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 precise_ip = 23;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.precise_ip_), _Internal::kHasBitsOffset + 23, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bool mmap_data = 24;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.mmap_data_), _Internal::kHasBitsOffset + 22, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool sample_id_all = 25;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.sample_id_all_), _Internal::kHasBitsOffset + 24, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_host = 26;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_host_), _Internal::kHasBitsOffset + 25, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool exclude_guest = 27;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.exclude_guest_), _Internal::kHasBitsOffset + 26, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 wakeup_events = 28;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.wakeup_events_), _Internal::kHasBitsOffset + 27, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 wakeup_watermark = 29;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.wakeup_watermark_), _Internal::kHasBitsOffset + 28, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 bp_type = 30;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.bp_type_), _Internal::kHasBitsOffset + 30, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 bp_addr = 31;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.bp_addr_), _Internal::kHasBitsOffset + 29, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 config1 = 32;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.config1_), _Internal::kHasBitsOffset + 31, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 bp_len = 33;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.bp_len_), _Internal::kHasBitsOffset + 32, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 config2 = 34;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.config2_), _Internal::kHasBitsOffset + 33, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 branch_sample_type = 35;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.branch_sample_type_), _Internal::kHasBitsOffset + 34, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfEventAttr::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_{0u},
        size_{0u},
        config_{::uint64_t{0u}},
        sample_period_{::uint64_t{0u}},
        sample_freq_{::uint64_t{0u}},
        sample_type_{::uint64_t{0u}},
        read_format_{::uint64_t{0u}},
        disabled_{false},
        inherit_{false},
        pinned_{false},
        exclusive_{false},
        exclude_user_{false},
        exclude_kernel_{false},
        exclude_hv_{false},
        exclude_idle_{false},
        mmap_{false},
        comm_{false},
        freq_{false},
        inherit_stat_{false},
        enable_on_exec_{false},
        task_{false},
        watermark_{false},
        mmap_data_{false},
        precise_ip_{0u},
        sample_id_all_{false},
        exclude_host_{false},
        exclude_guest_{false},
        wakeup_events_{0u},
        wakeup_watermark_{0u},
        bp_addr_{::uint64_t{0u}},
        bp_type_{0u},
        config1_{::uint64_t{0u}},
        bp_len_{::uint64_t{0u}},
        config2_{::uint64_t{0u}},
        branch_sample_type_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_PerfEventAttr::PerfDataProto_PerfEventAttr(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfEventAttr::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfEventAttr(arena);
}
constexpr auto PerfDataProto_PerfEventAttr::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_PerfEventAttr), alignof(PerfDataProto_PerfEventAttr));
}
constexpr auto PerfDataProto_PerfEventAttr::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfEventAttr::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfEventAttr>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfEventAttr::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfEventAttr>(), &PerfDataProto_PerfEventAttr::ByteSizeLong,
              &PerfDataProto_PerfEventAttr::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfEventAttr",
  };
}
struct PerfDataProto_PerfEventAttrGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfEventAttrGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfEventAttr_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfEventAttr::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfEventAttr_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventAttr>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfEventAttrGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfEventAttr _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEventAttr>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttrGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfEventAttrGlobalsTypeInternal PerfDataProto_PerfEventAttr_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfEventAttr_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfEventAttr_globals_.GetClassData();
#else
  return PerfDataProto_PerfEventAttr_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfBuildID::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfBuildID>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfBuildID::ParseTableT_ PerfDataProto_PerfBuildID::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfBuildID>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 misc = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.misc_)}},
      // uint32 pid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.pid_)}},
      // bytes build_id_hash = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.build_id_hash_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 filename_md5_prefix = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.filename_md5_prefix_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 misc = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.misc_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 pid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.pid_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bytes build_id_hash = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.build_id_hash_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // uint64 filename_md5_prefix = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.filename_md5_prefix_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfBuildID::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        build_id_hash_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        misc_{0u},
        pid_{0u},
        filename_md5_prefix_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_PerfBuildID::PerfDataProto_PerfBuildID(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfBuildID::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfBuildID(arena);
}
constexpr auto PerfDataProto_PerfBuildID::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PerfDataProto_PerfBuildID), alignof(PerfDataProto_PerfBuildID));
}
constexpr auto PerfDataProto_PerfBuildID::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfBuildID::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfBuildID>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfBuildID::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfBuildID>(), &PerfDataProto_PerfBuildID::ByteSizeLong,
              &PerfDataProto_PerfBuildID::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfBuildID",
  };
}
struct PerfDataProto_PerfBuildIDGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfBuildIDGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfBuildID_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfBuildID::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfBuildID_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfBuildID>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfBuildIDGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfBuildID _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfBuildID>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildIDGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfBuildIDGlobalsTypeInternal PerfDataProto_PerfBuildID_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfBuildID_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfBuildID_globals_.GetClassData();
#else
  return PerfDataProto_PerfBuildID_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_EventHeader::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_EventHeader>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_._has_bits_);
};

constexpr PerfDataProto_EventHeader::ParseTableT_ PerfDataProto_EventHeader::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_EventHeader>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 type = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.type_)}},
      // uint32 misc = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.misc_)}},
      // uint32 size = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.size_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 type = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 misc = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.misc_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 size = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.size_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_EventHeader::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_{0u},
        misc_{0u},
        size_{0u} {}

template <typename>
constexpr PerfDataProto_EventHeader::PerfDataProto_EventHeader(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_EventHeader::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_EventHeader(arena);
}
constexpr auto PerfDataProto_EventHeader::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_EventHeader), alignof(PerfDataProto_EventHeader));
}
constexpr auto PerfDataProto_EventHeader::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_EventHeader::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_EventHeader>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_EventHeader::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_EventHeader>(), &PerfDataProto_EventHeader::ByteSizeLong,
              &PerfDataProto_EventHeader::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.EventHeader",
  };
}
struct PerfDataProto_EventHeaderGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_EventHeaderGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_EventHeader_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_EventHeader::InternalGenerateClassData_(
            _default, &PerfDataProto_EventHeader_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_EventHeader>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_EventHeaderGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_EventHeader _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_EventHeader>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeaderGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_EventHeaderGlobalsTypeInternal PerfDataProto_EventHeader_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_EventHeader_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_EventHeader_globals_.GetClassData();
#else
  return PerfDataProto_EventHeader_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_BranchStackEntry::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_BranchStackEntry>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_._has_bits_);
};

constexpr PerfDataProto_BranchStackEntry::ParseTableT_ PerfDataProto_BranchStackEntry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_BranchStackEntry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 from_ip = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.from_ip_)}},
      // uint64 to_ip = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.to_ip_)}},
      // bool mispredicted = 3;
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.mispredicted_)}},
      // bool predicted = 4;
      {::_pbi::TcParser::FastV8S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.predicted_)}},
      // bool in_transaction = 5;
      {::_pbi::TcParser::FastV8S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.in_transaction_)}},
      // bool abort = 6;
      {::_pbi::TcParser::FastV8S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.abort_)}},
      // uint32 cycles = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.cycles_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 from_ip = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.from_ip_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 to_ip = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.to_ip_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // bool mispredicted = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.mispredicted_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool predicted = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.predicted_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool in_transaction = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.in_transaction_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool abort = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.abort_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 cycles = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.cycles_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PerfDataProto_BranchStackEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        from_ip_{::uint64_t{0u}},
        to_ip_{::uint64_t{0u}},
        mispredicted_{false},
        predicted_{false},
        in_transaction_{false},
        abort_{false},
        cycles_{0u} {}

template <typename>
constexpr PerfDataProto_BranchStackEntry::PerfDataProto_BranchStackEntry(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_BranchStackEntry::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_BranchStackEntry(arena);
}
constexpr auto PerfDataProto_BranchStackEntry::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_BranchStackEntry), alignof(PerfDataProto_BranchStackEntry));
}
constexpr auto PerfDataProto_BranchStackEntry::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_BranchStackEntry::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_BranchStackEntry>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_BranchStackEntry::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_BranchStackEntry>(), &PerfDataProto_BranchStackEntry::ByteSizeLong,
              &PerfDataProto_BranchStackEntry::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.BranchStackEntry",
  };
}
struct PerfDataProto_BranchStackEntryGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_BranchStackEntryGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_BranchStackEntry_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_BranchStackEntry::InternalGenerateClassData_(
            _default, &PerfDataProto_BranchStackEntry_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_BranchStackEntry>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_BranchStackEntryGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_BranchStackEntry _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_BranchStackEntry>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntryGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_BranchStackEntryGlobalsTypeInternal PerfDataProto_BranchStackEntry_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_BranchStackEntry_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_BranchStackEntry_globals_.GetClassData();
#else
  return PerfDataProto_BranchStackEntry_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_ThrottleEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_ThrottleEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_ThrottleEvent::ParseTableT_ PerfDataProto_ThrottleEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_ThrottleEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .metrics.PerfDataProto.SampleInfo sample_info = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.sample_info_)}},
      // uint64 time_ns = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.time_ns_)}},
      // uint64 id = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.id_)}},
      // uint64 stream_id = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.stream_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 time_ns = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.time_ns_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 id = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 stream_id = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.stream_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.SampleInfo sample_info = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.sample_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_ThrottleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_info_{nullptr},
        time_ns_{::uint64_t{0u}},
        id_{::uint64_t{0u}},
        stream_id_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_ThrottleEvent::PerfDataProto_ThrottleEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_ThrottleEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_ThrottleEvent(arena);
}
constexpr auto PerfDataProto_ThrottleEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_ThrottleEvent), alignof(PerfDataProto_ThrottleEvent));
}
constexpr auto PerfDataProto_ThrottleEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_ThrottleEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_ThrottleEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_ThrottleEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_ThrottleEvent>(), &PerfDataProto_ThrottleEvent::ByteSizeLong,
              &PerfDataProto_ThrottleEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.ThrottleEvent",
  };
}
struct PerfDataProto_ThrottleEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_ThrottleEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_ThrottleEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_ThrottleEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_ThrottleEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_ThrottleEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_ThrottleEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_ThrottleEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_ThrottleEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_ThrottleEventGlobalsTypeInternal PerfDataProto_ThrottleEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_ThrottleEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_ThrottleEvent_globals_.GetClassData();
#else
  return PerfDataProto_ThrottleEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_StringMetadata::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_StringMetadata>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata, _impl_._has_bits_);
};

constexpr PerfDataProto_StringMetadata::ParseTableT_ PerfDataProto_StringMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata, _impl_._has_bits_),
      0, // no _extensions_
      8, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967167,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_StringMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix perf_command_line_whole = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata, _impl_.perf_command_line_whole_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix perf_command_line_whole = 8;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata, _impl_.perf_command_line_whole_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_StringMetadata_StringAndMd5sumPrefix>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_StringMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        perf_command_line_whole_{nullptr} {}

template <typename>
constexpr PerfDataProto_StringMetadata::PerfDataProto_StringMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_StringMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_StringMetadata(arena);
}
constexpr auto PerfDataProto_StringMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_StringMetadata), alignof(PerfDataProto_StringMetadata));
}
constexpr auto PerfDataProto_StringMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_StringMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_StringMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_StringMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_StringMetadata>(), &PerfDataProto_StringMetadata::ByteSizeLong,
              &PerfDataProto_StringMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadata, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.StringMetadata",
  };
}
struct PerfDataProto_StringMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_StringMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_StringMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_StringMetadata::InternalGenerateClassData_(
            _default, &PerfDataProto_StringMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_StringMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_StringMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_StringMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_StringMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_StringMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_StringMetadataGlobalsTypeInternal PerfDataProto_StringMetadata_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_StringMetadata_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_StringMetadata_globals_.GetClassData();
#else
  return PerfDataProto_StringMetadata_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_SampleEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_SampleEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_SampleEvent::ParseTableT_ PerfDataProto_SampleEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_._has_bits_),
      0, // no _extensions_
      17, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294848512,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 data_src = 16;
      {::_pbi::TcParser::FastV64S2,
       {384, 13, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.data_src_)}},
      // uint64 ip = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.ip_)}},
      // uint32 pid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.pid_)}},
      // uint32 tid = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.tid_)}},
      // uint64 sample_time_ns = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.sample_time_ns_)}},
      // uint64 addr = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.addr_)}},
      // uint64 id = 6;
      {::_pbi::TcParser::FastV64S1,
       {48, 7, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.id_)}},
      // uint64 stream_id = 7;
      {::_pbi::TcParser::FastV64S1,
       {56, 8, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.stream_id_)}},
      // uint64 period = 8;
      {::_pbi::TcParser::FastV64S1,
       {64, 9, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.period_)}},
      // uint32 cpu = 9;
      {::_pbi::TcParser::FastV32S1,
       {72, 10, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.cpu_)}},
      // uint32 raw_size = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 11, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.raw_size_)}},
      // repeated uint64 callchain = 11;
      {::_pbi::TcParser::FastV64P1,
       {90, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.callchain_)}},
      // repeated .metrics.PerfDataProto.BranchStackEntry branch_stack = 12;
      {::_pbi::TcParser::FastMtR1,
       {98, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.branch_stack_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 weight = 15;
      {::_pbi::TcParser::FastV64S1,
       {120, 12, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.weight_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 ip = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.ip_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint32 pid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.pid_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 tid = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.tid_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 sample_time_ns = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.sample_time_ns_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 addr = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.addr_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 id = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.id_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 stream_id = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.stream_id_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 period = 8;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.period_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint32 cpu = 9;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.cpu_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 raw_size = 10;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.raw_size_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated uint64 callchain = 11;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.callchain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
      // repeated .metrics.PerfDataProto.BranchStackEntry branch_stack = 12;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.branch_stack_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 weight = 15;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.weight_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 data_src = 16;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.data_src_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 transaction = 17;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.transaction_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_BranchStackEntry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_BranchStackEntry_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_SampleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        callchain_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_SampleEvent,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.callchain_)>()
         }
        ,
        _callchain_cached_byte_size_{0},
        branch_stack_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_SampleEvent,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.branch_stack_)>()
         }
        ,
        ip_{::uint64_t{0u}},
        pid_{0u},
        tid_{0u},
        sample_time_ns_{::uint64_t{0u}},
        addr_{::uint64_t{0u}},
        id_{::uint64_t{0u}},
        stream_id_{::uint64_t{0u}},
        period_{::uint64_t{0u}},
        cpu_{0u},
        raw_size_{0u},
        weight_{::uint64_t{0u}},
        data_src_{::uint64_t{0u}},
        transaction_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_SampleEvent::PerfDataProto_SampleEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_SampleEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_SampleEvent(arena);
}
constexpr auto PerfDataProto_SampleEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PerfDataProto_SampleEvent), alignof(PerfDataProto_SampleEvent));
}
constexpr auto PerfDataProto_SampleEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_SampleEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_SampleEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_SampleEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_SampleEvent>(), &PerfDataProto_SampleEvent::ByteSizeLong,
              &PerfDataProto_SampleEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.SampleEvent",
  };
}
struct PerfDataProto_SampleEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_SampleEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_SampleEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_SampleEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_SampleEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_SampleEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_SampleEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_SampleEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_SampleEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_SampleEventGlobalsTypeInternal PerfDataProto_SampleEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_SampleEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_SampleEvent_globals_.GetClassData();
#else
  return PerfDataProto_SampleEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfFileAttr::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfFileAttr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_._has_bits_);
};

constexpr PerfDataProto_PerfFileAttr::ParseTableT_ PerfDataProto_PerfFileAttr::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfFileAttr>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated uint64 ids = 2;
      {::_pbi::TcParser::FastV64P1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_.ids_)}},
      // .metrics.PerfDataProto.PerfEventAttr attr = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_.attr_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .metrics.PerfDataProto.PerfEventAttr attr = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_.attr_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated uint64 ids = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_.ids_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventAttr>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfEventAttr_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfFileAttr::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_PerfFileAttr,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfFileAttr, _impl_.ids_)>()
         }
        ,
        _ids_cached_byte_size_{0},
        attr_{nullptr} {}

template <typename>
constexpr PerfDataProto_PerfFileAttr::PerfDataProto_PerfFileAttr(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfFileAttr::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfFileAttr(arena);
}
constexpr auto PerfDataProto_PerfFileAttr::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PerfDataProto_PerfFileAttr), alignof(PerfDataProto_PerfFileAttr));
}
constexpr auto PerfDataProto_PerfFileAttr::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfFileAttr::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfFileAttr>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfFileAttr::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfFileAttr>(), &PerfDataProto_PerfFileAttr::ByteSizeLong,
              &PerfDataProto_PerfFileAttr::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttr, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfFileAttr",
  };
}
struct PerfDataProto_PerfFileAttrGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfFileAttrGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfFileAttr_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfFileAttr::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfFileAttr_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfFileAttr>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfFileAttrGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfFileAttr _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfFileAttr>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfFileAttrGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfFileAttrGlobalsTypeInternal PerfDataProto_PerfFileAttr_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfFileAttr_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfFileAttr_globals_.GetClassData();
#else
  return PerfDataProto_PerfFileAttr_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_MMapEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_MMapEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_MMapEvent::ParseTableT_ PerfDataProto_MMapEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_._has_bits_),
      0, // no _extensions_
      16, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294934304,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_MMapEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 root_path_md5_prefix = 16;
      {::_pbi::TcParser::FastV64S2,
       {384, 7, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.root_path_md5_prefix_)}},
      // uint32 pid = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.pid_)}},
      // uint32 tid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.tid_)}},
      // uint64 start = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.start_)}},
      // uint64 len = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.len_)}},
      // uint64 pgoff = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.pgoff_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 filename_md5_prefix = 7;
      {::_pbi::TcParser::FastV64S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.filename_md5_prefix_)}},
      // .metrics.PerfDataProto.SampleInfo sample_info = 8;
      {::_pbi::TcParser::FastMtS1,
       {66, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.sample_info_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 pid = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.pid_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 tid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.tid_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 start = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.start_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 len = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.len_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 pgoff = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.pgoff_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 filename_md5_prefix = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.filename_md5_prefix_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.SampleInfo sample_info = 8;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.sample_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 root_path_md5_prefix = 16;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.root_path_md5_prefix_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_MMapEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_info_{nullptr},
        pid_{0u},
        tid_{0u},
        start_{::uint64_t{0u}},
        len_{::uint64_t{0u}},
        pgoff_{::uint64_t{0u}},
        filename_md5_prefix_{::uint64_t{0u}},
        root_path_md5_prefix_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_MMapEvent::PerfDataProto_MMapEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_MMapEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_MMapEvent(arena);
}
constexpr auto PerfDataProto_MMapEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_MMapEvent), alignof(PerfDataProto_MMapEvent));
}
constexpr auto PerfDataProto_MMapEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_MMapEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_MMapEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_MMapEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_MMapEvent>(), &PerfDataProto_MMapEvent::ByteSizeLong,
              &PerfDataProto_MMapEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.MMapEvent",
  };
}
struct PerfDataProto_MMapEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_MMapEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_MMapEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_MMapEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_MMapEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_MMapEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_MMapEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_MMapEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_MMapEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_MMapEventGlobalsTypeInternal PerfDataProto_MMapEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_MMapEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_MMapEvent_globals_.GetClassData();
#else
  return PerfDataProto_MMapEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_LostEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_LostEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_LostEvent::ParseTableT_ PerfDataProto_LostEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_LostEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 id = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.id_)}},
      // uint64 lost = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.lost_)}},
      // .metrics.PerfDataProto.SampleInfo sample_info = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.sample_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 id = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 lost = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.lost_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.SampleInfo sample_info = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.sample_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_LostEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_info_{nullptr},
        id_{::uint64_t{0u}},
        lost_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_LostEvent::PerfDataProto_LostEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_LostEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_LostEvent(arena);
}
constexpr auto PerfDataProto_LostEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_LostEvent), alignof(PerfDataProto_LostEvent));
}
constexpr auto PerfDataProto_LostEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_LostEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_LostEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_LostEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_LostEvent>(), &PerfDataProto_LostEvent::ByteSizeLong,
              &PerfDataProto_LostEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.LostEvent",
  };
}
struct PerfDataProto_LostEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_LostEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_LostEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_LostEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_LostEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_LostEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_LostEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_LostEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_LostEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_LostEventGlobalsTypeInternal PerfDataProto_LostEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_LostEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_LostEvent_globals_.GetClassData();
#else
  return PerfDataProto_LostEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_ForkEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_ForkEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_ForkEvent::ParseTableT_ PerfDataProto_ForkEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_._has_bits_),
      0, // no _extensions_
      11, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966240,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_ForkEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 pid = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.pid_)}},
      // uint32 ppid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.ppid_)}},
      // uint32 tid = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.tid_)}},
      // uint32 ptid = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.ptid_)}},
      // uint64 fork_time_ns = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.fork_time_ns_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 pid = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.pid_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 ppid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.ppid_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 tid = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.tid_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 ptid = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.ptid_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 fork_time_ns = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.fork_time_ns_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.SampleInfo sample_info = 11;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.sample_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_ForkEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_info_{nullptr},
        pid_{0u},
        ppid_{0u},
        tid_{0u},
        ptid_{0u},
        fork_time_ns_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_ForkEvent::PerfDataProto_ForkEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_ForkEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_ForkEvent(arena);
}
constexpr auto PerfDataProto_ForkEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_ForkEvent), alignof(PerfDataProto_ForkEvent));
}
constexpr auto PerfDataProto_ForkEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_ForkEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_ForkEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_ForkEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_ForkEvent>(), &PerfDataProto_ForkEvent::ByteSizeLong,
              &PerfDataProto_ForkEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.ForkEvent",
  };
}
struct PerfDataProto_ForkEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_ForkEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_ForkEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_ForkEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_ForkEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_ForkEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_ForkEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_ForkEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_ForkEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_ForkEventGlobalsTypeInternal PerfDataProto_ForkEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_ForkEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_ForkEvent_globals_.GetClassData();
#else
  return PerfDataProto_ForkEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_CommEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_CommEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_._has_bits_);
};

constexpr PerfDataProto_CommEvent::ParseTableT_ PerfDataProto_CommEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967236,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_CommEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 pid = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.pid_)}},
      // uint32 tid = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.tid_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // uint64 comm_md5_prefix = 4;
      {::_pbi::TcParser::FastV64S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.comm_md5_prefix_)}},
      // uint64 sample_time = 5 [deprecated = true];
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_time_)}},
      // .metrics.PerfDataProto.SampleInfo sample_info = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_info_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 pid = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.pid_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 tid = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.tid_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 comm_md5_prefix = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.comm_md5_prefix_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 sample_time = 5 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_time_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.SampleInfo sample_info = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_CommEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sample_info_{nullptr},
        pid_{0u},
        tid_{0u},
        comm_md5_prefix_{::uint64_t{0u}},
        sample_time_{::uint64_t{0u}} {}

template <typename>
constexpr PerfDataProto_CommEvent::PerfDataProto_CommEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_CommEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_CommEvent(arena);
}
constexpr auto PerfDataProto_CommEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_CommEvent), alignof(PerfDataProto_CommEvent));
}
constexpr auto PerfDataProto_CommEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_CommEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_CommEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_CommEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_CommEvent>(), &PerfDataProto_CommEvent::ByteSizeLong,
              &PerfDataProto_CommEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.CommEvent",
  };
}
struct PerfDataProto_CommEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_CommEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_CommEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_CommEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_CommEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_CommEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_CommEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_CommEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_CommEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_CommEventGlobalsTypeInternal PerfDataProto_CommEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_CommEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_CommEvent_globals_.GetClassData();
#else
  return PerfDataProto_CommEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto_PerfEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto_PerfEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfEvent, _impl_._oneof_case_);
};

constexpr PerfDataProto_PerfEvent::ParseTableT_ PerfDataProto_PerfEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_._has_bits_),
      0, // no _extensions_
      10, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966400,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      8,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 timestamp = 10;
      {::_pbi::TcParser::FastV64S1,
       {80, 1, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.timestamp_)}},
      // .metrics.PerfDataProto.EventHeader header = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.header_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .metrics.PerfDataProto.EventHeader header = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.header_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.MMapEvent mmap_event = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.mmap_event_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.SampleEvent sample_event = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.sample_event_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.CommEvent comm_event = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.comm_event_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.ForkEvent fork_event = 5;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.fork_event_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.LostEvent lost_event = 6;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.lost_event_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.ThrottleEvent throttle_event = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.throttle_event_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.ForkEvent exit_event = 9;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.event_type_.exit_event_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 timestamp = 10;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.timestamp_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_EventHeader>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_EventHeader_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_MMapEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_MMapEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_SampleEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_SampleEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_CommEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_CommEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_ForkEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_ForkEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_LostEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_LostEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_ThrottleEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_ThrottleEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_ForkEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_ForkEvent_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto_PerfEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        header_{nullptr},
        timestamp_{::uint64_t{0u}},
        event_type_{},
        _oneof_case_{} {}

template <typename>
constexpr PerfDataProto_PerfEvent::PerfDataProto_PerfEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto_PerfEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto_PerfEvent(arena);
}
constexpr auto PerfDataProto_PerfEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PerfDataProto_PerfEvent), alignof(PerfDataProto_PerfEvent));
}
constexpr auto PerfDataProto_PerfEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto_PerfEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto_PerfEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto_PerfEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto_PerfEvent>(), &PerfDataProto_PerfEvent::ByteSizeLong,
              &PerfDataProto_PerfEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto.PerfEvent",
  };
}
struct PerfDataProto_PerfEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProto_PerfEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_PerfEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto_PerfEvent::InternalGenerateClassData_(
            _default, &PerfDataProto_PerfEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProto_PerfEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto_PerfEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto_PerfEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProto_PerfEventGlobalsTypeInternal PerfDataProto_PerfEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_PerfEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_PerfEvent_globals_.GetClassData();
#else
  return PerfDataProto_PerfEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class PerfDataProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<PerfDataProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_._has_bits_);
};

constexpr PerfDataProto::ParseTableT_ PerfDataProto::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_._has_bits_),
      0, // no _extensions_
      17, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294880688,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      8,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::metrics::PerfDataProto>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .metrics.PerfDataProto.PerfFileAttr file_attrs = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.file_attrs_)}},
      // repeated .metrics.PerfDataProto.PerfEvent events = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.events_)}},
      // uint64 timestamp_sec = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 7, 0,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.timestamp_sec_)}},
      // .metrics.PerfDataProto.PerfEventStats stats = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 5, 2,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.stats_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .metrics.PerfDataProto.PerfBuildID build_ids = 7;
      {::_pbi::TcParser::FastMtR1,
       {58, 2, 3,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.build_ids_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .metrics.PerfDataProto.PerfEventType event_types = 10;
      {::_pbi::TcParser::FastMtR1,
       {82, 3, 4,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.event_types_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // .metrics.PerfDataProto.StringMetadata string_metadata = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 6, 5,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.string_metadata_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .metrics.PerfDataProto.PerfPMUMappingsMetadata pmu_mappings = 15;
      {::_pbi::TcParser::FastMtR1,
       {122, 4, 6,
        PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.pmu_mappings_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .metrics.PerfDataProto.PerfFileAttr file_attrs = 1;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.file_attrs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.PerfDataProto.PerfEvent events = 2;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.events_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 timestamp_sec = 3;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.timestamp_sec_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // .metrics.PerfDataProto.PerfEventStats stats = 4;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.stats_), _Internal::kHasBitsOffset + 5, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.PerfDataProto.PerfBuildID build_ids = 7;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.build_ids_), _Internal::kHasBitsOffset + 2, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.PerfDataProto.PerfEventType event_types = 10;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.event_types_), _Internal::kHasBitsOffset + 3, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .metrics.PerfDataProto.StringMetadata string_metadata = 13;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.string_metadata_), _Internal::kHasBitsOffset + 6, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.PerfDataProto.PerfPMUMappingsMetadata pmu_mappings = 15;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.pmu_mappings_), _Internal::kHasBitsOffset + 4, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .metrics.PerfDataProto.PerfHybridTopologyMetadata hybrid_topology = 17;
      {PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.hybrid_topology_), _Internal::kHasBitsOffset + 8, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfFileAttr>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfFileAttr_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfEvent_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventStats>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfEventStats_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfBuildID>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfBuildID_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfEventType>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfEventType_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_StringMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_StringMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfPMUMappingsMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfPMUMappingsMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::metrics::PerfDataProto_PerfHybridTopologyMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::metrics::PerfDataProto_PerfHybridTopologyMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PerfDataProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        file_attrs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.file_attrs_)>()
         }
        ,
        events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.events_)>()
         }
        ,
        build_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.build_ids_)>()
         }
        ,
        event_types_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.event_types_)>()
         }
        ,
        pmu_mappings_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.pmu_mappings_)>()
         }
        ,
        stats_{nullptr},
        string_metadata_{nullptr},
        timestamp_sec_{::uint64_t{0u}},
        hybrid_topology_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.hybrid_topology_)>()
         }
     {}

template <typename>
constexpr PerfDataProto::PerfDataProto(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PerfDataProto::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PerfDataProto(arena);
}
constexpr auto PerfDataProto::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PerfDataProto), alignof(PerfDataProto));
}
constexpr auto PerfDataProto::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PerfDataProto::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PerfDataProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PerfDataProto::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PerfDataProto>(), &PerfDataProto::ByteSizeLong,
              &PerfDataProto::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_._cached_size_),
          true,
      },
      "metrics.PerfDataProto",
  };
}
struct PerfDataProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PerfDataProtoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PerfDataProto_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PerfDataProto::InternalGenerateClassData_(
            _default, &PerfDataProto_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PerfDataProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PerfDataProto _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PerfDataProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PerfDataProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST PerfDataProtoGlobalsTypeInternal PerfDataProto_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* PerfDataProto_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return PerfDataProto_globals_.GetClassData();
#else
  return PerfDataProto_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace metrics
namespace metrics {
// ===================================================================

PerfDataProto_PerfEventAttr::PerfDataProto_PerfEventAttr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventAttr_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfEventAttr)
}
PerfDataProto_PerfEventAttr::PerfDataProto_PerfEventAttr(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_PerfEventAttr& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventAttr_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfEventAttr::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_PerfEventAttr::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, type_),
           0,
           offsetof(Impl_, branch_sample_type_) -
               offsetof(Impl_, type_) +
               sizeof(Impl_::branch_sample_type_));
}
PerfDataProto_PerfEventAttr::~PerfDataProto_PerfEventAttr() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfEventAttr)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfEventAttr::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfEventAttr& this_ = static_cast<PerfDataProto_PerfEventAttr&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfEventAttr_class_data_ =
    PerfDataProto_PerfEventAttr::InternalGenerateClassData_(PerfDataProto_PerfEventAttr_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventAttr::GetClassData() const {
  return PerfDataProto_PerfEventAttr_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventAttr::GetClassData() const {
  return PerfDataProto_PerfEventAttr_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfEventAttr::ParseTableT_
    PerfDataProto_PerfEventAttr::_table_ =
        PerfDataProto_PerfEventAttr::InternalGenerateParseTable_(PerfDataProto_PerfEventAttr_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfEventAttr::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfEventAttr)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&_impl_.type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.disabled_) -
        reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.disabled_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.inherit_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.mmap_) -
        reinterpret_cast<char*>(&_impl_.inherit_)) + sizeof(_impl_.mmap_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    ::memset(&_impl_.comm_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.precise_ip_) -
        reinterpret_cast<char*>(&_impl_.comm_)) + sizeof(_impl_.precise_ip_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    ::memset(&_impl_.sample_id_all_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.config1_) -
        reinterpret_cast<char*>(&_impl_.sample_id_all_)) + sizeof(_impl_.config1_));
  }
  cached_has_bits = _impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.bp_len_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.branch_sample_type_) -
        reinterpret_cast<char*>(&_impl_.bp_len_)) + sizeof(_impl_.branch_sample_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventAttr::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfEventAttr& this_ = static_cast<const PerfDataProto_PerfEventAttr&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventAttr::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfEventAttr& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfEventAttr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_type(), target);
  }

  // uint32 size = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_size(), target);
  }

  // uint64 config = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_config(), target);
  }

  // uint64 sample_period = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_sample_period(), target);
  }

  // uint64 sample_freq = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_sample_freq(), target);
  }

  // uint64 sample_type = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this_._internal_sample_type(), target);
  }

  // uint64 read_format = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this_._internal_read_format(), target);
  }

  // bool disabled = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this_._internal_disabled(), target);
  }

  // bool inherit = 9;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        9, this_._internal_inherit(), target);
  }

  // bool pinned = 10;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this_._internal_pinned(), target);
  }

  // bool exclusive = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this_._internal_exclusive(), target);
  }

  // bool exclude_user = 12;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this_._internal_exclude_user(), target);
  }

  // bool exclude_kernel = 13;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this_._internal_exclude_kernel(), target);
  }

  // bool exclude_hv = 14;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this_._internal_exclude_hv(), target);
  }

  // bool exclude_idle = 15;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        15, this_._internal_exclude_idle(), target);
  }

  // bool mmap = 16;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        16, this_._internal_mmap(), target);
  }

  // bool comm = 17;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        17, this_._internal_comm(), target);
  }

  // bool freq = 18;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this_._internal_freq(), target);
  }

  // bool inherit_stat = 19;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this_._internal_inherit_stat(), target);
  }

  // bool enable_on_exec = 20;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this_._internal_enable_on_exec(), target);
  }

  // bool task = 21;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        21, this_._internal_task(), target);
  }

  // bool watermark = 22;
  if (CheckHasBit(cached_has_bits, 0x00200000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        22, this_._internal_watermark(), target);
  }

  // uint32 precise_ip = 23;
  if (CheckHasBit(cached_has_bits, 0x00800000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        23, this_._internal_precise_ip(), target);
  }

  // bool mmap_data = 24;
  if (CheckHasBit(cached_has_bits, 0x00400000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        24, this_._internal_mmap_data(), target);
  }

  // bool sample_id_all = 25;
  if (CheckHasBit(cached_has_bits, 0x01000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        25, this_._internal_sample_id_all(), target);
  }

  // bool exclude_host = 26;
  if (CheckHasBit(cached_has_bits, 0x02000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        26, this_._internal_exclude_host(), target);
  }

  // bool exclude_guest = 27;
  if (CheckHasBit(cached_has_bits, 0x04000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        27, this_._internal_exclude_guest(), target);
  }

  // uint32 wakeup_events = 28;
  if (CheckHasBit(cached_has_bits, 0x08000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        28, this_._internal_wakeup_events(), target);
  }

  // uint32 wakeup_watermark = 29;
  if (CheckHasBit(cached_has_bits, 0x10000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        29, this_._internal_wakeup_watermark(), target);
  }

  // uint32 bp_type = 30;
  if (CheckHasBit(cached_has_bits, 0x40000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        30, this_._internal_bp_type(), target);
  }

  // uint64 bp_addr = 31;
  if (CheckHasBit(cached_has_bits, 0x20000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        31, this_._internal_bp_addr(), target);
  }

  // uint64 config1 = 32;
  if (CheckHasBit(cached_has_bits, 0x80000000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        32, this_._internal_config1(), target);
  }

  cached_has_bits = this_._impl_._has_bits_[1];
  // uint64 bp_len = 33;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        33, this_._internal_bp_len(), target);
  }

  // uint64 config2 = 34;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        34, this_._internal_config2(), target);
  }

  // uint64 branch_sample_type = 35;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        35, this_._internal_branch_sample_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfEventAttr)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfEventAttr::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfEventAttr& this_ = static_cast<const PerfDataProto_PerfEventAttr&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfEventAttr::ByteSizeLong() const {
  const PerfDataProto_PerfEventAttr& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfEventAttr)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x077f8000U & cached_has_bits) * 3;
  total_size += ::absl::popcount(0x00007f80U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // uint32 type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_type());
    }
    // uint32 size = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_size());
    }
    // uint64 config = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_config());
    }
    // uint64 sample_period = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_period());
    }
    // uint64 sample_freq = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_freq());
    }
    // uint64 sample_type = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_type());
    }
    // uint64 read_format = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_read_format());
    }
  }
   {
    // uint32 precise_ip = 23;
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_precise_ip());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xf8000000U)) {
    // uint32 wakeup_events = 28;
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_wakeup_events());
    }
    // uint32 wakeup_watermark = 29;
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_wakeup_watermark());
    }
    // uint64 bp_addr = 31;
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_bp_addr());
    }
    // uint32 bp_type = 30;
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                      this_._internal_bp_type());
    }
    // uint64 config1 = 32;
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_config1());
    }
  }
  cached_has_bits = this_._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // uint64 bp_len = 33;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_bp_len());
    }
    // uint64 config2 = 34;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_config2());
    }
    // uint64 branch_sample_type = 35;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_branch_sample_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfEventAttr::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfEventAttr*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfEventAttr&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfEventAttr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.size_ = from._impl_.size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.config_ = from._impl_.config_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.sample_period_ = from._impl_.sample_period_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.sample_freq_ = from._impl_.sample_freq_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.sample_type_ = from._impl_.sample_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.read_format_ = from._impl_.read_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.disabled_ = from._impl_.disabled_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.inherit_ = from._impl_.inherit_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.pinned_ = from._impl_.pinned_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.exclusive_ = from._impl_.exclusive_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.exclude_user_ = from._impl_.exclude_user_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.exclude_kernel_ = from._impl_.exclude_kernel_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.exclude_hv_ = from._impl_.exclude_hv_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.exclude_idle_ = from._impl_.exclude_idle_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.mmap_ = from._impl_.mmap_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00ff0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.comm_ = from._impl_.comm_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.freq_ = from._impl_.freq_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.inherit_stat_ = from._impl_.inherit_stat_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.enable_on_exec_ = from._impl_.enable_on_exec_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_impl_.task_ = from._impl_.task_;
    }
    if (CheckHasBit(cached_has_bits, 0x00200000U)) {
      _this->_impl_.watermark_ = from._impl_.watermark_;
    }
    if (CheckHasBit(cached_has_bits, 0x00400000U)) {
      _this->_impl_.mmap_data_ = from._impl_.mmap_data_;
    }
    if (CheckHasBit(cached_has_bits, 0x00800000U)) {
      _this->_impl_.precise_ip_ = from._impl_.precise_ip_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0xff000000U)) {
    if (CheckHasBit(cached_has_bits, 0x01000000U)) {
      _this->_impl_.sample_id_all_ = from._impl_.sample_id_all_;
    }
    if (CheckHasBit(cached_has_bits, 0x02000000U)) {
      _this->_impl_.exclude_host_ = from._impl_.exclude_host_;
    }
    if (CheckHasBit(cached_has_bits, 0x04000000U)) {
      _this->_impl_.exclude_guest_ = from._impl_.exclude_guest_;
    }
    if (CheckHasBit(cached_has_bits, 0x08000000U)) {
      _this->_impl_.wakeup_events_ = from._impl_.wakeup_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x10000000U)) {
      _this->_impl_.wakeup_watermark_ = from._impl_.wakeup_watermark_;
    }
    if (CheckHasBit(cached_has_bits, 0x20000000U)) {
      _this->_impl_.bp_addr_ = from._impl_.bp_addr_;
    }
    if (CheckHasBit(cached_has_bits, 0x40000000U)) {
      _this->_impl_.bp_type_ = from._impl_.bp_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x80000000U)) {
      _this->_impl_.config1_ = from._impl_.config1_;
    }
  }
  cached_has_bits = from._impl_._has_bits_[1];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.bp_len_ = from._impl_.bp_len_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.config2_ = from._impl_.config2_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.branch_sample_type_ = from._impl_.branch_sample_type_;
    }
  }
  _this->_impl_._has_bits_.Or(from._impl_._has_bits_);
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfEventAttr::CopyFrom(const PerfDataProto_PerfEventAttr& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfEventAttr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfEventAttr::InternalSwap(PerfDataProto_PerfEventAttr* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_._has_bits_[1], other->_impl_._has_bits_[1]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.branch_sample_type_)
      + sizeof(PerfDataProto_PerfEventAttr::_impl_.branch_sample_type_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventAttr, _impl_.type_)>(
          reinterpret_cast<char*>(&_impl_.type_),
          reinterpret_cast<char*>(&other->_impl_.type_));
}

// ===================================================================

PerfDataProto_PerfFileAttr::PerfDataProto_PerfFileAttr(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfFileAttr_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfFileAttr)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfFileAttr::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_PerfFileAttr& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto_PerfFileAttr,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfFileAttr, _impl_.ids_)>()
          , from.ids_
        }
        ,
        _ids_cached_byte_size_{0} {}

PerfDataProto_PerfFileAttr::PerfDataProto_PerfFileAttr(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_PerfFileAttr& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfFileAttr_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_PerfFileAttr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.attr_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attr_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.PerfFileAttr)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfFileAttr::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_PerfFileAttr,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfFileAttr, _impl_.ids_)>()
         }
        ,
        _ids_cached_byte_size_{0} {}

inline void PerfDataProto_PerfFileAttr::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.attr_ = {};
}
PerfDataProto_PerfFileAttr::~PerfDataProto_PerfFileAttr() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfFileAttr)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfFileAttr::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfFileAttr& this_ = static_cast<PerfDataProto_PerfFileAttr&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.attr_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfFileAttr_class_data_ =
    PerfDataProto_PerfFileAttr::InternalGenerateClassData_(PerfDataProto_PerfFileAttr_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfFileAttr::GetClassData() const {
  return PerfDataProto_PerfFileAttr_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfFileAttr::GetClassData() const {
  return PerfDataProto_PerfFileAttr_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfFileAttr::ParseTableT_
    PerfDataProto_PerfFileAttr::_table_ =
        PerfDataProto_PerfFileAttr::InternalGenerateParseTable_(PerfDataProto_PerfFileAttr_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfFileAttr::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfFileAttr)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.attr_ != nullptr);
      _impl_.attr_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfFileAttr::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfFileAttr& this_ = static_cast<const PerfDataProto_PerfFileAttr&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfFileAttr::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfFileAttr& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfFileAttr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.PerfDataProto.PerfEventAttr attr = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.attr_, this_._impl_.attr_->GetCachedSize(), target,
        stream);
  }

  // repeated uint64 ids = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteUInt64Packed(
            2, this_._internal_ids(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfFileAttr)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfFileAttr::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfFileAttr& this_ = static_cast<const PerfDataProto_PerfFileAttr&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfFileAttr::ByteSizeLong() const {
  const PerfDataProto_PerfFileAttr& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfFileAttr)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated uint64 ids = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::UInt64SizeWithPackedTagSize(
              this_._internal_ids(), 1,
              this_._impl_._ids_cached_byte_size_);
    }
    // .metrics.PerfDataProto.PerfEventAttr attr = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.attr_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfFileAttr::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfFileAttr*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfFileAttr&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfFileAttr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_ids()->MergeFrom(from._internal_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.attr_ != nullptr);
      if (_this->_impl_.attr_ == nullptr) {
        _this->_impl_.attr_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attr_);
      } else {
        _this->_impl_.attr_->MergeFrom(*from._impl_.attr_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfFileAttr::CopyFrom(const PerfDataProto_PerfFileAttr& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfFileAttr)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfFileAttr::InternalSwap(PerfDataProto_PerfFileAttr* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.ids_.InternalSwap(&other->_impl_.ids_);
  swap(_impl_.attr_, other->_impl_.attr_);
}

// ===================================================================

PerfDataProto_PerfEventType::PerfDataProto_PerfEventType(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventType_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfEventType)
}
PerfDataProto_PerfEventType::PerfDataProto_PerfEventType(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_PerfEventType& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventType_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfEventType::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_PerfEventType::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           0,
           offsetof(Impl_, name_md5_prefix_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::name_md5_prefix_));
}
PerfDataProto_PerfEventType::~PerfDataProto_PerfEventType() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfEventType)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfEventType::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfEventType& this_ = static_cast<PerfDataProto_PerfEventType&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfEventType_class_data_ =
    PerfDataProto_PerfEventType::InternalGenerateClassData_(PerfDataProto_PerfEventType_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventType::GetClassData() const {
  return PerfDataProto_PerfEventType_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventType::GetClassData() const {
  return PerfDataProto_PerfEventType_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfEventType::ParseTableT_
    PerfDataProto_PerfEventType::_table_ =
        PerfDataProto_PerfEventType::InternalGenerateParseTable_(PerfDataProto_PerfEventType_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfEventType::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfEventType)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.name_md5_prefix_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.name_md5_prefix_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventType::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfEventType& this_ = static_cast<const PerfDataProto_PerfEventType&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventType::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfEventType& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfEventType)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this_._internal_id(), target);
  }

  // uint64 name_md5_prefix = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_name_md5_prefix(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfEventType)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfEventType::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfEventType& this_ = static_cast<const PerfDataProto_PerfEventType&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfEventType::ByteSizeLong() const {
  const PerfDataProto_PerfEventType& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfEventType)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // uint64 id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_id());
    }
    // uint64 name_md5_prefix = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_name_md5_prefix());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfEventType::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfEventType*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfEventType&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfEventType)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.name_md5_prefix_ = from._impl_.name_md5_prefix_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfEventType::CopyFrom(const PerfDataProto_PerfEventType& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfEventType)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfEventType::InternalSwap(PerfDataProto_PerfEventType* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.name_md5_prefix_)
      + sizeof(PerfDataProto_PerfEventType::_impl_.name_md5_prefix_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventType, _impl_.id_)>(
          reinterpret_cast<char*>(&_impl_.id_),
          reinterpret_cast<char*>(&other->_impl_.id_));
}

// ===================================================================

PerfDataProto_SampleInfo::PerfDataProto_SampleInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_SampleInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.SampleInfo)
}
PerfDataProto_SampleInfo::PerfDataProto_SampleInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_SampleInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_SampleInfo_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_SampleInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_SampleInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, pid_),
           0,
           offsetof(Impl_, cpu_) -
               offsetof(Impl_, pid_) +
               sizeof(Impl_::cpu_));
}
PerfDataProto_SampleInfo::~PerfDataProto_SampleInfo() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.SampleInfo)
  SharedDtor(*this);
}
inline void PerfDataProto_SampleInfo::SharedDtor(MessageLite& self) {
  PerfDataProto_SampleInfo& this_ = static_cast<PerfDataProto_SampleInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_SampleInfo_class_data_ =
    PerfDataProto_SampleInfo::InternalGenerateClassData_(PerfDataProto_SampleInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_SampleInfo::GetClassData() const {
  return PerfDataProto_SampleInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_SampleInfo::GetClassData() const {
  return PerfDataProto_SampleInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_SampleInfo::ParseTableT_
    PerfDataProto_SampleInfo::_table_ =
        PerfDataProto_SampleInfo::InternalGenerateParseTable_(PerfDataProto_SampleInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_SampleInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.SampleInfo)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    ::memset(&_impl_.pid_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.cpu_) -
        reinterpret_cast<char*>(&_impl_.pid_)) + sizeof(_impl_.cpu_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_SampleInfo::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_SampleInfo& this_ = static_cast<const PerfDataProto_SampleInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_SampleInfo::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_SampleInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.SampleInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 pid = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_pid(), target);
  }

  // uint32 tid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_tid(), target);
  }

  // uint64 sample_time_ns = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_sample_time_ns(), target);
  }

  // uint64 id = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_id(), target);
  }

  // uint32 cpu = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_cpu(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.SampleInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_SampleInfo::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_SampleInfo& this_ = static_cast<const PerfDataProto_SampleInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_SampleInfo::ByteSizeLong() const {
  const PerfDataProto_SampleInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.SampleInfo)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // uint32 pid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint32 tid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_tid());
    }
    // uint64 sample_time_ns = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_time_ns());
    }
    // uint64 id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_id());
    }
    // uint32 cpu = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_cpu());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_SampleInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_SampleInfo*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_SampleInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.SampleInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.tid_ = from._impl_.tid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.sample_time_ns_ = from._impl_.sample_time_ns_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.cpu_ = from._impl_.cpu_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_SampleInfo::CopyFrom(const PerfDataProto_SampleInfo& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.SampleInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_SampleInfo::InternalSwap(PerfDataProto_SampleInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.cpu_)
      + sizeof(PerfDataProto_SampleInfo::_impl_.cpu_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleInfo, _impl_.pid_)>(
          reinterpret_cast<char*>(&_impl_.pid_),
          reinterpret_cast<char*>(&other->_impl_.pid_));
}

// ===================================================================

PerfDataProto_CommEvent::PerfDataProto_CommEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_CommEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.CommEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_CommEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_CommEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_CommEvent::PerfDataProto_CommEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_CommEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_CommEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_CommEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sample_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, pid_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, pid_),
           offsetof(Impl_, sample_time_) -
               offsetof(Impl_, pid_) +
               sizeof(Impl_::sample_time_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.CommEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_CommEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_CommEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, sample_info_),
           0,
           offsetof(Impl_, sample_time_) -
               offsetof(Impl_, sample_info_) +
               sizeof(Impl_::sample_time_));
}
PerfDataProto_CommEvent::~PerfDataProto_CommEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.CommEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_CommEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_CommEvent& this_ = static_cast<PerfDataProto_CommEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.sample_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_CommEvent_class_data_ =
    PerfDataProto_CommEvent::InternalGenerateClassData_(PerfDataProto_CommEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_CommEvent::GetClassData() const {
  return PerfDataProto_CommEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_CommEvent::GetClassData() const {
  return PerfDataProto_CommEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_CommEvent::ParseTableT_
    PerfDataProto_CommEvent::_table_ =
        PerfDataProto_CommEvent::InternalGenerateParseTable_(PerfDataProto_CommEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_CommEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.CommEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.sample_info_ != nullptr);
    _impl_.sample_info_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.pid_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.sample_time_) -
        reinterpret_cast<char*>(&_impl_.pid_)) + sizeof(_impl_.sample_time_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_CommEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_CommEvent& this_ = static_cast<const PerfDataProto_CommEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_CommEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_CommEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.CommEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 pid = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_pid(), target);
  }

  // uint32 tid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_tid(), target);
  }

  // uint64 comm_md5_prefix = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_comm_md5_prefix(), target);
  }

  // uint64 sample_time = 5 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_sample_time(), target);
  }

  // .metrics.PerfDataProto.SampleInfo sample_info = 6;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.sample_info_, this_._impl_.sample_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.CommEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_CommEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_CommEvent& this_ = static_cast<const PerfDataProto_CommEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_CommEvent::ByteSizeLong() const {
  const PerfDataProto_CommEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.CommEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // .metrics.PerfDataProto.SampleInfo sample_info = 6;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sample_info_);
    }
    // uint32 pid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint32 tid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_tid());
    }
    // uint64 comm_md5_prefix = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_comm_md5_prefix());
    }
    // uint64 sample_time = 5 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_time());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_CommEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_CommEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_CommEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.CommEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.sample_info_ != nullptr);
      if (_this->_impl_.sample_info_ == nullptr) {
        _this->_impl_.sample_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_);
      } else {
        _this->_impl_.sample_info_->MergeFrom(*from._impl_.sample_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.tid_ = from._impl_.tid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.comm_md5_prefix_ = from._impl_.comm_md5_prefix_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.sample_time_ = from._impl_.sample_time_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_CommEvent::CopyFrom(const PerfDataProto_CommEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.CommEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_CommEvent::InternalSwap(PerfDataProto_CommEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_time_)
      + sizeof(PerfDataProto_CommEvent::_impl_.sample_time_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_CommEvent, _impl_.sample_info_)>(
          reinterpret_cast<char*>(&_impl_.sample_info_),
          reinterpret_cast<char*>(&other->_impl_.sample_info_));
}

// ===================================================================

PerfDataProto_MMapEvent::PerfDataProto_MMapEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_MMapEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.MMapEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_MMapEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_MMapEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_MMapEvent::PerfDataProto_MMapEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_MMapEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_MMapEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_MMapEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sample_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, pid_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, pid_),
           offsetof(Impl_, root_path_md5_prefix_) -
               offsetof(Impl_, pid_) +
               sizeof(Impl_::root_path_md5_prefix_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.MMapEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_MMapEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_MMapEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, sample_info_),
           0,
           offsetof(Impl_, root_path_md5_prefix_) -
               offsetof(Impl_, sample_info_) +
               sizeof(Impl_::root_path_md5_prefix_));
}
PerfDataProto_MMapEvent::~PerfDataProto_MMapEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.MMapEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_MMapEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_MMapEvent& this_ = static_cast<PerfDataProto_MMapEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.sample_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_MMapEvent_class_data_ =
    PerfDataProto_MMapEvent::InternalGenerateClassData_(PerfDataProto_MMapEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_MMapEvent::GetClassData() const {
  return PerfDataProto_MMapEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_MMapEvent::GetClassData() const {
  return PerfDataProto_MMapEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_MMapEvent::ParseTableT_
    PerfDataProto_MMapEvent::_table_ =
        PerfDataProto_MMapEvent::InternalGenerateParseTable_(PerfDataProto_MMapEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_MMapEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.MMapEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.sample_info_ != nullptr);
    _impl_.sample_info_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000feU)) {
    ::memset(&_impl_.pid_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.root_path_md5_prefix_) -
        reinterpret_cast<char*>(&_impl_.pid_)) + sizeof(_impl_.root_path_md5_prefix_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_MMapEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_MMapEvent& this_ = static_cast<const PerfDataProto_MMapEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_MMapEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_MMapEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.MMapEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 pid = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_pid(), target);
  }

  // uint32 tid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_tid(), target);
  }

  // uint64 start = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_start(), target);
  }

  // uint64 len = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_len(), target);
  }

  // uint64 pgoff = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_pgoff(), target);
  }

  // uint64 filename_md5_prefix = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this_._internal_filename_md5_prefix(), target);
  }

  // .metrics.PerfDataProto.SampleInfo sample_info = 8;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.sample_info_, this_._impl_.sample_info_->GetCachedSize(), target,
        stream);
  }

  // uint64 root_path_md5_prefix = 16;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        16, this_._internal_root_path_md5_prefix(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.MMapEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_MMapEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_MMapEvent& this_ = static_cast<const PerfDataProto_MMapEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_MMapEvent::ByteSizeLong() const {
  const PerfDataProto_MMapEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.MMapEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // .metrics.PerfDataProto.SampleInfo sample_info = 8;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sample_info_);
    }
    // uint32 pid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint32 tid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_tid());
    }
    // uint64 start = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_start());
    }
    // uint64 len = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_len());
    }
    // uint64 pgoff = 5;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_pgoff());
    }
    // uint64 filename_md5_prefix = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_filename_md5_prefix());
    }
    // uint64 root_path_md5_prefix = 16;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_root_path_md5_prefix());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_MMapEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_MMapEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_MMapEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.MMapEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.sample_info_ != nullptr);
      if (_this->_impl_.sample_info_ == nullptr) {
        _this->_impl_.sample_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_);
      } else {
        _this->_impl_.sample_info_->MergeFrom(*from._impl_.sample_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.tid_ = from._impl_.tid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.len_ = from._impl_.len_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.pgoff_ = from._impl_.pgoff_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.filename_md5_prefix_ = from._impl_.filename_md5_prefix_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.root_path_md5_prefix_ = from._impl_.root_path_md5_prefix_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_MMapEvent::CopyFrom(const PerfDataProto_MMapEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.MMapEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_MMapEvent::InternalSwap(PerfDataProto_MMapEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.root_path_md5_prefix_)
      + sizeof(PerfDataProto_MMapEvent::_impl_.root_path_md5_prefix_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_MMapEvent, _impl_.sample_info_)>(
          reinterpret_cast<char*>(&_impl_.sample_info_),
          reinterpret_cast<char*>(&other->_impl_.sample_info_));
}

// ===================================================================

PerfDataProto_LostEvent::PerfDataProto_LostEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_LostEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.LostEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_LostEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_LostEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_LostEvent::PerfDataProto_LostEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_LostEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_LostEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_LostEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sample_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, id_),
           offsetof(Impl_, lost_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::lost_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.LostEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_LostEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_LostEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, sample_info_),
           0,
           offsetof(Impl_, lost_) -
               offsetof(Impl_, sample_info_) +
               sizeof(Impl_::lost_));
}
PerfDataProto_LostEvent::~PerfDataProto_LostEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.LostEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_LostEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_LostEvent& this_ = static_cast<PerfDataProto_LostEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.sample_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_LostEvent_class_data_ =
    PerfDataProto_LostEvent::InternalGenerateClassData_(PerfDataProto_LostEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_LostEvent::GetClassData() const {
  return PerfDataProto_LostEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_LostEvent::GetClassData() const {
  return PerfDataProto_LostEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_LostEvent::ParseTableT_
    PerfDataProto_LostEvent::_table_ =
        PerfDataProto_LostEvent::InternalGenerateParseTable_(PerfDataProto_LostEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_LostEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.LostEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.sample_info_ != nullptr);
    _impl_.sample_info_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.lost_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.lost_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_LostEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_LostEvent& this_ = static_cast<const PerfDataProto_LostEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_LostEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_LostEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.LostEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this_._internal_id(), target);
  }

  // uint64 lost = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_lost(), target);
  }

  // .metrics.PerfDataProto.SampleInfo sample_info = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.sample_info_, this_._impl_.sample_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.LostEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_LostEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_LostEvent& this_ = static_cast<const PerfDataProto_LostEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_LostEvent::ByteSizeLong() const {
  const PerfDataProto_LostEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.LostEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // .metrics.PerfDataProto.SampleInfo sample_info = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sample_info_);
    }
    // uint64 id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_id());
    }
    // uint64 lost = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_lost());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_LostEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_LostEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_LostEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.LostEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.sample_info_ != nullptr);
      if (_this->_impl_.sample_info_ == nullptr) {
        _this->_impl_.sample_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_);
      } else {
        _this->_impl_.sample_info_->MergeFrom(*from._impl_.sample_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.lost_ = from._impl_.lost_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_LostEvent::CopyFrom(const PerfDataProto_LostEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.LostEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_LostEvent::InternalSwap(PerfDataProto_LostEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.lost_)
      + sizeof(PerfDataProto_LostEvent::_impl_.lost_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_LostEvent, _impl_.sample_info_)>(
          reinterpret_cast<char*>(&_impl_.sample_info_),
          reinterpret_cast<char*>(&other->_impl_.sample_info_));
}

// ===================================================================

PerfDataProto_ThrottleEvent::PerfDataProto_ThrottleEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_ThrottleEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.ThrottleEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_ThrottleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_ThrottleEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_ThrottleEvent::PerfDataProto_ThrottleEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_ThrottleEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_ThrottleEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_ThrottleEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sample_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, time_ns_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, time_ns_),
           offsetof(Impl_, stream_id_) -
               offsetof(Impl_, time_ns_) +
               sizeof(Impl_::stream_id_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.ThrottleEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_ThrottleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_ThrottleEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, sample_info_),
           0,
           offsetof(Impl_, stream_id_) -
               offsetof(Impl_, sample_info_) +
               sizeof(Impl_::stream_id_));
}
PerfDataProto_ThrottleEvent::~PerfDataProto_ThrottleEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.ThrottleEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_ThrottleEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_ThrottleEvent& this_ = static_cast<PerfDataProto_ThrottleEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.sample_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_ThrottleEvent_class_data_ =
    PerfDataProto_ThrottleEvent::InternalGenerateClassData_(PerfDataProto_ThrottleEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_ThrottleEvent::GetClassData() const {
  return PerfDataProto_ThrottleEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_ThrottleEvent::GetClassData() const {
  return PerfDataProto_ThrottleEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_ThrottleEvent::ParseTableT_
    PerfDataProto_ThrottleEvent::_table_ =
        PerfDataProto_ThrottleEvent::InternalGenerateParseTable_(PerfDataProto_ThrottleEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_ThrottleEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.ThrottleEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.sample_info_ != nullptr);
    _impl_.sample_info_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.time_ns_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.stream_id_) -
        reinterpret_cast<char*>(&_impl_.time_ns_)) + sizeof(_impl_.stream_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_ThrottleEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_ThrottleEvent& this_ = static_cast<const PerfDataProto_ThrottleEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_ThrottleEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_ThrottleEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.ThrottleEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 time_ns = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this_._internal_time_ns(), target);
  }

  // uint64 id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_id(), target);
  }

  // uint64 stream_id = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_stream_id(), target);
  }

  // .metrics.PerfDataProto.SampleInfo sample_info = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.sample_info_, this_._impl_.sample_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.ThrottleEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_ThrottleEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_ThrottleEvent& this_ = static_cast<const PerfDataProto_ThrottleEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_ThrottleEvent::ByteSizeLong() const {
  const PerfDataProto_ThrottleEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.ThrottleEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // .metrics.PerfDataProto.SampleInfo sample_info = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sample_info_);
    }
    // uint64 time_ns = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_time_ns());
    }
    // uint64 id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_id());
    }
    // uint64 stream_id = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_stream_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_ThrottleEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_ThrottleEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_ThrottleEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.ThrottleEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.sample_info_ != nullptr);
      if (_this->_impl_.sample_info_ == nullptr) {
        _this->_impl_.sample_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_);
      } else {
        _this->_impl_.sample_info_->MergeFrom(*from._impl_.sample_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.time_ns_ = from._impl_.time_ns_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.stream_id_ = from._impl_.stream_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_ThrottleEvent::CopyFrom(const PerfDataProto_ThrottleEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.ThrottleEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_ThrottleEvent::InternalSwap(PerfDataProto_ThrottleEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.stream_id_)
      + sizeof(PerfDataProto_ThrottleEvent::_impl_.stream_id_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_ThrottleEvent, _impl_.sample_info_)>(
          reinterpret_cast<char*>(&_impl_.sample_info_),
          reinterpret_cast<char*>(&other->_impl_.sample_info_));
}

// ===================================================================

PerfDataProto_BranchStackEntry::PerfDataProto_BranchStackEntry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_BranchStackEntry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.BranchStackEntry)
}
PerfDataProto_BranchStackEntry::PerfDataProto_BranchStackEntry(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_BranchStackEntry& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_BranchStackEntry_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_BranchStackEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_BranchStackEntry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, from_ip_),
           0,
           offsetof(Impl_, cycles_) -
               offsetof(Impl_, from_ip_) +
               sizeof(Impl_::cycles_));
}
PerfDataProto_BranchStackEntry::~PerfDataProto_BranchStackEntry() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.BranchStackEntry)
  SharedDtor(*this);
}
inline void PerfDataProto_BranchStackEntry::SharedDtor(MessageLite& self) {
  PerfDataProto_BranchStackEntry& this_ = static_cast<PerfDataProto_BranchStackEntry&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_BranchStackEntry_class_data_ =
    PerfDataProto_BranchStackEntry::InternalGenerateClassData_(PerfDataProto_BranchStackEntry_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_BranchStackEntry::GetClassData() const {
  return PerfDataProto_BranchStackEntry_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_BranchStackEntry::GetClassData() const {
  return PerfDataProto_BranchStackEntry_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_BranchStackEntry::ParseTableT_
    PerfDataProto_BranchStackEntry::_table_ =
        PerfDataProto_BranchStackEntry::InternalGenerateParseTable_(PerfDataProto_BranchStackEntry_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_BranchStackEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.BranchStackEntry)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    ::memset(&_impl_.from_ip_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.cycles_) -
        reinterpret_cast<char*>(&_impl_.from_ip_)) + sizeof(_impl_.cycles_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_BranchStackEntry::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_BranchStackEntry& this_ = static_cast<const PerfDataProto_BranchStackEntry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_BranchStackEntry::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_BranchStackEntry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.BranchStackEntry)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 from_ip = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this_._internal_from_ip(), target);
  }

  // uint64 to_ip = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_to_ip(), target);
  }

  // bool mispredicted = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_mispredicted(), target);
  }

  // bool predicted = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_predicted(), target);
  }

  // bool in_transaction = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_in_transaction(), target);
  }

  // bool abort = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_abort(), target);
  }

  // uint32 cycles = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this_._internal_cycles(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.BranchStackEntry)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_BranchStackEntry::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_BranchStackEntry& this_ = static_cast<const PerfDataProto_BranchStackEntry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_BranchStackEntry::ByteSizeLong() const {
  const PerfDataProto_BranchStackEntry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.BranchStackEntry)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000003cU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000043U)) {
    // uint64 from_ip = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_from_ip());
    }
    // uint64 to_ip = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_to_ip());
    }
    // uint32 cycles = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_cycles());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_BranchStackEntry::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_BranchStackEntry*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_BranchStackEntry&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.BranchStackEntry)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.from_ip_ = from._impl_.from_ip_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.to_ip_ = from._impl_.to_ip_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.mispredicted_ = from._impl_.mispredicted_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.predicted_ = from._impl_.predicted_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.in_transaction_ = from._impl_.in_transaction_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.abort_ = from._impl_.abort_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.cycles_ = from._impl_.cycles_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_BranchStackEntry::CopyFrom(const PerfDataProto_BranchStackEntry& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.BranchStackEntry)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_BranchStackEntry::InternalSwap(PerfDataProto_BranchStackEntry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.cycles_)
      + sizeof(PerfDataProto_BranchStackEntry::_impl_.cycles_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_BranchStackEntry, _impl_.from_ip_)>(
          reinterpret_cast<char*>(&_impl_.from_ip_),
          reinterpret_cast<char*>(&other->_impl_.from_ip_));
}

// ===================================================================

PerfDataProto_SampleEvent::PerfDataProto_SampleEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_SampleEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.SampleEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_SampleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_SampleEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        callchain_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto_SampleEvent,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.callchain_)>()
          , from.callchain_
        }
        ,
        _callchain_cached_byte_size_{0},
        branch_stack_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto_SampleEvent,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.branch_stack_)>()
          , from.branch_stack_
        }
     {}

PerfDataProto_SampleEvent::PerfDataProto_SampleEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_SampleEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_SampleEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_SampleEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, ip_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, ip_),
           offsetof(Impl_, transaction_) -
               offsetof(Impl_, ip_) +
               sizeof(Impl_::transaction_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.SampleEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_SampleEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        callchain_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_SampleEvent,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.callchain_)>()
         }
        ,
        _callchain_cached_byte_size_{0},
        branch_stack_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_SampleEvent,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_SampleEvent, _impl_.branch_stack_)>()
         }
     {}

inline void PerfDataProto_SampleEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, ip_),
           0,
           offsetof(Impl_, transaction_) -
               offsetof(Impl_, ip_) +
               sizeof(Impl_::transaction_));
}
PerfDataProto_SampleEvent::~PerfDataProto_SampleEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.SampleEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_SampleEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_SampleEvent& this_ = static_cast<PerfDataProto_SampleEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_SampleEvent_class_data_ =
    PerfDataProto_SampleEvent::InternalGenerateClassData_(PerfDataProto_SampleEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_SampleEvent::GetClassData() const {
  return PerfDataProto_SampleEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_SampleEvent::GetClassData() const {
  return PerfDataProto_SampleEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_SampleEvent::ParseTableT_
    PerfDataProto_SampleEvent::_table_ =
        PerfDataProto_SampleEvent::InternalGenerateParseTable_(PerfDataProto_SampleEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_SampleEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.SampleEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.callchain_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.branch_stack_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000fcU)) {
    ::memset(&_impl_.ip_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.id_) -
        reinterpret_cast<char*>(&_impl_.ip_)) + sizeof(_impl_.id_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.stream_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.transaction_) -
        reinterpret_cast<char*>(&_impl_.stream_id_)) + sizeof(_impl_.transaction_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_SampleEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_SampleEvent& this_ = static_cast<const PerfDataProto_SampleEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_SampleEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_SampleEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.SampleEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 ip = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        1, this_._internal_ip(), target);
  }

  // uint32 pid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_pid(), target);
  }

  // uint32 tid = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_tid(), target);
  }

  // uint64 sample_time_ns = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_sample_time_ns(), target);
  }

  // uint64 addr = 5;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_addr(), target);
  }

  // uint64 id = 6;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        6, this_._internal_id(), target);
  }

  // uint64 stream_id = 7;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        7, this_._internal_stream_id(), target);
  }

  // uint64 period = 8;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        8, this_._internal_period(), target);
  }

  // uint32 cpu = 9;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this_._internal_cpu(), target);
  }

  // uint32 raw_size = 10;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this_._internal_raw_size(), target);
  }

  // repeated uint64 callchain = 11;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._callchain_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteUInt64Packed(
            11, this_._internal_callchain(), byte_size, target);
      }
    }
  }

  // repeated .metrics.PerfDataProto.BranchStackEntry branch_stack = 12;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_branch_stack_size());
         i < n; i++) {
      const auto& repfield = this_._internal_branch_stack().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              12, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint64 weight = 15;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        15, this_._internal_weight(), target);
  }

  // uint64 data_src = 16;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        16, this_._internal_data_src(), target);
  }

  // uint64 transaction = 17;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        17, this_._internal_transaction(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.SampleEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_SampleEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_SampleEvent& this_ = static_cast<const PerfDataProto_SampleEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_SampleEvent::ByteSizeLong() const {
  const PerfDataProto_SampleEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.SampleEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated uint64 callchain = 11;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::UInt64SizeWithPackedTagSize(
              this_._internal_callchain(), 1,
              this_._impl_._callchain_cached_byte_size_);
    }
    // repeated .metrics.PerfDataProto.BranchStackEntry branch_stack = 12;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_branch_stack_size();
      for (const auto& msg : this_._internal_branch_stack()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // uint64 ip = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_ip());
    }
    // uint32 pid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint32 tid = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_tid());
    }
    // uint64 sample_time_ns = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_sample_time_ns());
    }
    // uint64 addr = 5;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_addr());
    }
    // uint64 id = 6;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_id());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // uint64 stream_id = 7;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_stream_id());
    }
    // uint64 period = 8;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_period());
    }
    // uint32 cpu = 9;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_cpu());
    }
    // uint32 raw_size = 10;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_raw_size());
    }
    // uint64 weight = 15;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_weight());
    }
    // uint64 data_src = 16;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_data_src());
    }
    // uint64 transaction = 17;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::UInt64Size(
                                      this_._internal_transaction());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_SampleEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_SampleEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_SampleEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.SampleEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_callchain()->MergeFrom(from._internal_callchain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_branch_stack()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_branch_stack());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.ip_ = from._impl_.ip_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.tid_ = from._impl_.tid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.sample_time_ns_ = from._impl_.sample_time_ns_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.addr_ = from._impl_.addr_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.stream_id_ = from._impl_.stream_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.period_ = from._impl_.period_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.cpu_ = from._impl_.cpu_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.raw_size_ = from._impl_.raw_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.weight_ = from._impl_.weight_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.data_src_ = from._impl_.data_src_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.transaction_ = from._impl_.transaction_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_SampleEvent::CopyFrom(const PerfDataProto_SampleEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.SampleEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_SampleEvent::InternalSwap(PerfDataProto_SampleEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.callchain_.InternalSwap(&other->_impl_.callchain_);
  _impl_.branch_stack_.InternalSwap(&other->_impl_.branch_stack_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.transaction_)
      + sizeof(PerfDataProto_SampleEvent::_impl_.transaction_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_SampleEvent, _impl_.ip_)>(
          reinterpret_cast<char*>(&_impl_.ip_),
          reinterpret_cast<char*>(&other->_impl_.ip_));
}

// ===================================================================

PerfDataProto_ForkEvent::PerfDataProto_ForkEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_ForkEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.ForkEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_ForkEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_ForkEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_ForkEvent::PerfDataProto_ForkEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_ForkEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_ForkEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_ForkEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sample_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, pid_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, pid_),
           offsetof(Impl_, fork_time_ns_) -
               offsetof(Impl_, pid_) +
               sizeof(Impl_::fork_time_ns_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.ForkEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_ForkEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_ForkEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, sample_info_),
           0,
           offsetof(Impl_, fork_time_ns_) -
               offsetof(Impl_, sample_info_) +
               sizeof(Impl_::fork_time_ns_));
}
PerfDataProto_ForkEvent::~PerfDataProto_ForkEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.ForkEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_ForkEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_ForkEvent& this_ = static_cast<PerfDataProto_ForkEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.sample_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_ForkEvent_class_data_ =
    PerfDataProto_ForkEvent::InternalGenerateClassData_(PerfDataProto_ForkEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_ForkEvent::GetClassData() const {
  return PerfDataProto_ForkEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_ForkEvent::GetClassData() const {
  return PerfDataProto_ForkEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_ForkEvent::ParseTableT_
    PerfDataProto_ForkEvent::_table_ =
        PerfDataProto_ForkEvent::InternalGenerateParseTable_(PerfDataProto_ForkEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_ForkEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.ForkEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.sample_info_ != nullptr);
    _impl_.sample_info_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003eU)) {
    ::memset(&_impl_.pid_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.fork_time_ns_) -
        reinterpret_cast<char*>(&_impl_.pid_)) + sizeof(_impl_.fork_time_ns_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_ForkEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_ForkEvent& this_ = static_cast<const PerfDataProto_ForkEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_ForkEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_ForkEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.ForkEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 pid = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_pid(), target);
  }

  // uint32 ppid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_ppid(), target);
  }

  // uint32 tid = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_tid(), target);
  }

  // uint32 ptid = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_ptid(), target);
  }

  // uint64 fork_time_ns = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_fork_time_ns(), target);
  }

  // .metrics.PerfDataProto.SampleInfo sample_info = 11;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.sample_info_, this_._impl_.sample_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.ForkEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_ForkEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_ForkEvent& this_ = static_cast<const PerfDataProto_ForkEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_ForkEvent::ByteSizeLong() const {
  const PerfDataProto_ForkEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.ForkEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // .metrics.PerfDataProto.SampleInfo sample_info = 11;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.sample_info_);
    }
    // uint32 pid = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint32 ppid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ppid());
    }
    // uint32 tid = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_tid());
    }
    // uint32 ptid = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_ptid());
    }
    // uint64 fork_time_ns = 5;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_fork_time_ns());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_ForkEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_ForkEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_ForkEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.ForkEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.sample_info_ != nullptr);
      if (_this->_impl_.sample_info_ == nullptr) {
        _this->_impl_.sample_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.sample_info_);
      } else {
        _this->_impl_.sample_info_->MergeFrom(*from._impl_.sample_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.ppid_ = from._impl_.ppid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.tid_ = from._impl_.tid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.ptid_ = from._impl_.ptid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.fork_time_ns_ = from._impl_.fork_time_ns_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_ForkEvent::CopyFrom(const PerfDataProto_ForkEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.ForkEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_ForkEvent::InternalSwap(PerfDataProto_ForkEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.fork_time_ns_)
      + sizeof(PerfDataProto_ForkEvent::_impl_.fork_time_ns_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_ForkEvent, _impl_.sample_info_)>(
          reinterpret_cast<char*>(&_impl_.sample_info_),
          reinterpret_cast<char*>(&other->_impl_.sample_info_));
}

// ===================================================================

PerfDataProto_EventHeader::PerfDataProto_EventHeader(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_EventHeader_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.EventHeader)
}
PerfDataProto_EventHeader::PerfDataProto_EventHeader(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_EventHeader& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_EventHeader_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_EventHeader::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_EventHeader::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, type_),
           0,
           offsetof(Impl_, size_) -
               offsetof(Impl_, type_) +
               sizeof(Impl_::size_));
}
PerfDataProto_EventHeader::~PerfDataProto_EventHeader() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.EventHeader)
  SharedDtor(*this);
}
inline void PerfDataProto_EventHeader::SharedDtor(MessageLite& self) {
  PerfDataProto_EventHeader& this_ = static_cast<PerfDataProto_EventHeader&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_EventHeader_class_data_ =
    PerfDataProto_EventHeader::InternalGenerateClassData_(PerfDataProto_EventHeader_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_EventHeader::GetClassData() const {
  return PerfDataProto_EventHeader_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_EventHeader::GetClassData() const {
  return PerfDataProto_EventHeader_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_EventHeader::ParseTableT_
    PerfDataProto_EventHeader::_table_ =
        PerfDataProto_EventHeader::InternalGenerateParseTable_(PerfDataProto_EventHeader_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_EventHeader::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.EventHeader)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.size_) -
        reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.size_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_EventHeader::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_EventHeader& this_ = static_cast<const PerfDataProto_EventHeader&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_EventHeader::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_EventHeader& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.EventHeader)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_type(), target);
  }

  // uint32 misc = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_misc(), target);
  }

  // uint32 size = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_size(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.EventHeader)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_EventHeader::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_EventHeader& this_ = static_cast<const PerfDataProto_EventHeader&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_EventHeader::ByteSizeLong() const {
  const PerfDataProto_EventHeader& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.EventHeader)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // uint32 type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_type());
    }
    // uint32 misc = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_misc());
    }
    // uint32 size = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_size());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_EventHeader::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_EventHeader*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_EventHeader&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.EventHeader)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.misc_ = from._impl_.misc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.size_ = from._impl_.size_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_EventHeader::CopyFrom(const PerfDataProto_EventHeader& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.EventHeader)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_EventHeader::InternalSwap(PerfDataProto_EventHeader* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.size_)
      + sizeof(PerfDataProto_EventHeader::_impl_.size_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_EventHeader, _impl_.type_)>(
          reinterpret_cast<char*>(&_impl_.type_),
          reinterpret_cast<char*>(&other->_impl_.type_));
}

// ===================================================================

void PerfDataProto_PerfEvent::set_allocated_mmap_event(::metrics::PerfDataProto_MMapEvent* PROTOBUF_NULLABLE mmap_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (mmap_event) {
    ::google::protobuf::Arena* submessage_arena = mmap_event->GetArena();
    if (message_arena != submessage_arena) {
      mmap_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, mmap_event, submessage_arena);
    }
    set_has_mmap_event();
    _impl_.event_type_.mmap_event_ = mmap_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.mmap_event)
}
void PerfDataProto_PerfEvent::set_allocated_sample_event(::metrics::PerfDataProto_SampleEvent* PROTOBUF_NULLABLE sample_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (sample_event) {
    ::google::protobuf::Arena* submessage_arena = sample_event->GetArena();
    if (message_arena != submessage_arena) {
      sample_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, sample_event, submessage_arena);
    }
    set_has_sample_event();
    _impl_.event_type_.sample_event_ = sample_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.sample_event)
}
void PerfDataProto_PerfEvent::set_allocated_comm_event(::metrics::PerfDataProto_CommEvent* PROTOBUF_NULLABLE comm_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (comm_event) {
    ::google::protobuf::Arena* submessage_arena = comm_event->GetArena();
    if (message_arena != submessage_arena) {
      comm_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, comm_event, submessage_arena);
    }
    set_has_comm_event();
    _impl_.event_type_.comm_event_ = comm_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.comm_event)
}
void PerfDataProto_PerfEvent::set_allocated_fork_event(::metrics::PerfDataProto_ForkEvent* PROTOBUF_NULLABLE fork_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (fork_event) {
    ::google::protobuf::Arena* submessage_arena = fork_event->GetArena();
    if (message_arena != submessage_arena) {
      fork_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, fork_event, submessage_arena);
    }
    set_has_fork_event();
    _impl_.event_type_.fork_event_ = fork_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.fork_event)
}
void PerfDataProto_PerfEvent::set_allocated_exit_event(::metrics::PerfDataProto_ForkEvent* PROTOBUF_NULLABLE exit_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (exit_event) {
    ::google::protobuf::Arena* submessage_arena = exit_event->GetArena();
    if (message_arena != submessage_arena) {
      exit_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, exit_event, submessage_arena);
    }
    set_has_exit_event();
    _impl_.event_type_.exit_event_ = exit_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.exit_event)
}
void PerfDataProto_PerfEvent::set_allocated_lost_event(::metrics::PerfDataProto_LostEvent* PROTOBUF_NULLABLE lost_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (lost_event) {
    ::google::protobuf::Arena* submessage_arena = lost_event->GetArena();
    if (message_arena != submessage_arena) {
      lost_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, lost_event, submessage_arena);
    }
    set_has_lost_event();
    _impl_.event_type_.lost_event_ = lost_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.lost_event)
}
void PerfDataProto_PerfEvent::set_allocated_throttle_event(::metrics::PerfDataProto_ThrottleEvent* PROTOBUF_NULLABLE throttle_event) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_event_type();
  if (throttle_event) {
    ::google::protobuf::Arena* submessage_arena = throttle_event->GetArena();
    if (message_arena != submessage_arena) {
      throttle_event = ::google::protobuf::internal::GetOwnedMessage(message_arena, throttle_event, submessage_arena);
    }
    set_has_throttle_event();
    _impl_.event_type_.throttle_event_ = throttle_event;
  }
  // @@protoc_insertion_point(field_set_allocated:metrics.PerfDataProto.PerfEvent.throttle_event)
}
PerfDataProto_PerfEvent::PerfDataProto_PerfEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_PerfEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        event_type_{},
        _oneof_case_{from._oneof_case_[0]} {}

PerfDataProto_PerfEvent::PerfDataProto_PerfEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_PerfEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_PerfEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.header_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_)
                : nullptr;
  _impl_.timestamp_ = from._impl_.timestamp_;
  switch (event_type_case()) {
    case EVENT_TYPE_NOT_SET:
      break;
      case kMmapEvent:
        _impl_.event_type_.mmap_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.mmap_event_);
        break;
      case kSampleEvent:
        _impl_.event_type_.sample_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.sample_event_);
        break;
      case kCommEvent:
        _impl_.event_type_.comm_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.comm_event_);
        break;
      case kForkEvent:
        _impl_.event_type_.fork_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.fork_event_);
        break;
      case kExitEvent:
        _impl_.event_type_.exit_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.exit_event_);
        break;
      case kLostEvent:
        _impl_.event_type_.lost_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.lost_event_);
        break;
      case kThrottleEvent:
        _impl_.event_type_.throttle_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.throttle_event_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.PerfEvent)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        event_type_{},
        _oneof_case_{} {}

inline void PerfDataProto_PerfEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, header_),
           0,
           offsetof(Impl_, timestamp_) -
               offsetof(Impl_, header_) +
               sizeof(Impl_::timestamp_));
}
PerfDataProto_PerfEvent::~PerfDataProto_PerfEvent() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfEvent)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfEvent::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfEvent& this_ = static_cast<PerfDataProto_PerfEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.header_;
  if (this_.has_event_type()) {
    this_.clear_event_type();
  }
  this_._impl_.~Impl_();
}

void PerfDataProto_PerfEvent::clear_event_type() {
// @@protoc_insertion_point(one_of_clear_start:metrics.PerfDataProto.PerfEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (event_type_case()) {
    case kMmapEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.mmap_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.mmap_event_ != nullptr) {
          _impl_.event_type_.mmap_event_->Clear();
        }
      }
      break;
    }
    case kSampleEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.sample_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.sample_event_ != nullptr) {
          _impl_.event_type_.sample_event_->Clear();
        }
      }
      break;
    }
    case kCommEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.comm_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.comm_event_ != nullptr) {
          _impl_.event_type_.comm_event_->Clear();
        }
      }
      break;
    }
    case kForkEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.fork_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.fork_event_ != nullptr) {
          _impl_.event_type_.fork_event_->Clear();
        }
      }
      break;
    }
    case kExitEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.exit_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.exit_event_ != nullptr) {
          _impl_.event_type_.exit_event_->Clear();
        }
      }
      break;
    }
    case kLostEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.lost_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.lost_event_ != nullptr) {
          _impl_.event_type_.lost_event_->Clear();
        }
      }
      break;
    }
    case kThrottleEvent: {
      if (GetArena() == nullptr) {
        delete _impl_.event_type_.throttle_event_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.event_type_.throttle_event_ != nullptr) {
          _impl_.event_type_.throttle_event_->Clear();
        }
      }
      break;
    }
    case EVENT_TYPE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = EVENT_TYPE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfEvent_class_data_ =
    PerfDataProto_PerfEvent::InternalGenerateClassData_(PerfDataProto_PerfEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEvent::GetClassData() const {
  return PerfDataProto_PerfEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEvent::GetClassData() const {
  return PerfDataProto_PerfEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfEvent::ParseTableT_
    PerfDataProto_PerfEvent::_table_ =
        PerfDataProto_PerfEvent::InternalGenerateParseTable_(PerfDataProto_PerfEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.header_ != nullptr);
    _impl_.header_->Clear();
  }
  _impl_.timestamp_ = ::uint64_t{0u};
  clear_event_type();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfEvent& this_ = static_cast<const PerfDataProto_PerfEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.PerfDataProto.EventHeader header = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.header_, this_._impl_.header_->GetCachedSize(), target,
        stream);
  }

  switch (this_.event_type_case()) {
    case kMmapEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.event_type_.mmap_event_, this_._impl_.event_type_.mmap_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSampleEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.event_type_.sample_event_, this_._impl_.event_type_.sample_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCommEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.event_type_.comm_event_, this_._impl_.event_type_.comm_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kForkEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, *this_._impl_.event_type_.fork_event_, this_._impl_.event_type_.fork_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kLostEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, *this_._impl_.event_type_.lost_event_, this_._impl_.event_type_.lost_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kThrottleEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.event_type_.throttle_event_, this_._impl_.event_type_.throttle_event_->GetCachedSize(), target,
          stream);
      break;
    }
    case kExitEvent: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.event_type_.exit_event_, this_._impl_.event_type_.exit_event_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // uint64 timestamp = 10;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        10, this_._internal_timestamp(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfEvent::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfEvent& this_ = static_cast<const PerfDataProto_PerfEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfEvent::ByteSizeLong() const {
  const PerfDataProto_PerfEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // .metrics.PerfDataProto.EventHeader header = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.header_);
    }
    // uint64 timestamp = 10;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_timestamp());
    }
  }
  switch (this_.event_type_case()) {
    // .metrics.PerfDataProto.MMapEvent mmap_event = 2;
    case kMmapEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.mmap_event_);
      break;
    }
    // .metrics.PerfDataProto.SampleEvent sample_event = 3;
    case kSampleEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.sample_event_);
      break;
    }
    // .metrics.PerfDataProto.CommEvent comm_event = 4;
    case kCommEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.comm_event_);
      break;
    }
    // .metrics.PerfDataProto.ForkEvent fork_event = 5;
    case kForkEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.fork_event_);
      break;
    }
    // .metrics.PerfDataProto.ForkEvent exit_event = 9;
    case kExitEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.exit_event_);
      break;
    }
    // .metrics.PerfDataProto.LostEvent lost_event = 6;
    case kLostEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.lost_event_);
      break;
    }
    // .metrics.PerfDataProto.ThrottleEvent throttle_event = 7;
    case kThrottleEvent: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.event_type_.throttle_event_);
      break;
    }
    case EVENT_TYPE_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfEvent*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.header_ != nullptr);
      if (_this->_impl_.header_ == nullptr) {
        _this->_impl_.header_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.header_);
      } else {
        _this->_impl_.header_->MergeFrom(*from._impl_.header_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.timestamp_ = from._impl_.timestamp_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_event_type();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kMmapEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.mmap_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.mmap_event_);
        } else {
          _this->_impl_.event_type_.mmap_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.mmap_event_);
        }
        break;
      }
      case kSampleEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.sample_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.sample_event_);
        } else {
          _this->_impl_.event_type_.sample_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.sample_event_);
        }
        break;
      }
      case kCommEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.comm_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.comm_event_);
        } else {
          _this->_impl_.event_type_.comm_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.comm_event_);
        }
        break;
      }
      case kForkEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.fork_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.fork_event_);
        } else {
          _this->_impl_.event_type_.fork_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.fork_event_);
        }
        break;
      }
      case kExitEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.exit_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.exit_event_);
        } else {
          _this->_impl_.event_type_.exit_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.exit_event_);
        }
        break;
      }
      case kLostEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.lost_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.lost_event_);
        } else {
          _this->_impl_.event_type_.lost_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.lost_event_);
        }
        break;
      }
      case kThrottleEvent: {
        if (oneof_needs_init) {
          _this->_impl_.event_type_.throttle_event_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.event_type_.throttle_event_);
        } else {
          _this->_impl_.event_type_.throttle_event_->CheckTypeAndMergeFrom(*from._impl_.event_type_.throttle_event_);
        }
        break;
      }
      case EVENT_TYPE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfEvent::CopyFrom(const PerfDataProto_PerfEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfEvent::InternalSwap(PerfDataProto_PerfEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.timestamp_)
      + sizeof(PerfDataProto_PerfEvent::_impl_.timestamp_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEvent, _impl_.header_)>(
          reinterpret_cast<char*>(&_impl_.header_),
          reinterpret_cast<char*>(&other->_impl_.header_));
  swap(_impl_.event_type_, other->_impl_.event_type_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// ===================================================================

PerfDataProto_PerfEventStats::PerfDataProto_PerfEventStats(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventStats_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfEventStats)
}
PerfDataProto_PerfEventStats::PerfDataProto_PerfEventStats(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_PerfEventStats& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfEventStats_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfEventStats::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_PerfEventStats::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, num_events_read_),
           0,
           offsetof(Impl_, did_remap_) -
               offsetof(Impl_, num_events_read_) +
               sizeof(Impl_::did_remap_));
}
PerfDataProto_PerfEventStats::~PerfDataProto_PerfEventStats() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfEventStats)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfEventStats::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfEventStats& this_ = static_cast<PerfDataProto_PerfEventStats&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfEventStats_class_data_ =
    PerfDataProto_PerfEventStats::InternalGenerateClassData_(PerfDataProto_PerfEventStats_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventStats::GetClassData() const {
  return PerfDataProto_PerfEventStats_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfEventStats::GetClassData() const {
  return PerfDataProto_PerfEventStats_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfEventStats::ParseTableT_
    PerfDataProto_PerfEventStats::_table_ =
        PerfDataProto_PerfEventStats::InternalGenerateParseTable_(PerfDataProto_PerfEventStats_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfEventStats::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfEventStats)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    ::memset(&_impl_.num_events_read_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.did_remap_) -
        reinterpret_cast<char*>(&_impl_.num_events_read_)) + sizeof(_impl_.did_remap_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventStats::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfEventStats& this_ = static_cast<const PerfDataProto_PerfEventStats&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfEventStats::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfEventStats& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfEventStats)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 num_events_read = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_num_events_read(), target);
  }

  // uint32 num_sample_events = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_num_sample_events(), target);
  }

  // uint32 num_mmap_events = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_num_mmap_events(), target);
  }

  // uint32 num_fork_events = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this_._internal_num_fork_events(), target);
  }

  // uint32 num_exit_events = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this_._internal_num_exit_events(), target);
  }

  // uint32 num_sample_events_mapped = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_num_sample_events_mapped(), target);
  }

  // bool did_remap = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_did_remap(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfEventStats)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfEventStats::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfEventStats& this_ = static_cast<const PerfDataProto_PerfEventStats&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfEventStats::ByteSizeLong() const {
  const PerfDataProto_PerfEventStats& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfEventStats)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000040U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // uint32 num_events_read = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_events_read());
    }
    // uint32 num_sample_events = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_sample_events());
    }
    // uint32 num_mmap_events = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_mmap_events());
    }
    // uint32 num_fork_events = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_fork_events());
    }
    // uint32 num_exit_events = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_exit_events());
    }
    // uint32 num_sample_events_mapped = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_num_sample_events_mapped());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfEventStats::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfEventStats*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfEventStats&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfEventStats)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.num_events_read_ = from._impl_.num_events_read_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.num_sample_events_ = from._impl_.num_sample_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.num_mmap_events_ = from._impl_.num_mmap_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.num_fork_events_ = from._impl_.num_fork_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.num_exit_events_ = from._impl_.num_exit_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.num_sample_events_mapped_ = from._impl_.num_sample_events_mapped_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.did_remap_ = from._impl_.did_remap_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfEventStats::CopyFrom(const PerfDataProto_PerfEventStats& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfEventStats)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfEventStats::InternalSwap(PerfDataProto_PerfEventStats* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.did_remap_)
      + sizeof(PerfDataProto_PerfEventStats::_impl_.did_remap_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfEventStats, _impl_.num_events_read_)>(
          reinterpret_cast<char*>(&_impl_.num_events_read_),
          reinterpret_cast<char*>(&other->_impl_.num_events_read_));
}

// ===================================================================

PerfDataProto_PerfBuildID::PerfDataProto_PerfBuildID(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfBuildID_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfBuildID)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfBuildID::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_PerfBuildID& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        build_id_hash_(arena, from.build_id_hash_) {}

PerfDataProto_PerfBuildID::PerfDataProto_PerfBuildID(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_PerfBuildID& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfBuildID_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_PerfBuildID* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, misc_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, misc_),
           offsetof(Impl_, filename_md5_prefix_) -
               offsetof(Impl_, misc_) +
               sizeof(Impl_::filename_md5_prefix_));

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.PerfBuildID)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfBuildID::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        build_id_hash_(arena) {}

inline void PerfDataProto_PerfBuildID::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, misc_),
           0,
           offsetof(Impl_, filename_md5_prefix_) -
               offsetof(Impl_, misc_) +
               sizeof(Impl_::filename_md5_prefix_));
}
PerfDataProto_PerfBuildID::~PerfDataProto_PerfBuildID() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfBuildID)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfBuildID::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfBuildID& this_ = static_cast<PerfDataProto_PerfBuildID&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.build_id_hash_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfBuildID_class_data_ =
    PerfDataProto_PerfBuildID::InternalGenerateClassData_(PerfDataProto_PerfBuildID_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfBuildID::GetClassData() const {
  return PerfDataProto_PerfBuildID_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfBuildID::GetClassData() const {
  return PerfDataProto_PerfBuildID_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfBuildID::ParseTableT_
    PerfDataProto_PerfBuildID::_table_ =
        PerfDataProto_PerfBuildID::InternalGenerateParseTable_(PerfDataProto_PerfBuildID_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfBuildID::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfBuildID)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.build_id_hash_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000eU)) {
    ::memset(&_impl_.misc_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.filename_md5_prefix_) -
        reinterpret_cast<char*>(&_impl_.misc_)) + sizeof(_impl_.filename_md5_prefix_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfBuildID::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfBuildID& this_ = static_cast<const PerfDataProto_PerfBuildID&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfBuildID::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfBuildID& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfBuildID)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 misc = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_misc(), target);
  }

  // uint32 pid = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_pid(), target);
  }

  // bytes build_id_hash = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_build_id_hash();
    target = stream->WriteBytesMaybeAliased(3, _s, target);
  }

  // uint64 filename_md5_prefix = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_filename_md5_prefix(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfBuildID)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfBuildID::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfBuildID& this_ = static_cast<const PerfDataProto_PerfBuildID&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfBuildID::ByteSizeLong() const {
  const PerfDataProto_PerfBuildID& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfBuildID)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // bytes build_id_hash = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_build_id_hash());
    }
    // uint32 misc = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_misc());
    }
    // uint32 pid = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_pid());
    }
    // uint64 filename_md5_prefix = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_filename_md5_prefix());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfBuildID::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfBuildID*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfBuildID&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfBuildID)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_build_id_hash(from._internal_build_id_hash());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.misc_ = from._impl_.misc_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.pid_ = from._impl_.pid_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.filename_md5_prefix_ = from._impl_.filename_md5_prefix_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfBuildID::CopyFrom(const PerfDataProto_PerfBuildID& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfBuildID)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfBuildID::InternalSwap(PerfDataProto_PerfBuildID* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.build_id_hash_, &other->_impl_.build_id_hash_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.filename_md5_prefix_)
      + sizeof(PerfDataProto_PerfBuildID::_impl_.filename_md5_prefix_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfBuildID, _impl_.misc_)>(
          reinterpret_cast<char*>(&_impl_.misc_),
          reinterpret_cast<char*>(&other->_impl_.misc_));
}

// ===================================================================

PerfDataProto_PerfPMUMappingsMetadata::PerfDataProto_PerfPMUMappingsMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfPMUMappingsMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfPMUMappingsMetadata)
}
PerfDataProto_PerfPMUMappingsMetadata::PerfDataProto_PerfPMUMappingsMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_PerfPMUMappingsMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfPMUMappingsMetadata_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfPMUMappingsMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_PerfPMUMappingsMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, name_md5_prefix_),
           0,
           offsetof(Impl_, type_) -
               offsetof(Impl_, name_md5_prefix_) +
               sizeof(Impl_::type_));
}
PerfDataProto_PerfPMUMappingsMetadata::~PerfDataProto_PerfPMUMappingsMetadata() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfPMUMappingsMetadata::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfPMUMappingsMetadata& this_ = static_cast<PerfDataProto_PerfPMUMappingsMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfPMUMappingsMetadata_class_data_ =
    PerfDataProto_PerfPMUMappingsMetadata::InternalGenerateClassData_(PerfDataProto_PerfPMUMappingsMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfPMUMappingsMetadata::GetClassData() const {
  return PerfDataProto_PerfPMUMappingsMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfPMUMappingsMetadata::GetClassData() const {
  return PerfDataProto_PerfPMUMappingsMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfPMUMappingsMetadata::ParseTableT_
    PerfDataProto_PerfPMUMappingsMetadata::_table_ =
        PerfDataProto_PerfPMUMappingsMetadata::InternalGenerateParseTable_(PerfDataProto_PerfPMUMappingsMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfPMUMappingsMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.name_md5_prefix_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.type_) -
        reinterpret_cast<char*>(&_impl_.name_md5_prefix_)) + sizeof(_impl_.type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfPMUMappingsMetadata::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfPMUMappingsMetadata& this_ = static_cast<const PerfDataProto_PerfPMUMappingsMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfPMUMappingsMetadata::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfPMUMappingsMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 type = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_type(), target);
  }

  // uint64 name_md5_prefix = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_name_md5_prefix(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfPMUMappingsMetadata::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfPMUMappingsMetadata& this_ = static_cast<const PerfDataProto_PerfPMUMappingsMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfPMUMappingsMetadata::ByteSizeLong() const {
  const PerfDataProto_PerfPMUMappingsMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // uint64 name_md5_prefix = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_name_md5_prefix());
    }
    // uint32 type = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfPMUMappingsMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfPMUMappingsMetadata*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfPMUMappingsMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.name_md5_prefix_ = from._impl_.name_md5_prefix_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfPMUMappingsMetadata::CopyFrom(const PerfDataProto_PerfPMUMappingsMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfPMUMappingsMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfPMUMappingsMetadata::InternalSwap(PerfDataProto_PerfPMUMappingsMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.type_)
      + sizeof(PerfDataProto_PerfPMUMappingsMetadata::_impl_.type_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto_PerfPMUMappingsMetadata, _impl_.name_md5_prefix_)>(
          reinterpret_cast<char*>(&_impl_.name_md5_prefix_),
          reinterpret_cast<char*>(&other->_impl_.name_md5_prefix_));
}

// ===================================================================

PerfDataProto_PerfHybridTopologyMetadata::PerfDataProto_PerfHybridTopologyMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfHybridTopologyMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.PerfHybridTopologyMetadata)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfHybridTopologyMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_PerfHybridTopologyMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cpu_list_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto_PerfHybridTopologyMetadata,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfHybridTopologyMetadata, _impl_.cpu_list_)>()
          , from.cpu_list_
        }
        ,
        _cpu_list_cached_byte_size_{0} {}

PerfDataProto_PerfHybridTopologyMetadata::PerfDataProto_PerfHybridTopologyMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_PerfHybridTopologyMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_PerfHybridTopologyMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_PerfHybridTopologyMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.pmu_name_md5_prefix_ = from._impl_.pmu_name_md5_prefix_;

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.PerfHybridTopologyMetadata)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_PerfHybridTopologyMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        cpu_list_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto_PerfHybridTopologyMetadata,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto_PerfHybridTopologyMetadata, _impl_.cpu_list_)>()
         }
        ,
        _cpu_list_cached_byte_size_{0} {}

inline void PerfDataProto_PerfHybridTopologyMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.pmu_name_md5_prefix_ = {};
}
PerfDataProto_PerfHybridTopologyMetadata::~PerfDataProto_PerfHybridTopologyMetadata() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  SharedDtor(*this);
}
inline void PerfDataProto_PerfHybridTopologyMetadata::SharedDtor(MessageLite& self) {
  PerfDataProto_PerfHybridTopologyMetadata& this_ = static_cast<PerfDataProto_PerfHybridTopologyMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_PerfHybridTopologyMetadata_class_data_ =
    PerfDataProto_PerfHybridTopologyMetadata::InternalGenerateClassData_(PerfDataProto_PerfHybridTopologyMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfHybridTopologyMetadata::GetClassData() const {
  return PerfDataProto_PerfHybridTopologyMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_PerfHybridTopologyMetadata::GetClassData() const {
  return PerfDataProto_PerfHybridTopologyMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_PerfHybridTopologyMetadata::ParseTableT_
    PerfDataProto_PerfHybridTopologyMetadata::_table_ =
        PerfDataProto_PerfHybridTopologyMetadata::InternalGenerateParseTable_(PerfDataProto_PerfHybridTopologyMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_PerfHybridTopologyMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.cpu_list_.Clear();
  }
  _impl_.pmu_name_md5_prefix_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfHybridTopologyMetadata::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_PerfHybridTopologyMetadata& this_ = static_cast<const PerfDataProto_PerfHybridTopologyMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_PerfHybridTopologyMetadata::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_PerfHybridTopologyMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 pmu_name_md5_prefix = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_pmu_name_md5_prefix(), target);
  }

  // repeated uint32 cpu_list = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._cpu_list_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteUInt32Packed(
            4, this_._internal_cpu_list(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_PerfHybridTopologyMetadata::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_PerfHybridTopologyMetadata& this_ = static_cast<const PerfDataProto_PerfHybridTopologyMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_PerfHybridTopologyMetadata::ByteSizeLong() const {
  const PerfDataProto_PerfHybridTopologyMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated uint32 cpu_list = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::UInt32SizeWithPackedTagSize(
              this_._internal_cpu_list(), 1,
              this_._impl_._cpu_list_cached_byte_size_);
    }
    // uint64 pmu_name_md5_prefix = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_pmu_name_md5_prefix());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_PerfHybridTopologyMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_PerfHybridTopologyMetadata*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_PerfHybridTopologyMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_cpu_list()->MergeFrom(from._internal_cpu_list());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.pmu_name_md5_prefix_ = from._impl_.pmu_name_md5_prefix_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_PerfHybridTopologyMetadata::CopyFrom(const PerfDataProto_PerfHybridTopologyMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.PerfHybridTopologyMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_PerfHybridTopologyMetadata::InternalSwap(PerfDataProto_PerfHybridTopologyMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cpu_list_.InternalSwap(&other->_impl_.cpu_list_);
  swap(_impl_.pmu_name_md5_prefix_, other->_impl_.pmu_name_md5_prefix_);
}

// ===================================================================

PerfDataProto_StringMetadata_StringAndMd5sumPrefix::PerfDataProto_StringMetadata_StringAndMd5sumPrefix(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_StringMetadata_StringAndMd5sumPrefix_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
}
PerfDataProto_StringMetadata_StringAndMd5sumPrefix::PerfDataProto_StringMetadata_StringAndMd5sumPrefix(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_StringMetadata_StringAndMd5sumPrefix_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_StringMetadata_StringAndMd5sumPrefix::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.value_md5_prefix_ = {};
}
PerfDataProto_StringMetadata_StringAndMd5sumPrefix::~PerfDataProto_StringMetadata_StringAndMd5sumPrefix() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  SharedDtor(*this);
}
inline void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::SharedDtor(MessageLite& self) {
  PerfDataProto_StringMetadata_StringAndMd5sumPrefix& this_ = static_cast<PerfDataProto_StringMetadata_StringAndMd5sumPrefix&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_StringMetadata_StringAndMd5sumPrefix_class_data_ =
    PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalGenerateClassData_(PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_StringMetadata_StringAndMd5sumPrefix::GetClassData() const {
  return PerfDataProto_StringMetadata_StringAndMd5sumPrefix_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_StringMetadata_StringAndMd5sumPrefix::GetClassData() const {
  return PerfDataProto_StringMetadata_StringAndMd5sumPrefix_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_StringMetadata_StringAndMd5sumPrefix::ParseTableT_
    PerfDataProto_StringMetadata_StringAndMd5sumPrefix::_table_ =
        PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalGenerateParseTable_(PerfDataProto_StringMetadata_StringAndMd5sumPrefix_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.value_md5_prefix_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_StringMetadata_StringAndMd5sumPrefix::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& this_ = static_cast<const PerfDataProto_StringMetadata_StringAndMd5sumPrefix&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_StringMetadata_StringAndMd5sumPrefix::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 value_md5_prefix = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_value_md5_prefix(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_StringMetadata_StringAndMd5sumPrefix::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& this_ = static_cast<const PerfDataProto_StringMetadata_StringAndMd5sumPrefix&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_StringMetadata_StringAndMd5sumPrefix::ByteSizeLong() const {
  const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // uint64 value_md5_prefix = 2;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_value_md5_prefix());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_StringMetadata_StringAndMd5sumPrefix*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_StringMetadata_StringAndMd5sumPrefix&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_impl_.value_md5_prefix_ = from._impl_.value_md5_prefix_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::CopyFrom(const PerfDataProto_StringMetadata_StringAndMd5sumPrefix& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_StringMetadata_StringAndMd5sumPrefix::InternalSwap(PerfDataProto_StringMetadata_StringAndMd5sumPrefix* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.value_md5_prefix_, other->_impl_.value_md5_prefix_);
}

// ===================================================================

PerfDataProto_StringMetadata::PerfDataProto_StringMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_StringMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto.StringMetadata)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_StringMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto_StringMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PerfDataProto_StringMetadata::PerfDataProto_StringMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto_StringMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_StringMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto_StringMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.perf_command_line_whole_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.perf_command_line_whole_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto.StringMetadata)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto_StringMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PerfDataProto_StringMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.perf_command_line_whole_ = {};
}
PerfDataProto_StringMetadata::~PerfDataProto_StringMetadata() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto.StringMetadata)
  SharedDtor(*this);
}
inline void PerfDataProto_StringMetadata::SharedDtor(MessageLite& self) {
  PerfDataProto_StringMetadata& this_ = static_cast<PerfDataProto_StringMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.perf_command_line_whole_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_StringMetadata_class_data_ =
    PerfDataProto_StringMetadata::InternalGenerateClassData_(PerfDataProto_StringMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_StringMetadata::GetClassData() const {
  return PerfDataProto_StringMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto_StringMetadata::GetClassData() const {
  return PerfDataProto_StringMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto_StringMetadata::ParseTableT_
    PerfDataProto_StringMetadata::_table_ =
        PerfDataProto_StringMetadata::InternalGenerateParseTable_(PerfDataProto_StringMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto_StringMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto.StringMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.perf_command_line_whole_ != nullptr);
    _impl_.perf_command_line_whole_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto_StringMetadata::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto_StringMetadata& this_ = static_cast<const PerfDataProto_StringMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto_StringMetadata::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto_StringMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto.StringMetadata)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // .metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix perf_command_line_whole = 8;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.perf_command_line_whole_, this_._impl_.perf_command_line_whole_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto.StringMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto_StringMetadata::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto_StringMetadata& this_ = static_cast<const PerfDataProto_StringMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto_StringMetadata::ByteSizeLong() const {
  const PerfDataProto_StringMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto.StringMetadata)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

   {
    // .metrics.PerfDataProto.StringMetadata.StringAndMd5sumPrefix perf_command_line_whole = 8;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.perf_command_line_whole_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto_StringMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto_StringMetadata*>(&to_msg);
  auto& from = static_cast<const PerfDataProto_StringMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto.StringMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(from._impl_.perf_command_line_whole_ != nullptr);
    if (_this->_impl_.perf_command_line_whole_ == nullptr) {
      _this->_impl_.perf_command_line_whole_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.perf_command_line_whole_);
    } else {
      _this->_impl_.perf_command_line_whole_->MergeFrom(*from._impl_.perf_command_line_whole_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto_StringMetadata::CopyFrom(const PerfDataProto_StringMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto.StringMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto_StringMetadata::InternalSwap(PerfDataProto_StringMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.perf_command_line_whole_, other->_impl_.perf_command_line_whole_);
}

// ===================================================================

PerfDataProto::PerfDataProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:metrics.PerfDataProto)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::metrics::PerfDataProto& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        file_attrs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.file_attrs_)>()
          , from.file_attrs_
        }
        ,
        events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.events_)>()
          , from.events_
        }
        ,
        build_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.build_ids_)>()
          , from.build_ids_
        }
        ,
        event_types_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.event_types_)>()
          , from.event_types_
        }
        ,
        pmu_mappings_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.pmu_mappings_)>()
          , from.pmu_mappings_
        }
        ,
        hybrid_topology_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::metrics::PerfDataProto,
              PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.hybrid_topology_)>()
          , from.hybrid_topology_
        }
     {}

PerfDataProto::PerfDataProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PerfDataProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PerfDataProto_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PerfDataProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.stats_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.stats_)
                : nullptr;
  _impl_.string_metadata_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.string_metadata_)
                : nullptr;
  _impl_.timestamp_sec_ = from._impl_.timestamp_sec_;

  // @@protoc_insertion_point(copy_constructor:metrics.PerfDataProto)
}
PROTOBUF_NDEBUG_INLINE PerfDataProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        file_attrs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.file_attrs_)>()
         }
        ,
        events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.events_)>()
         }
        ,
        build_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.build_ids_)>()
         }
        ,
        event_types_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.event_types_)>()
         }
        ,
        pmu_mappings_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.pmu_mappings_)>()
         }
        ,
        hybrid_topology_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::metrics::PerfDataProto,
            PROTOBUF_FIELD_OFFSET(::metrics::PerfDataProto, _impl_.hybrid_topology_)>()
         }
     {}

inline void PerfDataProto::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, stats_),
           0,
           offsetof(Impl_, timestamp_sec_) -
               offsetof(Impl_, stats_) +
               sizeof(Impl_::timestamp_sec_));
}
PerfDataProto::~PerfDataProto() {
  // @@protoc_insertion_point(destructor:metrics.PerfDataProto)
  SharedDtor(*this);
}
inline void PerfDataProto::SharedDtor(MessageLite& self) {
  PerfDataProto& this_ = static_cast<PerfDataProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.stats_;
  delete this_._impl_.string_metadata_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PerfDataProto_class_data_ =
    PerfDataProto::InternalGenerateClassData_(PerfDataProto_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto::GetClassData() const {
  return PerfDataProto_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PerfDataProto::GetClassData() const {
  return PerfDataProto_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PerfDataProto::ParseTableT_
    PerfDataProto::_table_ =
        PerfDataProto::InternalGenerateParseTable_(PerfDataProto_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PerfDataProto::Clear() {
// @@protoc_insertion_point(message_clear_start:metrics.PerfDataProto)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.file_attrs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.build_ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.event_types_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.pmu_mappings_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.stats_ != nullptr);
      _impl_.stats_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.string_metadata_ != nullptr);
      _impl_.string_metadata_->Clear();
    }
  }
  _impl_.timestamp_sec_ = ::uint64_t{0u};
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _impl_.hybrid_topology_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL PerfDataProto::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const PerfDataProto& this_ = static_cast<const PerfDataProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL PerfDataProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const PerfDataProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:metrics.PerfDataProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .metrics.PerfDataProto.PerfFileAttr file_attrs = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_file_attrs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_file_attrs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .metrics.PerfDataProto.PerfEvent events = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_events_size());
         i < n; i++) {
      const auto& repfield = this_._internal_events().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint64 timestamp_sec = 3;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this_._internal_timestamp_sec(), target);
  }

  // .metrics.PerfDataProto.PerfEventStats stats = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.stats_, this_._impl_.stats_->GetCachedSize(), target,
        stream);
  }

  // repeated .metrics.PerfDataProto.PerfBuildID build_ids = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_build_ids_size());
         i < n; i++) {
      const auto& repfield = this_._internal_build_ids().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              7, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .metrics.PerfDataProto.PerfEventType event_types = 10;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_event_types_size());
         i < n; i++) {
      const auto& repfield = this_._internal_event_types().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              10, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .metrics.PerfDataProto.StringMetadata string_metadata = 13;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.string_metadata_, this_._impl_.string_metadata_->GetCachedSize(), target,
        stream);
  }

  // repeated .metrics.PerfDataProto.PerfPMUMappingsMetadata pmu_mappings = 15;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_pmu_mappings_size());
         i < n; i++) {
      const auto& repfield = this_._internal_pmu_mappings().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              15, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .metrics.PerfDataProto.PerfHybridTopologyMetadata hybrid_topology = 17;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_hybrid_topology_size());
         i < n; i++) {
      const auto& repfield = this_._internal_hybrid_topology().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              17, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:metrics.PerfDataProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PerfDataProto::ByteSizeLong(const MessageLite& base) {
  const PerfDataProto& this_ = static_cast<const PerfDataProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PerfDataProto::ByteSizeLong() const {
  const PerfDataProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:metrics.PerfDataProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .metrics.PerfDataProto.PerfFileAttr file_attrs = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_file_attrs_size();
      for (const auto& msg : this_._internal_file_attrs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.PerfDataProto.PerfEvent events = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_events_size();
      for (const auto& msg : this_._internal_events()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.PerfDataProto.PerfBuildID build_ids = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_build_ids_size();
      for (const auto& msg : this_._internal_build_ids()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.PerfDataProto.PerfEventType event_types = 10;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_event_types_size();
      for (const auto& msg : this_._internal_event_types()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .metrics.PerfDataProto.PerfPMUMappingsMetadata pmu_mappings = 15;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_pmu_mappings_size();
      for (const auto& msg : this_._internal_pmu_mappings()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .metrics.PerfDataProto.PerfEventStats stats = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.stats_);
    }
    // .metrics.PerfDataProto.StringMetadata string_metadata = 13;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.string_metadata_);
    }
    // uint64 timestamp_sec = 3;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_timestamp_sec());
    }
  }
   {
    // repeated .metrics.PerfDataProto.PerfHybridTopologyMetadata hybrid_topology = 17;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2UL * this_._internal_hybrid_topology_size();
      for (const auto& msg : this_._internal_hybrid_topology()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PerfDataProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PerfDataProto*>(&to_msg);
  auto& from = static_cast<const PerfDataProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:metrics.PerfDataProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_file_attrs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_file_attrs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_events()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_events());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_build_ids()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_build_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_event_types()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_event_types());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_pmu_mappings()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_pmu_mappings());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.stats_ != nullptr);
      if (_this->_impl_.stats_ == nullptr) {
        _this->_impl_.stats_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.stats_);
      } else {
        _this->_impl_.stats_->MergeFrom(*from._impl_.stats_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.string_metadata_ != nullptr);
      if (_this->_impl_.string_metadata_ == nullptr) {
        _this->_impl_.string_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.string_metadata_);
      } else {
        _this->_impl_.string_metadata_->MergeFrom(*from._impl_.string_metadata_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.timestamp_sec_ = from._impl_.timestamp_sec_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_internal_mutable_hybrid_topology()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_hybrid_topology());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void PerfDataProto::CopyFrom(const PerfDataProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:metrics.PerfDataProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void PerfDataProto::InternalSwap(PerfDataProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.file_attrs_.InternalSwap(&other->_impl_.file_attrs_);
  _impl_.events_.InternalSwap(&other->_impl_.events_);
  _impl_.build_ids_.InternalSwap(&other->_impl_.build_ids_);
  _impl_.event_types_.InternalSwap(&other->_impl_.event_types_);
  _impl_.pmu_mappings_.InternalSwap(&other->_impl_.pmu_mappings_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.timestamp_sec_)
      + sizeof(PerfDataProto::_impl_.timestamp_sec_)
      - PROTOBUF_FIELD_OFFSET(PerfDataProto, _impl_.stats_)>(
          reinterpret_cast<char*>(&_impl_.stats_),
          reinterpret_cast<char*>(&other->_impl_.stats_));
  _impl_.hybrid_topology_.InternalSwap(&other->_impl_.hybrid_topology_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace metrics
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
