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

#include "opentelemetry/proto/trace/v1/trace.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/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
// @@protoc_insertion_point(includes)

// 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;
#ifdef PROTOBUF_MESSAGE_GLOBALS
namespace {
PROTOBUF_CONSTINIT ::google::protobuf::internal::ReflectionData
    file_reflection_data[] = {
        // ::opentelemetry::proto::trace::v1::TracesData
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::ResourceSpans
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::ScopeSpans
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::Span_Event
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::Span_Link
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::Span
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
        // ::opentelemetry::proto::trace::v1::Status
        {&::_pbi::kDescriptorMethods, &::descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto, /* tracker*/ nullptr,},
};
}  // namespace
#endif
namespace opentelemetry {
namespace proto {
namespace trace {
namespace v1 {
class Status::_Internal {
 public:
  using HasBits = decltype(::std::declval<Status>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(Status, _impl_._has_bits_);
};

constexpr Status::ParseTableT_ Status::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Status, _impl_._has_bits_),
      0, // no _extensions_
      3, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967289,  // 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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Status>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string message = 2;
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Status, _impl_.message_)}},
      // .opentelemetry.proto.trace.v1.Status.StatusCode code = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Status, _impl_.code_), 1>(),
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(Status, _impl_.code_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string message = 2;
      {PROTOBUF_FIELD_OFFSET(Status, _impl_.message_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .opentelemetry.proto.trace.v1.Status.StatusCode code = 3;
      {PROTOBUF_FIELD_OFFSET(Status, _impl_.code_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
      "\43\7\0\0\0\0\0\0"
      "opentelemetry.proto.trace.v1.Status"
      "message"
    }},
  };
}


inline constexpr Status::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        message_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        code_{static_cast< ::opentelemetry::proto::trace::v1::Status_StatusCode >(0)} {}

template <typename>
constexpr Status::Status(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Status::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Status(arena);
}
constexpr auto Status::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Status), alignof(Status));
}
constexpr auto Status::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Status::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Status>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Status::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Status>(), &Status::ByteSizeLong,
              &Status::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Status, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[6],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct StatusGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr StatusGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Status_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Status::InternalGenerateClassData_(
            _default, &Status_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Status>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~StatusGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Status _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Status>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(StatusGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Span_Link::ParseTableT_ Span_Link::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Span_Link, _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
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span_Link>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bytes trace_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.trace_id_)}},
      // bytes span_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.span_id_)}},
      // string trace_state = 3;
      {::_pbi::TcParser::FastUS1,
       {26, 3, 0,
        PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.trace_state_)}},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.attributes_)}},
      // uint32 dropped_attributes_count = 5;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span_Link, _impl_.dropped_attributes_count_), 4>(),
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.dropped_attributes_count_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // bytes trace_id = 1;
      {PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.trace_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // bytes span_id = 2;
      {PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.span_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string trace_state = 3;
      {PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.trace_state_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 4;
      {PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.attributes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 dropped_attributes_count = 5;
      {PROTOBUF_FIELD_OFFSET(Span_Link, _impl_.dropped_attributes_count_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::common::v1::KeyValue>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::common::v1::KeyValue_globals_},
        #endif
    }},
    {{
      "\46\0\0\13\0\0\0\0"
      "opentelemetry.proto.trace.v1.Span.Link"
      "trace_state"
    }},
  };
}


inline constexpr Span_Link::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span_Link,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.attributes_)>()
         }
        ,
        trace_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        span_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        trace_state_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dropped_attributes_count_{0u} {}

template <typename>
constexpr Span_Link::Span_Link(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Span_Link::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Span_Link(arena);
}
constexpr auto Span_Link::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Span_Link), alignof(Span_Link));
}
constexpr auto Span_Link::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Span_Link::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Span_Link>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Span_Link::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Span_Link>(), &Span_Link::ByteSizeLong,
              &Span_Link::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Span_Link, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[4],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct Span_LinkGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr Span_LinkGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Span_Link_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Span_Link::InternalGenerateClassData_(
            _default, &Span_Link_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Span_Link>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~Span_LinkGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Span_Link _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Span_Link>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(Span_LinkGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Span_Event::ParseTableT_ Span_Event::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Span_Event, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span_Event>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint32 dropped_attributes_count = 4;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span_Event, _impl_.dropped_attributes_count_), 3>(),
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.dropped_attributes_count_)}},
      // fixed64 time_unix_nano = 1;
      {::_pbi::TcParser::FastF64S1,
       {9, 2, 0,
        PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.time_unix_nano_)}},
      // string name = 2;
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.name_)}},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.attributes_)}},
    }}, {{
      65535, 65535
    }}, {{
      // fixed64 time_unix_nano = 1;
      {PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.time_unix_nano_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // string name = 2;
      {PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 3;
      {PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.attributes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 dropped_attributes_count = 4;
      {PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.dropped_attributes_count_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::common::v1::KeyValue>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::common::v1::KeyValue_globals_},
        #endif
    }},
    {{
      "\47\0\4\0\0\0\0\0"
      "opentelemetry.proto.trace.v1.Span.Event"
      "name"
    }},
  };
}


inline constexpr Span_Event::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span_Event,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.attributes_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        time_unix_nano_{::uint64_t{0u}},
        dropped_attributes_count_{0u} {}

template <typename>
constexpr Span_Event::Span_Event(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Span_Event::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Span_Event(arena);
}
constexpr auto Span_Event::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Span_Event), alignof(Span_Event));
}
constexpr auto Span_Event::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Span_Event::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Span_Event>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Span_Event::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Span_Event>(), &Span_Event::ByteSizeLong,
              &Span_Event::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Span_Event, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[3],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct Span_EventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr Span_EventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Span_Event_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Span_Event::InternalGenerateClassData_(
            _default, &Span_Event_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Span_Event>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~Span_EventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Span_Event _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Span_Event>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(Span_EventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Span::ParseTableT_ Span::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Span, _impl_._has_bits_),
      0, // no _extensions_
      15, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294934528,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bytes trace_id = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 3, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.trace_id_)}},
      // bytes span_id = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.span_id_)}},
      // string trace_state = 3;
      {::_pbi::TcParser::FastUS1,
       {26, 5, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.trace_state_)}},
      // bytes parent_span_id = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 6, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.parent_span_id_)}},
      // string name = 5;
      {::_pbi::TcParser::FastUS1,
       {42, 7, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.name_)}},
      // .opentelemetry.proto.trace.v1.Span.SpanKind kind = 6;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span, _impl_.kind_), 11>(),
       {48, 11, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.kind_)}},
      // fixed64 start_time_unix_nano = 7;
      {::_pbi::TcParser::FastF64S1,
       {57, 9, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.start_time_unix_nano_)}},
      // fixed64 end_time_unix_nano = 8;
      {::_pbi::TcParser::FastF64S1,
       {65, 10, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.end_time_unix_nano_)}},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 0, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.attributes_)}},
      // uint32 dropped_attributes_count = 10;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span, _impl_.dropped_attributes_count_), 12>(),
       {80, 12, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_attributes_count_)}},
      // repeated .opentelemetry.proto.trace.v1.Span.Event events = 11;
      {::_pbi::TcParser::FastMtR1,
       {90, 1, 1,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.events_)}},
      // uint32 dropped_events_count = 12;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span, _impl_.dropped_events_count_), 13>(),
       {96, 13, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_events_count_)}},
      // repeated .opentelemetry.proto.trace.v1.Span.Link links = 13;
      {::_pbi::TcParser::FastMtR1,
       {106, 2, 2,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.links_)}},
      // uint32 dropped_links_count = 14;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Span, _impl_.dropped_links_count_), 14>(),
       {112, 14, 0,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_links_count_)}},
      // .opentelemetry.proto.trace.v1.Status status = 15;
      {::_pbi::TcParser::FastMtS1,
       {122, 8, 3,
        PROTOBUF_FIELD_OFFSET(Span, _impl_.status_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bytes trace_id = 1;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.trace_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // bytes span_id = 2;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.span_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string trace_state = 3;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.trace_state_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bytes parent_span_id = 4;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.parent_span_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string name = 5;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.name_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .opentelemetry.proto.trace.v1.Span.SpanKind kind = 6;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.kind_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // fixed64 start_time_unix_nano = 7;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.start_time_unix_nano_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // fixed64 end_time_unix_nano = 8;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.end_time_unix_nano_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.attributes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 dropped_attributes_count = 10;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_attributes_count_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated .opentelemetry.proto.trace.v1.Span.Event events = 11;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.events_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 dropped_events_count = 12;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_events_count_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated .opentelemetry.proto.trace.v1.Span.Link links = 13;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.links_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 dropped_links_count = 14;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_links_count_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // .opentelemetry.proto.trace.v1.Status status = 15;
      {PROTOBUF_FIELD_OFFSET(Span, _impl_.status_), _Internal::kHasBitsOffset + 8, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::common::v1::KeyValue>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::common::v1::KeyValue_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span_Event>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::Span_Event_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span_Link>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::Span_Link_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Status>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::Status_globals_},
        #endif
    }},
    {{
      "\41\0\0\13\0\4\0\0\0\0\0\0\0\0\0\0"
      "opentelemetry.proto.trace.v1.Span"
      "trace_state"
      "name"
    }},
  };
}


inline constexpr Span::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.attributes_)>()
         }
        ,
        events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.events_)>()
         }
        ,
        links_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.links_)>()
         }
        ,
        trace_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        span_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        trace_state_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        parent_span_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        status_{nullptr},
        start_time_unix_nano_{::uint64_t{0u}},
        end_time_unix_nano_{::uint64_t{0u}},
        kind_{static_cast< ::opentelemetry::proto::trace::v1::Span_SpanKind >(0)},
        dropped_attributes_count_{0u},
        dropped_events_count_{0u},
        dropped_links_count_{0u} {}

template <typename>
constexpr Span::Span(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Span::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Span(arena);
}
constexpr auto Span::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Span), alignof(Span));
}
constexpr auto Span::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Span::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Span>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Span::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Span>(), &Span::ByteSizeLong,
              &Span::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Span, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[5],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct SpanGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SpanGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Span_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Span::InternalGenerateClassData_(
            _default, &Span_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Span>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SpanGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Span _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Span>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SpanGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScopeSpans::ParseTableT_ ScopeSpans::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScopeSpans, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::ScopeSpans>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .opentelemetry.proto.common.v1.InstrumentationScope scope = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.scope_)}},
      // repeated .opentelemetry.proto.trace.v1.Span spans = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 1,
        PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.spans_)}},
      // string schema_url = 3;
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.schema_url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .opentelemetry.proto.common.v1.InstrumentationScope scope = 1;
      {PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.scope_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .opentelemetry.proto.trace.v1.Span spans = 2;
      {PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.spans_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string schema_url = 3;
      {PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_.schema_url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::common::v1::InstrumentationScope>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::common::v1::InstrumentationScope_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::Span>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::Span_globals_},
        #endif
    }},
    {{
      "\47\0\0\12\0\0\0\0"
      "opentelemetry.proto.trace.v1.ScopeSpans"
      "schema_url"
    }},
  };
}


inline constexpr ScopeSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::ScopeSpans,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.spans_)>()
         }
        ,
        schema_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        scope_{nullptr} {}

template <typename>
constexpr ScopeSpans::ScopeSpans(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScopeSpans::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScopeSpans(arena);
}
constexpr auto ScopeSpans::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScopeSpans), alignof(ScopeSpans));
}
constexpr auto ScopeSpans::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScopeSpans::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ScopeSpans>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScopeSpans::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ScopeSpans>(), &ScopeSpans::ByteSizeLong,
              &ScopeSpans::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScopeSpans, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[2],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ScopeSpansGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScopeSpansGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScopeSpans_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScopeSpans::InternalGenerateClassData_(
            _default, &ScopeSpans_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScopeSpans>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScopeSpansGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScopeSpans _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScopeSpans>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScopeSpansGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ResourceSpans::ParseTableT_ ResourceSpans::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ResourceSpans, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::ResourceSpans>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .opentelemetry.proto.resource.v1.Resource resource = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.resource_)}},
      // repeated .opentelemetry.proto.trace.v1.ScopeSpans scope_spans = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 1,
        PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.scope_spans_)}},
      // string schema_url = 3;
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.schema_url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .opentelemetry.proto.resource.v1.Resource resource = 1;
      {PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.resource_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .opentelemetry.proto.trace.v1.ScopeSpans scope_spans = 2;
      {PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.scope_spans_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string schema_url = 3;
      {PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_.schema_url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::resource::v1::Resource>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::resource::v1::Resource_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::ScopeSpans>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::ScopeSpans_globals_},
        #endif
    }},
    {{
      "\52\0\0\12\0\0\0\0"
      "opentelemetry.proto.trace.v1.ResourceSpans"
      "schema_url"
    }},
  };
}


inline constexpr ResourceSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        scope_spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::ResourceSpans,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.scope_spans_)>()
         }
        ,
        schema_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        resource_{nullptr} {}

template <typename>
constexpr ResourceSpans::ResourceSpans(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ResourceSpans::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ResourceSpans(arena);
}
constexpr auto ResourceSpans::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ResourceSpans), alignof(ResourceSpans));
}
constexpr auto ResourceSpans::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ResourceSpans::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<ResourceSpans>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ResourceSpans::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<ResourceSpans>(), &ResourceSpans::ByteSizeLong,
              &ResourceSpans::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ResourceSpans, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[1],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct ResourceSpansGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ResourceSpansGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ResourceSpans_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ResourceSpans::InternalGenerateClassData_(
            _default, &ResourceSpans_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ResourceSpans>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ResourceSpansGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ResourceSpans _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ResourceSpans>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ResourceSpansGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TracesData::ParseTableT_ TracesData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TracesData, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // 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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::TracesData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .opentelemetry.proto.trace.v1.ResourceSpans resource_spans = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TracesData, _impl_.resource_spans_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .opentelemetry.proto.trace.v1.ResourceSpans resource_spans = 1;
      {PROTOBUF_FIELD_OFFSET(TracesData, _impl_.resource_spans_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::opentelemetry::proto::trace::v1::ResourceSpans>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::opentelemetry::proto::trace::v1::ResourceSpans_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TracesData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        resource_spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::TracesData,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::TracesData, _impl_.resource_spans_)>()
         }
     {}

template <typename>
constexpr TracesData::TracesData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TracesData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TracesData(arena);
}
constexpr auto TracesData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TracesData), alignof(TracesData));
}
constexpr auto TracesData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TracesData::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<TracesData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TracesData::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<TracesData>(), &TracesData::ByteSizeLong,
              &TracesData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TracesData, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[0],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct TracesDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TracesDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TracesData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TracesData::InternalGenerateClassData_(
            _default, &TracesData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TracesData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TracesDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TracesData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TracesData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TracesDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST TracesDataGlobalsTypeInternal TracesData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* TracesData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return TracesData_globals_.GetClassData();
#else
  return TracesData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace v1
}  // namespace trace
}  // namespace proto
}  // namespace opentelemetry
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto[2];
static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
    file_level_service_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto = nullptr;
const ::uint32_t
    TableStruct_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::TracesData, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::TracesData, _impl_.resource_spans_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.resource_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.scope_spans_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.schema_url_),
        2,
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.scope_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.spans_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.schema_url_),
        2,
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_._has_bits_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.time_unix_nano_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.attributes_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.dropped_attributes_count_),
        2,
        1,
        0,
        3,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.trace_id_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.span_id_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.trace_state_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.attributes_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.dropped_attributes_count_),
        1,
        2,
        3,
        0,
        4,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_._has_bits_),
        18, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.trace_id_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.span_id_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.trace_state_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.parent_span_id_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.kind_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.start_time_unix_nano_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.end_time_unix_nano_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.attributes_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.dropped_attributes_count_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.events_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.dropped_events_count_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.links_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.dropped_links_count_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.status_),
        3,
        4,
        5,
        6,
        7,
        11,
        9,
        10,
        0,
        12,
        1,
        13,
        2,
        14,
        8,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Status, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Status, _impl_.message_),
        PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Status, _impl_.code_),
        0,
        1,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::opentelemetry::proto::trace::v1::TracesData)},
        {5, sizeof(::opentelemetry::proto::trace::v1::ResourceSpans)},
        {14, sizeof(::opentelemetry::proto::trace::v1::ScopeSpans)},
        {23, sizeof(::opentelemetry::proto::trace::v1::Span_Event)},
        {34, sizeof(::opentelemetry::proto::trace::v1::Span_Link)},
        {47, sizeof(::opentelemetry::proto::trace::v1::Span)},
        {80, sizeof(::opentelemetry::proto::trace::v1::Status)},
};
static const ::_pbi::MessageGlobalsBase* PROTOBUF_NONNULL const
    file_message_globals[] = {
        &::opentelemetry::proto::trace::v1::TracesData_globals_,
        &::opentelemetry::proto::trace::v1::ResourceSpans_globals_,
        &::opentelemetry::proto::trace::v1::ScopeSpans_globals_,
        &::opentelemetry::proto::trace::v1::Span_Event_globals_,
        &::opentelemetry::proto::trace::v1::Span_Link_globals_,
        &::opentelemetry::proto::trace::v1::Span_globals_,
        &::opentelemetry::proto::trace::v1::Status_globals_,
};
const char descriptor_table_protodef_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n(opentelemetry/proto/trace/v1/trace.pro"
    "to\022\034opentelemetry.proto.trace.v1\032*opente"
    "lemetry/proto/common/v1/common.proto\032.op"
    "entelemetry/proto/resource/v1/resource.p"
    "roto\"Q\n\nTracesData\022C\n\016resource_spans\030\001 \003"
    "(\0132+.opentelemetry.proto.trace.v1.Resour"
    "ceSpans\"\247\001\n\rResourceSpans\022;\n\010resource\030\001 "
    "\001(\0132).opentelemetry.proto.resource.v1.Re"
    "source\022=\n\013scope_spans\030\002 \003(\0132(.openteleme"
    "try.proto.trace.v1.ScopeSpans\022\022\n\nschema_"
    "url\030\003 \001(\tJ\006\010\350\007\020\351\007\"\227\001\n\nScopeSpans\022B\n\005scop"
    "e\030\001 \001(\01323.opentelemetry.proto.common.v1."
    "InstrumentationScope\0221\n\005spans\030\002 \003(\0132\".op"
    "entelemetry.proto.trace.v1.Span\022\022\n\nschem"
    "a_url\030\003 \001(\t\"\346\007\n\004Span\022\020\n\010trace_id\030\001 \001(\014\022\017"
    "\n\007span_id\030\002 \001(\014\022\023\n\013trace_state\030\003 \001(\t\022\026\n\016"
    "parent_span_id\030\004 \001(\014\022\014\n\004name\030\005 \001(\t\0229\n\004ki"
    "nd\030\006 \001(\0162+.opentelemetry.proto.trace.v1."
    "Span.SpanKind\022\034\n\024start_time_unix_nano\030\007 "
    "\001(\006\022\032\n\022end_time_unix_nano\030\010 \001(\006\022;\n\nattri"
    "butes\030\t \003(\0132\'.opentelemetry.proto.common"
    ".v1.KeyValue\022 \n\030dropped_attributes_count"
    "\030\n \001(\r\0228\n\006events\030\013 \003(\0132(.opentelemetry.p"
    "roto.trace.v1.Span.Event\022\034\n\024dropped_even"
    "ts_count\030\014 \001(\r\0226\n\005links\030\r \003(\0132\'.opentele"
    "metry.proto.trace.v1.Span.Link\022\033\n\023droppe"
    "d_links_count\030\016 \001(\r\0224\n\006status\030\017 \001(\0132$.op"
    "entelemetry.proto.trace.v1.Status\032\214\001\n\005Ev"
    "ent\022\026\n\016time_unix_nano\030\001 \001(\006\022\014\n\004name\030\002 \001("
    "\t\022;\n\nattributes\030\003 \003(\0132\'.opentelemetry.pr"
    "oto.common.v1.KeyValue\022 \n\030dropped_attrib"
    "utes_count\030\004 \001(\r\032\235\001\n\004Link\022\020\n\010trace_id\030\001 "
    "\001(\014\022\017\n\007span_id\030\002 \001(\014\022\023\n\013trace_state\030\003 \001("
    "\t\022;\n\nattributes\030\004 \003(\0132\'.opentelemetry.pr"
    "oto.common.v1.KeyValue\022 \n\030dropped_attrib"
    "utes_count\030\005 \001(\r\"\231\001\n\010SpanKind\022\031\n\025SPAN_KI"
    "ND_UNSPECIFIED\020\000\022\026\n\022SPAN_KIND_INTERNAL\020\001"
    "\022\024\n\020SPAN_KIND_SERVER\020\002\022\024\n\020SPAN_KIND_CLIE"
    "NT\020\003\022\026\n\022SPAN_KIND_PRODUCER\020\004\022\026\n\022SPAN_KIN"
    "D_CONSUMER\020\005\"\256\001\n\006Status\022\017\n\007message\030\002 \001(\t"
    "\022=\n\004code\030\003 \001(\0162/.opentelemetry.proto.tra"
    "ce.v1.Status.StatusCode\"N\n\nStatusCode\022\025\n"
    "\021STATUS_CODE_UNSET\020\000\022\022\n\016STATUS_CODE_OK\020\001"
    "\022\025\n\021STATUS_CODE_ERROR\020\002J\004\010\001\020\002Bw\n\037io.open"
    "telemetry.proto.trace.v1B\nTraceProtoP\001Z\'"
    "go.opentelemetry.io/proto/otlp/trace/v1\252"
    "\002\034OpenTelemetry.Proto.Trace.V1b\006proto3"
};
static const ::_pbi::DescriptorTable* PROTOBUF_NONNULL const
    descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto_deps[2] = {
        &::descriptor_table_opentelemetry_2fproto_2fcommon_2fv1_2fcommon_2eproto,
        &::descriptor_table_opentelemetry_2fproto_2fresource_2fv1_2fresource_2eproto,
};
static ::absl::once_flag descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto = {
    false,
    false,
    1878,
    descriptor_table_protodef_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
    "opentelemetry/proto/trace/v1/trace.proto",
    &descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto_once,
    descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto_deps,
    2,
    7,
    schemas,
    file_message_globals,
    TableStruct_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto::offsets,
    file_level_enum_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
    file_level_service_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto,
};
namespace opentelemetry {
namespace proto {
namespace trace {
namespace v1 {
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Span_SpanKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto);
  return file_level_enum_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t Span_SpanKind_internal_data_[] = {
    393216u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Status_StatusCode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto);
  return file_level_enum_descriptors_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t Status_StatusCode_internal_data_[] = {
    196608u, 0u, };
// ===================================================================

TracesData::TracesData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TracesData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.TracesData)
}
PROTOBUF_NDEBUG_INLINE TracesData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::TracesData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        resource_spans_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::TracesData,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::TracesData, _impl_.resource_spans_)>()
          , from.resource_spans_
        }
     {}

TracesData::TracesData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TracesData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, TracesData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TracesData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.TracesData)
}
PROTOBUF_NDEBUG_INLINE TracesData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        resource_spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::TracesData,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::TracesData, _impl_.resource_spans_)>()
         }
     {}

inline void TracesData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TracesData::~TracesData() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.TracesData)
  SharedDtor(*this);
}
inline void TracesData::SharedDtor(MessageLite& self) {
  TracesData& this_ = static_cast<TracesData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull TracesData_class_data_ =
        TracesData::InternalGenerateClassData_(TracesData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TracesData::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TracesData_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(TracesData_class_data_.tc_table);
  return TracesData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TracesData::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&TracesData_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&TracesData_globals_));
  return TracesData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TracesData::ParseTableT_
    TracesData::_table_ =
        TracesData::InternalGenerateParseTable_(TracesData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TracesData::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.TracesData)
  ::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_.resource_spans_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .opentelemetry.proto.trace.v1.ResourceSpans resource_spans = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_resource_spans_size());
         i < n; i++) {
      const auto& repfield = this_._internal_resource_spans().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              1, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.TracesData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TracesData::ByteSizeLong(const MessageLite& base) {
  const TracesData& this_ = static_cast<const TracesData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TracesData::ByteSizeLong() const {
  const TracesData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.TracesData)
  ::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_);
   {
    // repeated .opentelemetry.proto.trace.v1.ResourceSpans resource_spans = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_resource_spans_size();
      for (const auto& msg : this_._internal_resource_spans()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void TracesData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TracesData*>(&to_msg);
  auto& from = static_cast<const TracesData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.TracesData)
  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->_internal_mutable_resource_spans()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_resource_spans());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void TracesData::CopyFrom(const TracesData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.TracesData)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void TracesData::InternalSwap(TracesData* 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_.resource_spans_.InternalSwap(&other->_impl_.resource_spans_);
}

::google::protobuf::Metadata TracesData::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void ResourceSpans::clear_resource() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.resource_ != nullptr) _impl_.resource_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ResourceSpans::ResourceSpans(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ResourceSpans_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.ResourceSpans)
}
PROTOBUF_NDEBUG_INLINE ResourceSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::ResourceSpans& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        scope_spans_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::ResourceSpans,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.scope_spans_)>()
          , from.scope_spans_
        }
        ,
        schema_url_(arena, from.schema_url_) {}

ResourceSpans::ResourceSpans(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ResourceSpans& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ResourceSpans_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ResourceSpans* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.resource_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.resource_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.ResourceSpans)
}
PROTOBUF_NDEBUG_INLINE ResourceSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        scope_spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::ResourceSpans,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ResourceSpans, _impl_.scope_spans_)>()
         }
        ,
        schema_url_(arena) {}

inline void ResourceSpans::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.resource_ = {};
}
ResourceSpans::~ResourceSpans() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.ResourceSpans)
  SharedDtor(*this);
}
inline void ResourceSpans::SharedDtor(MessageLite& self) {
  ResourceSpans& this_ = static_cast<ResourceSpans&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.schema_url_.Destroy();
  delete this_._impl_.resource_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ResourceSpans_class_data_ =
        ResourceSpans::InternalGenerateClassData_(ResourceSpans_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ResourceSpans::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ResourceSpans_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ResourceSpans_class_data_.tc_table);
  return ResourceSpans_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ResourceSpans::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ResourceSpans_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ResourceSpans_globals_));
  return ResourceSpans_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ResourceSpans::ParseTableT_
    ResourceSpans::_table_ =
        ResourceSpans::InternalGenerateParseTable_(ResourceSpans_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ResourceSpans::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.ResourceSpans)
  ::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)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.scope_spans_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.schema_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.resource_ != nullptr);
      _impl_.resource_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .opentelemetry.proto.resource.v1.Resource resource = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.resource_, this_._impl_.resource_->GetCachedSize(), target,
        stream);
  }

  // repeated .opentelemetry.proto.trace.v1.ScopeSpans scope_spans = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_scope_spans_size());
         i < n; i++) {
      const auto& repfield = this_._internal_scope_spans().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string schema_url = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_schema_url().empty()) {
      const ::std::string& _s = this_._internal_schema_url();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.ResourceSpans.schema_url");
      target = stream->WriteStringMaybeAliased(3, _s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.ResourceSpans)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ResourceSpans::ByteSizeLong(const MessageLite& base) {
  const ResourceSpans& this_ = static_cast<const ResourceSpans&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ResourceSpans::ByteSizeLong() const {
  const ResourceSpans& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.ResourceSpans)
  ::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)) {
    // repeated .opentelemetry.proto.trace.v1.ScopeSpans scope_spans = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_scope_spans_size();
      for (const auto& msg : this_._internal_scope_spans()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string schema_url = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_schema_url().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_schema_url());
      }
    }
    // .opentelemetry.proto.resource.v1.Resource resource = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.resource_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ResourceSpans::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ResourceSpans*>(&to_msg);
  auto& from = static_cast<const ResourceSpans&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.ResourceSpans)
  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->_internal_mutable_scope_spans()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_scope_spans());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_schema_url().empty()) {
        _this->_internal_set_schema_url(from._internal_schema_url());
      } else {
        if (_this->_impl_.schema_url_.IsDefault()) {
          _this->_internal_set_schema_url("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.resource_ != nullptr);
      if (_this->_impl_.resource_ == nullptr) {
        _this->_impl_.resource_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.resource_);
      } else {
        _this->_impl_.resource_->MergeFrom(*from._impl_.resource_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ResourceSpans::CopyFrom(const ResourceSpans& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.ResourceSpans)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ResourceSpans::InternalSwap(ResourceSpans* 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]);
  _impl_.scope_spans_.InternalSwap(&other->_impl_.scope_spans_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.schema_url_, &other->_impl_.schema_url_, arena);
  swap(_impl_.resource_, other->_impl_.resource_);
}

::google::protobuf::Metadata ResourceSpans::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void ScopeSpans::clear_scope() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.scope_ != nullptr) _impl_.scope_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
ScopeSpans::ScopeSpans(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ScopeSpans_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.ScopeSpans)
}
PROTOBUF_NDEBUG_INLINE ScopeSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::ScopeSpans& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        spans_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::ScopeSpans,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.spans_)>()
          , from.spans_
        }
        ,
        schema_url_(arena, from.schema_url_) {}

ScopeSpans::ScopeSpans(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ScopeSpans& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, ScopeSpans_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScopeSpans* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.scope_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.scope_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.ScopeSpans)
}
PROTOBUF_NDEBUG_INLINE ScopeSpans::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        spans_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::ScopeSpans,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::ScopeSpans, _impl_.spans_)>()
         }
        ,
        schema_url_(arena) {}

inline void ScopeSpans::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.scope_ = {};
}
ScopeSpans::~ScopeSpans() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.ScopeSpans)
  SharedDtor(*this);
}
inline void ScopeSpans::SharedDtor(MessageLite& self) {
  ScopeSpans& this_ = static_cast<ScopeSpans&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.schema_url_.Destroy();
  delete this_._impl_.scope_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull ScopeSpans_class_data_ =
        ScopeSpans::InternalGenerateClassData_(ScopeSpans_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScopeSpans::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ScopeSpans_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(ScopeSpans_class_data_.tc_table);
  return ScopeSpans_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScopeSpans::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ScopeSpans_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ScopeSpans_globals_));
  return ScopeSpans_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScopeSpans::ParseTableT_
    ScopeSpans::_table_ =
        ScopeSpans::InternalGenerateParseTable_(ScopeSpans_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScopeSpans::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.ScopeSpans)
  ::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)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.spans_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.schema_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.scope_ != nullptr);
      _impl_.scope_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .opentelemetry.proto.common.v1.InstrumentationScope scope = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.scope_, this_._impl_.scope_->GetCachedSize(), target,
        stream);
  }

  // repeated .opentelemetry.proto.trace.v1.Span spans = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_spans_size());
         i < n; i++) {
      const auto& repfield = this_._internal_spans().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string schema_url = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_schema_url().empty()) {
      const ::std::string& _s = this_._internal_schema_url();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.ScopeSpans.schema_url");
      target = stream->WriteStringMaybeAliased(3, _s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.ScopeSpans)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScopeSpans::ByteSizeLong(const MessageLite& base) {
  const ScopeSpans& this_ = static_cast<const ScopeSpans&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScopeSpans::ByteSizeLong() const {
  const ScopeSpans& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.ScopeSpans)
  ::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)) {
    // repeated .opentelemetry.proto.trace.v1.Span spans = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_spans_size();
      for (const auto& msg : this_._internal_spans()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string schema_url = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_schema_url().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_schema_url());
      }
    }
    // .opentelemetry.proto.common.v1.InstrumentationScope scope = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.scope_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ScopeSpans::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScopeSpans*>(&to_msg);
  auto& from = static_cast<const ScopeSpans&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.ScopeSpans)
  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->_internal_mutable_spans()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_spans());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_schema_url().empty()) {
        _this->_internal_set_schema_url(from._internal_schema_url());
      } else {
        if (_this->_impl_.schema_url_.IsDefault()) {
          _this->_internal_set_schema_url("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.scope_ != nullptr);
      if (_this->_impl_.scope_ == nullptr) {
        _this->_impl_.scope_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.scope_);
      } else {
        _this->_impl_.scope_->MergeFrom(*from._impl_.scope_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ScopeSpans::CopyFrom(const ScopeSpans& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.ScopeSpans)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ScopeSpans::InternalSwap(ScopeSpans* 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]);
  _impl_.spans_.InternalSwap(&other->_impl_.spans_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.schema_url_, &other->_impl_.schema_url_, arena);
  swap(_impl_.scope_, other->_impl_.scope_);
}

::google::protobuf::Metadata ScopeSpans::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void Span_Event::clear_attributes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attributes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
Span_Event::Span_Event(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_Event_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.Span.Event)
}
PROTOBUF_NDEBUG_INLINE Span_Event::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::Span_Event& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        attributes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::Span_Event,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.attributes_)>()
          , from.attributes_
        }
        ,
        name_(arena, from.name_) {}

Span_Event::Span_Event(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Span_Event& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_Event_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Span_Event* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, time_unix_nano_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, time_unix_nano_),
           offsetof(Impl_, dropped_attributes_count_) -
               offsetof(Impl_, time_unix_nano_) +
               sizeof(Impl_::dropped_attributes_count_));

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.Span.Event)
}
PROTOBUF_NDEBUG_INLINE Span_Event::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span_Event,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Event, _impl_.attributes_)>()
         }
        ,
        name_(arena) {}

inline void Span_Event::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, time_unix_nano_),
           0,
           offsetof(Impl_, dropped_attributes_count_) -
               offsetof(Impl_, time_unix_nano_) +
               sizeof(Impl_::dropped_attributes_count_));
}
Span_Event::~Span_Event() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.Span.Event)
  SharedDtor(*this);
}
inline void Span_Event::SharedDtor(MessageLite& self) {
  Span_Event& this_ = static_cast<Span_Event&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Span_Event_class_data_ =
        Span_Event::InternalGenerateClassData_(Span_Event_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span_Event::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_Event_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Span_Event_class_data_.tc_table);
  return Span_Event_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span_Event::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_Event_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Span_Event_globals_));
  return Span_Event_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Span_Event::ParseTableT_
    Span_Event::_table_ =
        Span_Event::InternalGenerateParseTable_(Span_Event_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Span_Event::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.Span.Event)
  ::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_.attributes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.time_unix_nano_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.dropped_attributes_count_) -
        reinterpret_cast<char*>(&_impl_.time_unix_nano_)) + sizeof(_impl_.dropped_attributes_count_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // fixed64 time_unix_nano = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (this_._internal_time_unix_nano() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
          1, this_._internal_time_unix_nano(), target);
    }
  }

  // string name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_name().empty()) {
      const ::std::string& _s = this_._internal_name();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.Span.Event.name");
      target = stream->WriteStringMaybeAliased(2, _s, target);
    }
  }

  // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attributes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attributes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.Span.Event)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Span_Event::ByteSizeLong(const MessageLite& base) {
  const Span_Event& this_ = static_cast<const Span_Event&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Span_Event::ByteSizeLong() const {
  const Span_Event& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.Span.Event)
  ::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)) {
    // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_attributes_size();
      for (const auto& msg : this_._internal_attributes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_name().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_name());
      }
    }
    // fixed64 time_unix_nano = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (this_._internal_time_unix_nano() != 0) {
        total_size += 9;
      }
    }
    // uint32 dropped_attributes_count = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (this_._internal_dropped_attributes_count() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
            this_._internal_dropped_attributes_count());
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Span_Event::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Span_Event*>(&to_msg);
  auto& from = static_cast<const Span_Event&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.Span.Event)
  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_mutable_attributes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attributes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_name().empty()) {
        _this->_internal_set_name(from._internal_name());
      } else {
        if (_this->_impl_.name_.IsDefault()) {
          _this->_internal_set_name("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (from._internal_time_unix_nano() != 0) {
        _this->_impl_.time_unix_nano_ = from._impl_.time_unix_nano_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (from._internal_dropped_attributes_count() != 0) {
        _this->_impl_.dropped_attributes_count_ = from._impl_.dropped_attributes_count_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void Span_Event::CopyFrom(const Span_Event& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.Span.Event)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Span_Event::InternalSwap(Span_Event* 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]);
  _impl_.attributes_.InternalSwap(&other->_impl_.attributes_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.dropped_attributes_count_)
      + sizeof(Span_Event::_impl_.dropped_attributes_count_)
      - PROTOBUF_FIELD_OFFSET(Span_Event, _impl_.time_unix_nano_)>(
          reinterpret_cast<char*>(&_impl_.time_unix_nano_),
          reinterpret_cast<char*>(&other->_impl_.time_unix_nano_));
}

::google::protobuf::Metadata Span_Event::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void Span_Link::clear_attributes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attributes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
Span_Link::Span_Link(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_Link_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.Span.Link)
}
PROTOBUF_NDEBUG_INLINE Span_Link::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::Span_Link& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        attributes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::Span_Link,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.attributes_)>()
          , from.attributes_
        }
        ,
        trace_id_(arena, from.trace_id_),
        span_id_(arena, from.span_id_),
        trace_state_(arena, from.trace_state_) {}

Span_Link::Span_Link(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Span_Link& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_Link_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Span_Link* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.dropped_attributes_count_ = from._impl_.dropped_attributes_count_;

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.Span.Link)
}
PROTOBUF_NDEBUG_INLINE Span_Link::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span_Link,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span_Link, _impl_.attributes_)>()
         }
        ,
        trace_id_(arena),
        span_id_(arena),
        trace_state_(arena) {}

inline void Span_Link::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.dropped_attributes_count_ = {};
}
Span_Link::~Span_Link() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.Span.Link)
  SharedDtor(*this);
}
inline void Span_Link::SharedDtor(MessageLite& self) {
  Span_Link& this_ = static_cast<Span_Link&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.trace_id_.Destroy();
  this_._impl_.span_id_.Destroy();
  this_._impl_.trace_state_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Span_Link_class_data_ =
        Span_Link::InternalGenerateClassData_(Span_Link_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span_Link::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_Link_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Span_Link_class_data_.tc_table);
  return Span_Link_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span_Link::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_Link_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Span_Link_globals_));
  return Span_Link_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Span_Link::ParseTableT_
    Span_Link::_table_ =
        Span_Link::InternalGenerateParseTable_(Span_Link_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Span_Link::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.Span.Link)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.attributes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.trace_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.span_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.trace_state_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.dropped_attributes_count_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bytes trace_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (!this_._internal_trace_id().empty()) {
      const ::std::string& _s = this_._internal_trace_id();
      target = stream->WriteBytesMaybeAliased(1, _s, target);
    }
  }

  // bytes span_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (!this_._internal_span_id().empty()) {
      const ::std::string& _s = this_._internal_span_id();
      target = stream->WriteBytesMaybeAliased(2, _s, target);
    }
  }

  // string trace_state = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (!this_._internal_trace_state().empty()) {
      const ::std::string& _s = this_._internal_trace_state();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.Span.Link.trace_state");
      target = stream->WriteStringMaybeAliased(3, _s, target);
    }
  }

  // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attributes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attributes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.Span.Link)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Span_Link::ByteSizeLong(const MessageLite& base) {
  const Span_Link& this_ = static_cast<const Span_Link&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Span_Link::ByteSizeLong() const {
  const Span_Link& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.Span.Link)
  ::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)) {
    // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_attributes_size();
      for (const auto& msg : this_._internal_attributes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // bytes trace_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_trace_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_trace_id());
      }
    }
    // bytes span_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!this_._internal_span_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_span_id());
      }
    }
    // string trace_state = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!this_._internal_trace_state().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_trace_state());
      }
    }
    // uint32 dropped_attributes_count = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (this_._internal_dropped_attributes_count() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
            this_._internal_dropped_attributes_count());
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Span_Link::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Span_Link*>(&to_msg);
  auto& from = static_cast<const Span_Link&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.Span.Link)
  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->_internal_mutable_attributes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attributes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_trace_id().empty()) {
        _this->_internal_set_trace_id(from._internal_trace_id());
      } else {
        if (_this->_impl_.trace_id_.IsDefault()) {
          _this->_internal_set_trace_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!from._internal_span_id().empty()) {
        _this->_internal_set_span_id(from._internal_span_id());
      } else {
        if (_this->_impl_.span_id_.IsDefault()) {
          _this->_internal_set_span_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!from._internal_trace_state().empty()) {
        _this->_internal_set_trace_state(from._internal_trace_state());
      } else {
        if (_this->_impl_.trace_state_.IsDefault()) {
          _this->_internal_set_trace_state("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (from._internal_dropped_attributes_count() != 0) {
        _this->_impl_.dropped_attributes_count_ = from._impl_.dropped_attributes_count_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void Span_Link::CopyFrom(const Span_Link& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.Span.Link)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Span_Link::InternalSwap(Span_Link* 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]);
  _impl_.attributes_.InternalSwap(&other->_impl_.attributes_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trace_id_, &other->_impl_.trace_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.span_id_, &other->_impl_.span_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trace_state_, &other->_impl_.trace_state_, arena);
  swap(_impl_.dropped_attributes_count_, other->_impl_.dropped_attributes_count_);
}

::google::protobuf::Metadata Span_Link::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

void Span::clear_attributes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attributes_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
Span::Span(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.Span)
}
PROTOBUF_NDEBUG_INLINE Span::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::Span& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        attributes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::Span,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.attributes_)>()
          , from.attributes_
        }
        ,
        events_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::Span,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.events_)>()
          , from.events_
        }
        ,
        links_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::opentelemetry::proto::trace::v1::Span,
              PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.links_)>()
          , from.links_
        }
        ,
        trace_id_(arena, from.trace_id_),
        span_id_(arena, from.span_id_),
        trace_state_(arena, from.trace_state_),
        parent_span_id_(arena, from.parent_span_id_),
        name_(arena, from.name_) {}

Span::Span(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Span& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Span_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Span* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.status_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.status_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_time_unix_nano_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, start_time_unix_nano_),
           offsetof(Impl_, dropped_links_count_) -
               offsetof(Impl_, start_time_unix_nano_) +
               sizeof(Impl_::dropped_links_count_));

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.Span)
}
PROTOBUF_NDEBUG_INLINE Span::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.attributes_)>()
         }
        ,
        events_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.events_)>()
         }
        ,
        links_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::opentelemetry::proto::trace::v1::Span,
            PROTOBUF_FIELD_OFFSET(::opentelemetry::proto::trace::v1::Span, _impl_.links_)>()
         }
        ,
        trace_id_(arena),
        span_id_(arena),
        trace_state_(arena),
        parent_span_id_(arena),
        name_(arena) {}

inline void Span::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, status_),
           0,
           offsetof(Impl_, dropped_links_count_) -
               offsetof(Impl_, status_) +
               sizeof(Impl_::dropped_links_count_));
}
Span::~Span() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.Span)
  SharedDtor(*this);
}
inline void Span::SharedDtor(MessageLite& self) {
  Span& this_ = static_cast<Span&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.trace_id_.Destroy();
  this_._impl_.span_id_.Destroy();
  this_._impl_.trace_state_.Destroy();
  this_._impl_.parent_span_id_.Destroy();
  this_._impl_.name_.Destroy();
  delete this_._impl_.status_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Span_class_data_ =
        Span::InternalGenerateClassData_(Span_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Span_class_data_.tc_table);
  return Span_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Span::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Span_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Span_globals_));
  return Span_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Span::ParseTableT_
    Span::_table_ =
        Span::InternalGenerateParseTable_(Span_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Span::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.Span)
  ::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)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.attributes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.events_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.links_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.trace_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.span_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.trace_state_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.parent_span_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    ABSL_DCHECK(_impl_.status_ != nullptr);
    _impl_.status_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007e00U)) {
    ::memset(&_impl_.start_time_unix_nano_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.dropped_links_count_) -
        reinterpret_cast<char*>(&_impl_.start_time_unix_nano_)) + sizeof(_impl_.dropped_links_count_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bytes trace_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (!this_._internal_trace_id().empty()) {
      const ::std::string& _s = this_._internal_trace_id();
      target = stream->WriteBytesMaybeAliased(1, _s, target);
    }
  }

  // bytes span_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    if (!this_._internal_span_id().empty()) {
      const ::std::string& _s = this_._internal_span_id();
      target = stream->WriteBytesMaybeAliased(2, _s, target);
    }
  }

  // string trace_state = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    if (!this_._internal_trace_state().empty()) {
      const ::std::string& _s = this_._internal_trace_state();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.Span.trace_state");
      target = stream->WriteStringMaybeAliased(3, _s, target);
    }
  }

  // bytes parent_span_id = 4;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    if (!this_._internal_parent_span_id().empty()) {
      const ::std::string& _s = this_._internal_parent_span_id();
      target = stream->WriteBytesMaybeAliased(4, _s, target);
    }
  }

  // string name = 5;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    if (!this_._internal_name().empty()) {
      const ::std::string& _s = this_._internal_name();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.Span.name");
      target = stream->WriteStringMaybeAliased(5, _s, target);
    }
  }

  // .opentelemetry.proto.trace.v1.Span.SpanKind kind = 6;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    if (this_._internal_kind() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          6, this_._internal_kind(), target);
    }
  }

  // fixed64 start_time_unix_nano = 7;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    if (this_._internal_start_time_unix_nano() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
          7, this_._internal_start_time_unix_nano(), target);
    }
  }

  // fixed64 end_time_unix_nano = 8;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    if (this_._internal_end_time_unix_nano() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
          8, this_._internal_end_time_unix_nano(), target);
    }
  }

  // repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attributes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attributes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint32 dropped_attributes_count = 10;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    if (this_._internal_dropped_attributes_count() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
          10, this_._internal_dropped_attributes_count(), target);
    }
  }

  // repeated .opentelemetry.proto.trace.v1.Span.Event events = 11;
  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(
              11, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint32 dropped_events_count = 12;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    if (this_._internal_dropped_events_count() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
          12, this_._internal_dropped_events_count(), target);
    }
  }

  // repeated .opentelemetry.proto.trace.v1.Span.Link links = 13;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_links_size());
         i < n; i++) {
      const auto& repfield = this_._internal_links().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              13, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint32 dropped_links_count = 14;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    if (this_._internal_dropped_links_count() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
          14, this_._internal_dropped_links_count(), target);
    }
  }

  // .opentelemetry.proto.trace.v1.Status status = 15;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, *this_._impl_.status_, this_._impl_.status_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.Span)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Span::ByteSizeLong(const MessageLite& base) {
  const Span& this_ = static_cast<const Span&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Span::ByteSizeLong() const {
  const Span& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.Span)
  ::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 .opentelemetry.proto.common.v1.KeyValue attributes = 9;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_attributes_size();
      for (const auto& msg : this_._internal_attributes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .opentelemetry.proto.trace.v1.Span.Event events = 11;
    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 .opentelemetry.proto.trace.v1.Span.Link links = 13;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_links_size();
      for (const auto& msg : this_._internal_links()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // bytes trace_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!this_._internal_trace_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_trace_id());
      }
    }
    // bytes span_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (!this_._internal_span_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_span_id());
      }
    }
    // string trace_state = 3;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (!this_._internal_trace_state().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_trace_state());
      }
    }
    // bytes parent_span_id = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (!this_._internal_parent_span_id().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                        this_._internal_parent_span_id());
      }
    }
    // string name = 5;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      if (!this_._internal_name().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_name());
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // .opentelemetry.proto.trace.v1.Status status = 15;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.status_);
    }
    // fixed64 start_time_unix_nano = 7;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      if (this_._internal_start_time_unix_nano() != 0) {
        total_size += 9;
      }
    }
    // fixed64 end_time_unix_nano = 8;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      if (this_._internal_end_time_unix_nano() != 0) {
        total_size += 9;
      }
    }
    // .opentelemetry.proto.trace.v1.Span.SpanKind kind = 6;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      if (this_._internal_kind() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_kind());
      }
    }
    // uint32 dropped_attributes_count = 10;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      if (this_._internal_dropped_attributes_count() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
            this_._internal_dropped_attributes_count());
      }
    }
    // uint32 dropped_events_count = 12;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      if (this_._internal_dropped_events_count() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
            this_._internal_dropped_events_count());
      }
    }
    // uint32 dropped_links_count = 14;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      if (this_._internal_dropped_links_count() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
            this_._internal_dropped_links_count());
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Span::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Span*>(&to_msg);
  auto& from = static_cast<const Span&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.Span)
  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_attributes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attributes());
    }
    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_links()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_links());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!from._internal_trace_id().empty()) {
        _this->_internal_set_trace_id(from._internal_trace_id());
      } else {
        if (_this->_impl_.trace_id_.IsDefault()) {
          _this->_internal_set_trace_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      if (!from._internal_span_id().empty()) {
        _this->_internal_set_span_id(from._internal_span_id());
      } else {
        if (_this->_impl_.span_id_.IsDefault()) {
          _this->_internal_set_span_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (!from._internal_trace_state().empty()) {
        _this->_internal_set_trace_state(from._internal_trace_state());
      } else {
        if (_this->_impl_.trace_state_.IsDefault()) {
          _this->_internal_set_trace_state("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (!from._internal_parent_span_id().empty()) {
        _this->_internal_set_parent_span_id(from._internal_parent_span_id());
      } else {
        if (_this->_impl_.parent_span_id_.IsDefault()) {
          _this->_internal_set_parent_span_id("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      if (!from._internal_name().empty()) {
        _this->_internal_set_name(from._internal_name());
      } else {
        if (_this->_impl_.name_.IsDefault()) {
          _this->_internal_set_name("");
        }
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.status_ != nullptr);
      if (_this->_impl_.status_ == nullptr) {
        _this->_impl_.status_ = ::google::protobuf::Message::CopyConstruct(arena, *from._impl_.status_);
      } else {
        _this->_impl_.status_->MergeFrom(*from._impl_.status_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      if (from._internal_start_time_unix_nano() != 0) {
        _this->_impl_.start_time_unix_nano_ = from._impl_.start_time_unix_nano_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      if (from._internal_end_time_unix_nano() != 0) {
        _this->_impl_.end_time_unix_nano_ = from._impl_.end_time_unix_nano_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      if (from._internal_kind() != 0) {
        _this->_impl_.kind_ = from._impl_.kind_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      if (from._internal_dropped_attributes_count() != 0) {
        _this->_impl_.dropped_attributes_count_ = from._impl_.dropped_attributes_count_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      if (from._internal_dropped_events_count() != 0) {
        _this->_impl_.dropped_events_count_ = from._impl_.dropped_events_count_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      if (from._internal_dropped_links_count() != 0) {
        _this->_impl_.dropped_links_count_ = from._impl_.dropped_links_count_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void Span::CopyFrom(const Span& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.Span)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Span::InternalSwap(Span* 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]);
  _impl_.attributes_.InternalSwap(&other->_impl_.attributes_);
  _impl_.events_.InternalSwap(&other->_impl_.events_);
  _impl_.links_.InternalSwap(&other->_impl_.links_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trace_id_, &other->_impl_.trace_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.span_id_, &other->_impl_.span_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trace_state_, &other->_impl_.trace_state_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.parent_span_id_, &other->_impl_.parent_span_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Span, _impl_.dropped_links_count_)
      + sizeof(Span::_impl_.dropped_links_count_)
      - PROTOBUF_FIELD_OFFSET(Span, _impl_.status_)>(
          reinterpret_cast<char*>(&_impl_.status_),
          reinterpret_cast<char*>(&other->_impl_.status_));
}

::google::protobuf::Metadata Span::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

Status::Status(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Status_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:opentelemetry.proto.trace.v1.Status)
}
PROTOBUF_NDEBUG_INLINE Status::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::opentelemetry::proto::trace::v1::Status& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        message_(arena, from.message_) {}

Status::Status(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Status& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Status_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Status* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.code_ = from._impl_.code_;

  // @@protoc_insertion_point(copy_constructor:opentelemetry.proto.trace.v1.Status)
}
PROTOBUF_NDEBUG_INLINE Status::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        message_(arena) {}

inline void Status::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.code_ = {};
}
Status::~Status() {
  // @@protoc_insertion_point(destructor:opentelemetry.proto.trace.v1.Status)
  SharedDtor(*this);
}
inline void Status::SharedDtor(MessageLite& self) {
  Status& this_ = static_cast<Status&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.message_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Status_class_data_ =
        Status::InternalGenerateClassData_(Status_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Status::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Status_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Status_class_data_.tc_table);
  return Status_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Status::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Status_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Status_globals_));
  return Status_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Status::ParseTableT_
    Status::_table_ =
        Status::InternalGenerateParseTable_(Status_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Status::Clear() {
// @@protoc_insertion_point(message_clear_start:opentelemetry.proto.trace.v1.Status)
  ::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_.message_.ClearNonDefaultToEmpty();
  }
  _impl_.code_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string message = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (!this_._internal_message().empty()) {
      const ::std::string& _s = this_._internal_message();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "opentelemetry.proto.trace.v1.Status.message");
      target = stream->WriteStringMaybeAliased(2, _s, target);
    }
  }

  // .opentelemetry.proto.trace.v1.Status.StatusCode code = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_code() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          3, this_._internal_code(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:opentelemetry.proto.trace.v1.Status)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Status::ByteSizeLong(const MessageLite& base) {
  const Status& this_ = static_cast<const Status&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Status::ByteSizeLong() const {
  const Status& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:opentelemetry.proto.trace.v1.Status)
  ::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)) {
    // string message = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_message().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_message());
      }
    }
    // .opentelemetry.proto.trace.v1.Status.StatusCode code = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_code() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_code());
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Status::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Status*>(&to_msg);
  auto& from = static_cast<const Status&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:opentelemetry.proto.trace.v1.Status)
  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)) {
      if (!from._internal_message().empty()) {
        _this->_internal_set_message(from._internal_message());
      } else {
        if (_this->_impl_.message_.IsDefault()) {
          _this->_internal_set_message("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_code() != 0) {
        _this->_impl_.code_ = from._impl_.code_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void Status::CopyFrom(const Status& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:opentelemetry.proto.trace.v1.Status)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Status::InternalSwap(Status* 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_.message_, &other->_impl_.message_, arena);
  swap(_impl_.code_, other->_impl_.code_);
}

::google::protobuf::Metadata Status::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace trace
}  // namespace proto
}  // namespace opentelemetry
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
    _static_init2_ [[maybe_unused]] =
        (::_pbi::AddDescriptors(&descriptor_table_opentelemetry_2fproto_2ftrace_2fv1_2ftrace_2eproto),
         ::std::false_type{});
#include "google/protobuf/port_undef.inc"
