// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: tsl/profiler/protobuf/xplane.proto
// Protobuf C++ Version: 5.28.3

#ifndef GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 5028003
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/map.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field_inl.h"
#include "google/protobuf/unknown_field_set.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto PROTOBUF_EXPORT

namespace google {
namespace protobuf {
namespace internal {
class AnyMetadata;
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct PROTOBUF_EXPORT TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto {
  static const ::uint32_t offsets[];
};
PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable
    descriptor_table_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
namespace tensorflow {
namespace profiler {
class XEvent;
struct XEventDefaultTypeInternal;
PROTOBUF_EXPORT extern XEventDefaultTypeInternal _XEvent_default_instance_;
class XEventMetadata;
struct XEventMetadataDefaultTypeInternal;
PROTOBUF_EXPORT extern XEventMetadataDefaultTypeInternal _XEventMetadata_default_instance_;
class XLine;
struct XLineDefaultTypeInternal;
PROTOBUF_EXPORT extern XLineDefaultTypeInternal _XLine_default_instance_;
class XPlane;
struct XPlaneDefaultTypeInternal;
PROTOBUF_EXPORT extern XPlaneDefaultTypeInternal _XPlane_default_instance_;
class XPlane_EventMetadataEntry_DoNotUse;
struct XPlane_EventMetadataEntry_DoNotUseDefaultTypeInternal;
PROTOBUF_EXPORT extern XPlane_EventMetadataEntry_DoNotUseDefaultTypeInternal _XPlane_EventMetadataEntry_DoNotUse_default_instance_;
class XPlane_StatMetadataEntry_DoNotUse;
struct XPlane_StatMetadataEntry_DoNotUseDefaultTypeInternal;
PROTOBUF_EXPORT extern XPlane_StatMetadataEntry_DoNotUseDefaultTypeInternal _XPlane_StatMetadataEntry_DoNotUse_default_instance_;
class XSpace;
struct XSpaceDefaultTypeInternal;
PROTOBUF_EXPORT extern XSpaceDefaultTypeInternal _XSpace_default_instance_;
class XStat;
struct XStatDefaultTypeInternal;
PROTOBUF_EXPORT extern XStatDefaultTypeInternal _XStat_default_instance_;
class XStatMetadata;
struct XStatMetadataDefaultTypeInternal;
PROTOBUF_EXPORT extern XStatMetadataDefaultTypeInternal _XStatMetadata_default_instance_;
}  // namespace profiler
}  // namespace tensorflow
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace tensorflow {
namespace profiler {

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


// -------------------------------------------------------------------

class PROTOBUF_EXPORT XStatMetadata final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XStatMetadata) */ {
 public:
  inline XStatMetadata() : XStatMetadata(nullptr) {}
  ~XStatMetadata() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XStatMetadata(
      ::google::protobuf::internal::ConstantInitialized);

  inline XStatMetadata(const XStatMetadata& from) : XStatMetadata(nullptr, from) {}
  inline XStatMetadata(XStatMetadata&& from) noexcept
      : XStatMetadata(nullptr, std::move(from)) {}
  inline XStatMetadata& operator=(const XStatMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline XStatMetadata& operator=(XStatMetadata&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XStatMetadata& default_instance() {
    return *internal_default_instance();
  }
  static inline const XStatMetadata* internal_default_instance() {
    return reinterpret_cast<const XStatMetadata*>(
        &_XStatMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(XStatMetadata& a, XStatMetadata& b) { a.Swap(&b); }
  inline void Swap(XStatMetadata* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XStatMetadata* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XStatMetadata* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XStatMetadata>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XStatMetadata& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XStatMetadata& from) { XStatMetadata::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XStatMetadata* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XStatMetadata"; }

 protected:
  explicit XStatMetadata(::google::protobuf::Arena* arena);
  XStatMetadata(::google::protobuf::Arena* arena, const XStatMetadata& from);
  XStatMetadata(::google::protobuf::Arena* arena, XStatMetadata&& from) noexcept
      : XStatMetadata(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 2,
    kDescriptionFieldNumber = 3,
    kIdFieldNumber = 1,
  };
  // string name = 2;
  void clear_name() ;
  const std::string& name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* value);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // string description = 3;
  void clear_description() ;
  const std::string& description() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  std::string* mutable_description();
  PROTOBUF_NODISCARD std::string* release_description();
  void set_allocated_description(std::string* value);

  private:
  const std::string& _internal_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(
      const std::string& value);
  std::string* _internal_mutable_description();

  public:
  // int64 id = 1;
  void clear_id() ;
  ::int64_t id() const;
  void set_id(::int64_t value);

  private:
  ::int64_t _internal_id() const;
  void _internal_set_id(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XStatMetadata)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      2, 3, 0,
      57, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XStatMetadata& from_msg);
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::int64_t id_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XStat final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XStat) */ {
 public:
  inline XStat() : XStat(nullptr) {}
  ~XStat() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XStat(
      ::google::protobuf::internal::ConstantInitialized);

  inline XStat(const XStat& from) : XStat(nullptr, from) {}
  inline XStat(XStat&& from) noexcept
      : XStat(nullptr, std::move(from)) {}
  inline XStat& operator=(const XStat& from) {
    CopyFrom(from);
    return *this;
  }
  inline XStat& operator=(XStat&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XStat& default_instance() {
    return *internal_default_instance();
  }
  enum ValueCase {
    kDoubleValue = 2,
    kUint64Value = 3,
    kInt64Value = 4,
    kStrValue = 5,
    kBytesValue = 6,
    kRefValue = 7,
    VALUE_NOT_SET = 0,
  };
  static inline const XStat* internal_default_instance() {
    return reinterpret_cast<const XStat*>(
        &_XStat_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(XStat& a, XStat& b) { a.Swap(&b); }
  inline void Swap(XStat* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XStat* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XStat* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XStat>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XStat& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XStat& from) { XStat::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XStat* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XStat"; }

 protected:
  explicit XStat(::google::protobuf::Arena* arena);
  XStat(::google::protobuf::Arena* arena, const XStat& from);
  XStat(::google::protobuf::Arena* arena, XStat&& from) noexcept
      : XStat(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMetadataIdFieldNumber = 1,
    kDoubleValueFieldNumber = 2,
    kUint64ValueFieldNumber = 3,
    kInt64ValueFieldNumber = 4,
    kStrValueFieldNumber = 5,
    kBytesValueFieldNumber = 6,
    kRefValueFieldNumber = 7,
  };
  // int64 metadata_id = 1;
  void clear_metadata_id() ;
  ::int64_t metadata_id() const;
  void set_metadata_id(::int64_t value);

  private:
  ::int64_t _internal_metadata_id() const;
  void _internal_set_metadata_id(::int64_t value);

  public:
  // double double_value = 2;
  bool has_double_value() const;
  void clear_double_value() ;
  double double_value() const;
  void set_double_value(double value);

  private:
  double _internal_double_value() const;
  void _internal_set_double_value(double value);

  public:
  // uint64 uint64_value = 3;
  bool has_uint64_value() const;
  void clear_uint64_value() ;
  ::uint64_t uint64_value() const;
  void set_uint64_value(::uint64_t value);

  private:
  ::uint64_t _internal_uint64_value() const;
  void _internal_set_uint64_value(::uint64_t value);

  public:
  // int64 int64_value = 4;
  bool has_int64_value() const;
  void clear_int64_value() ;
  ::int64_t int64_value() const;
  void set_int64_value(::int64_t value);

  private:
  ::int64_t _internal_int64_value() const;
  void _internal_set_int64_value(::int64_t value);

  public:
  // string str_value = 5;
  bool has_str_value() const;
  void clear_str_value() ;
  const std::string& str_value() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_str_value(Arg_&& arg, Args_... args);
  std::string* mutable_str_value();
  PROTOBUF_NODISCARD std::string* release_str_value();
  void set_allocated_str_value(std::string* value);

  private:
  const std::string& _internal_str_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_str_value(
      const std::string& value);
  std::string* _internal_mutable_str_value();

  public:
  // bytes bytes_value = 6;
  bool has_bytes_value() const;
  void clear_bytes_value() ;
  const std::string& bytes_value() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_bytes_value(Arg_&& arg, Args_... args);
  std::string* mutable_bytes_value();
  PROTOBUF_NODISCARD std::string* release_bytes_value();
  void set_allocated_bytes_value(std::string* value);

  private:
  const std::string& _internal_bytes_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_bytes_value(
      const std::string& value);
  std::string* _internal_mutable_bytes_value();

  public:
  // uint64 ref_value = 7;
  bool has_ref_value() const;
  void clear_ref_value() ;
  ::uint64_t ref_value() const;
  void set_ref_value(::uint64_t value);

  private:
  ::uint64_t _internal_ref_value() const;
  void _internal_set_ref_value(::uint64_t value);

  public:
  void clear_value();
  ValueCase value_case() const;
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XStat)
 private:
  class _Internal;
  void set_has_double_value();
  void set_has_uint64_value();
  void set_has_int64_value();
  void set_has_str_value();
  void set_has_bytes_value();
  void set_has_ref_value();
  inline bool has_value() const;
  inline void clear_has_value();
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      0, 7, 0,
      43, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XStat& from_msg);
    ::int64_t metadata_id_;
    union ValueUnion {
      constexpr ValueUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      double double_value_;
      ::uint64_t uint64_value_;
      ::int64_t int64_value_;
      ::google::protobuf::internal::ArenaStringPtr str_value_;
      ::google::protobuf::internal::ArenaStringPtr bytes_value_;
      ::uint64_t ref_value_;
    } value_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class XPlane_StatMetadataEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<
          XPlane_StatMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XStatMetadata,
          ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
          ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType = ::google::protobuf::internal::MapEntry<
      XPlane_StatMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XStatMetadata,
      ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  XPlane_StatMetadataEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XPlane_StatMetadataEntry_DoNotUse(
      ::google::protobuf::internal::ConstantInitialized);
  explicit XPlane_StatMetadataEntry_DoNotUse(::google::protobuf::Arena* arena);
  static const XPlane_StatMetadataEntry_DoNotUse* internal_default_instance() {
    return reinterpret_cast<const XPlane_StatMetadataEntry_DoNotUse*>(
        &_XPlane_StatMetadataEntry_DoNotUse_default_instance_);
  }


 private:
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 1,
      0, 2>
      _table_;

  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XEventMetadata final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XEventMetadata) */ {
 public:
  inline XEventMetadata() : XEventMetadata(nullptr) {}
  ~XEventMetadata() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XEventMetadata(
      ::google::protobuf::internal::ConstantInitialized);

  inline XEventMetadata(const XEventMetadata& from) : XEventMetadata(nullptr, from) {}
  inline XEventMetadata(XEventMetadata&& from) noexcept
      : XEventMetadata(nullptr, std::move(from)) {}
  inline XEventMetadata& operator=(const XEventMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline XEventMetadata& operator=(XEventMetadata&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XEventMetadata& default_instance() {
    return *internal_default_instance();
  }
  static inline const XEventMetadata* internal_default_instance() {
    return reinterpret_cast<const XEventMetadata*>(
        &_XEventMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(XEventMetadata& a, XEventMetadata& b) { a.Swap(&b); }
  inline void Swap(XEventMetadata* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XEventMetadata* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XEventMetadata* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XEventMetadata>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XEventMetadata& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XEventMetadata& from) { XEventMetadata::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XEventMetadata* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XEventMetadata"; }

 protected:
  explicit XEventMetadata(::google::protobuf::Arena* arena);
  XEventMetadata(::google::protobuf::Arena* arena, const XEventMetadata& from);
  XEventMetadata(::google::protobuf::Arena* arena, XEventMetadata&& from) noexcept
      : XEventMetadata(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kStatsFieldNumber = 5,
    kChildIdFieldNumber = 6,
    kNameFieldNumber = 2,
    kMetadataFieldNumber = 3,
    kDisplayNameFieldNumber = 4,
    kIdFieldNumber = 1,
  };
  // repeated .tensorflow.profiler.XStat stats = 5;
  int stats_size() const;
  private:
  int _internal_stats_size() const;

  public:
  void clear_stats() ;
  ::tensorflow::profiler::XStat* mutable_stats(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* mutable_stats();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& _internal_stats() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* _internal_mutable_stats();
  public:
  const ::tensorflow::profiler::XStat& stats(int index) const;
  ::tensorflow::profiler::XStat* add_stats();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& stats() const;
  // repeated int64 child_id = 6;
  int child_id_size() const;
  private:
  int _internal_child_id_size() const;

  public:
  void clear_child_id() ;
  ::int64_t child_id(int index) const;
  void set_child_id(int index, ::int64_t value);
  void add_child_id(::int64_t value);
  const ::google::protobuf::RepeatedField<::int64_t>& child_id() const;
  ::google::protobuf::RepeatedField<::int64_t>* mutable_child_id();

  private:
  const ::google::protobuf::RepeatedField<::int64_t>& _internal_child_id() const;
  ::google::protobuf::RepeatedField<::int64_t>* _internal_mutable_child_id();

  public:
  // string name = 2;
  void clear_name() ;
  const std::string& name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* value);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // bytes metadata = 3;
  void clear_metadata() ;
  const std::string& metadata() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_metadata(Arg_&& arg, Args_... args);
  std::string* mutable_metadata();
  PROTOBUF_NODISCARD std::string* release_metadata();
  void set_allocated_metadata(std::string* value);

  private:
  const std::string& _internal_metadata() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_metadata(
      const std::string& value);
  std::string* _internal_mutable_metadata();

  public:
  // string display_name = 4;
  void clear_display_name() ;
  const std::string& display_name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_display_name(Arg_&& arg, Args_... args);
  std::string* mutable_display_name();
  PROTOBUF_NODISCARD std::string* release_display_name();
  void set_allocated_display_name(std::string* value);

  private:
  const std::string& _internal_display_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(
      const std::string& value);
  std::string* _internal_mutable_display_name();

  public:
  // int64 id = 1;
  void clear_id() ;
  ::int64_t id() const;
  void set_id(::int64_t value);

  private:
  ::int64_t _internal_id() const;
  void _internal_set_id(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XEventMetadata)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      3, 6, 1,
      59, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XEventMetadata& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XStat > stats_;
    ::google::protobuf::RepeatedField<::int64_t> child_id_;
    mutable ::google::protobuf::internal::CachedSize _child_id_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr metadata_;
    ::google::protobuf::internal::ArenaStringPtr display_name_;
    ::int64_t id_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XEvent final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XEvent) */ {
 public:
  inline XEvent() : XEvent(nullptr) {}
  ~XEvent() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XEvent(
      ::google::protobuf::internal::ConstantInitialized);

  inline XEvent(const XEvent& from) : XEvent(nullptr, from) {}
  inline XEvent(XEvent&& from) noexcept
      : XEvent(nullptr, std::move(from)) {}
  inline XEvent& operator=(const XEvent& from) {
    CopyFrom(from);
    return *this;
  }
  inline XEvent& operator=(XEvent&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XEvent& default_instance() {
    return *internal_default_instance();
  }
  enum DataCase {
    kOffsetPs = 2,
    kNumOccurrences = 5,
    DATA_NOT_SET = 0,
  };
  static inline const XEvent* internal_default_instance() {
    return reinterpret_cast<const XEvent*>(
        &_XEvent_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(XEvent& a, XEvent& b) { a.Swap(&b); }
  inline void Swap(XEvent* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XEvent* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XEvent* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XEvent>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XEvent& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XEvent& from) { XEvent::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XEvent* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XEvent"; }

 protected:
  explicit XEvent(::google::protobuf::Arena* arena);
  XEvent(::google::protobuf::Arena* arena, const XEvent& from);
  XEvent(::google::protobuf::Arena* arena, XEvent&& from) noexcept
      : XEvent(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kStatsFieldNumber = 4,
    kMetadataIdFieldNumber = 1,
    kDurationPsFieldNumber = 3,
    kOffsetPsFieldNumber = 2,
    kNumOccurrencesFieldNumber = 5,
  };
  // repeated .tensorflow.profiler.XStat stats = 4;
  int stats_size() const;
  private:
  int _internal_stats_size() const;

  public:
  void clear_stats() ;
  ::tensorflow::profiler::XStat* mutable_stats(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* mutable_stats();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& _internal_stats() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* _internal_mutable_stats();
  public:
  const ::tensorflow::profiler::XStat& stats(int index) const;
  ::tensorflow::profiler::XStat* add_stats();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& stats() const;
  // int64 metadata_id = 1;
  void clear_metadata_id() ;
  ::int64_t metadata_id() const;
  void set_metadata_id(::int64_t value);

  private:
  ::int64_t _internal_metadata_id() const;
  void _internal_set_metadata_id(::int64_t value);

  public:
  // int64 duration_ps = 3;
  void clear_duration_ps() ;
  ::int64_t duration_ps() const;
  void set_duration_ps(::int64_t value);

  private:
  ::int64_t _internal_duration_ps() const;
  void _internal_set_duration_ps(::int64_t value);

  public:
  // int64 offset_ps = 2;
  bool has_offset_ps() const;
  void clear_offset_ps() ;
  ::int64_t offset_ps() const;
  void set_offset_ps(::int64_t value);

  private:
  ::int64_t _internal_offset_ps() const;
  void _internal_set_offset_ps(::int64_t value);

  public:
  // int64 num_occurrences = 5;
  bool has_num_occurrences() const;
  void clear_num_occurrences() ;
  ::int64_t num_occurrences() const;
  void set_num_occurrences(::int64_t value);

  private:
  ::int64_t _internal_num_occurrences() const;
  void _internal_set_num_occurrences(::int64_t value);

  public:
  void clear_data();
  DataCase data_case() const;
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XEvent)
 private:
  class _Internal;
  void set_has_offset_ps();
  void set_has_num_occurrences();
  inline bool has_data() const;
  inline void clear_has_data();
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      2, 5, 1,
      0, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XEvent& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XStat > stats_;
    ::int64_t metadata_id_;
    ::int64_t duration_ps_;
    union DataUnion {
      constexpr DataUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::int64_t offset_ps_;
      ::int64_t num_occurrences_;
    } data_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class XPlane_EventMetadataEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<
          XPlane_EventMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XEventMetadata,
          ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
          ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType = ::google::protobuf::internal::MapEntry<
      XPlane_EventMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XEventMetadata,
      ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  XPlane_EventMetadataEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XPlane_EventMetadataEntry_DoNotUse(
      ::google::protobuf::internal::ConstantInitialized);
  explicit XPlane_EventMetadataEntry_DoNotUse(::google::protobuf::Arena* arena);
  static const XPlane_EventMetadataEntry_DoNotUse* internal_default_instance() {
    return reinterpret_cast<const XPlane_EventMetadataEntry_DoNotUse*>(
        &_XPlane_EventMetadataEntry_DoNotUse_default_instance_);
  }


 private:
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 1,
      0, 2>
      _table_;

  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XLine final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XLine) */ {
 public:
  inline XLine() : XLine(nullptr) {}
  ~XLine() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XLine(
      ::google::protobuf::internal::ConstantInitialized);

  inline XLine(const XLine& from) : XLine(nullptr, from) {}
  inline XLine(XLine&& from) noexcept
      : XLine(nullptr, std::move(from)) {}
  inline XLine& operator=(const XLine& from) {
    CopyFrom(from);
    return *this;
  }
  inline XLine& operator=(XLine&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XLine& default_instance() {
    return *internal_default_instance();
  }
  static inline const XLine* internal_default_instance() {
    return reinterpret_cast<const XLine*>(
        &_XLine_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(XLine& a, XLine& b) { a.Swap(&b); }
  inline void Swap(XLine* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XLine* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XLine* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XLine>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XLine& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XLine& from) { XLine::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XLine* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XLine"; }

 protected:
  explicit XLine(::google::protobuf::Arena* arena);
  XLine(::google::protobuf::Arena* arena, const XLine& from);
  XLine(::google::protobuf::Arena* arena, XLine&& from) noexcept
      : XLine(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kEventsFieldNumber = 4,
    kNameFieldNumber = 2,
    kDisplayNameFieldNumber = 11,
    kIdFieldNumber = 1,
    kTimestampNsFieldNumber = 3,
    kDurationPsFieldNumber = 9,
    kDisplayIdFieldNumber = 10,
  };
  // repeated .tensorflow.profiler.XEvent events = 4;
  int events_size() const;
  private:
  int _internal_events_size() const;

  public:
  void clear_events() ;
  ::tensorflow::profiler::XEvent* mutable_events(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>* mutable_events();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>& _internal_events() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>* _internal_mutable_events();
  public:
  const ::tensorflow::profiler::XEvent& events(int index) const;
  ::tensorflow::profiler::XEvent* add_events();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>& events() const;
  // string name = 2;
  void clear_name() ;
  const std::string& name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* value);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // string display_name = 11;
  void clear_display_name() ;
  const std::string& display_name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_display_name(Arg_&& arg, Args_... args);
  std::string* mutable_display_name();
  PROTOBUF_NODISCARD std::string* release_display_name();
  void set_allocated_display_name(std::string* value);

  private:
  const std::string& _internal_display_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_display_name(
      const std::string& value);
  std::string* _internal_mutable_display_name();

  public:
  // int64 id = 1;
  void clear_id() ;
  ::int64_t id() const;
  void set_id(::int64_t value);

  private:
  ::int64_t _internal_id() const;
  void _internal_set_id(::int64_t value);

  public:
  // int64 timestamp_ns = 3;
  void clear_timestamp_ns() ;
  ::int64_t timestamp_ns() const;
  void set_timestamp_ns(::int64_t value);

  private:
  ::int64_t _internal_timestamp_ns() const;
  void _internal_set_timestamp_ns(::int64_t value);

  public:
  // int64 duration_ps = 9;
  void clear_duration_ps() ;
  ::int64_t duration_ps() const;
  void set_duration_ps(::int64_t value);

  private:
  ::int64_t _internal_duration_ps() const;
  void _internal_set_duration_ps(::int64_t value);

  public:
  // int64 display_id = 10;
  void clear_display_id() ;
  ::int64_t display_id() const;
  void set_display_id(::int64_t value);

  private:
  ::int64_t _internal_display_id() const;
  void _internal_set_display_id(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XLine)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      2, 7, 1,
      50, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XLine& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XEvent > events_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr display_name_;
    ::int64_t id_;
    ::int64_t timestamp_ns_;
    ::int64_t duration_ps_;
    ::int64_t display_id_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XPlane final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XPlane) */ {
 public:
  inline XPlane() : XPlane(nullptr) {}
  ~XPlane() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XPlane(
      ::google::protobuf::internal::ConstantInitialized);

  inline XPlane(const XPlane& from) : XPlane(nullptr, from) {}
  inline XPlane(XPlane&& from) noexcept
      : XPlane(nullptr, std::move(from)) {}
  inline XPlane& operator=(const XPlane& from) {
    CopyFrom(from);
    return *this;
  }
  inline XPlane& operator=(XPlane&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XPlane& default_instance() {
    return *internal_default_instance();
  }
  static inline const XPlane* internal_default_instance() {
    return reinterpret_cast<const XPlane*>(
        &_XPlane_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(XPlane& a, XPlane& b) { a.Swap(&b); }
  inline void Swap(XPlane* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XPlane* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XPlane* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XPlane>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XPlane& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XPlane& from) { XPlane::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XPlane* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XPlane"; }

 protected:
  explicit XPlane(::google::protobuf::Arena* arena);
  XPlane(::google::protobuf::Arena* arena, const XPlane& from);
  XPlane(::google::protobuf::Arena* arena, XPlane&& from) noexcept
      : XPlane(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kLinesFieldNumber = 3,
    kEventMetadataFieldNumber = 4,
    kStatMetadataFieldNumber = 5,
    kStatsFieldNumber = 6,
    kNameFieldNumber = 2,
    kIdFieldNumber = 1,
  };
  // repeated .tensorflow.profiler.XLine lines = 3;
  int lines_size() const;
  private:
  int _internal_lines_size() const;

  public:
  void clear_lines() ;
  ::tensorflow::profiler::XLine* mutable_lines(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>* mutable_lines();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>& _internal_lines() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>* _internal_mutable_lines();
  public:
  const ::tensorflow::profiler::XLine& lines(int index) const;
  ::tensorflow::profiler::XLine* add_lines();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>& lines() const;
  // map<int64, .tensorflow.profiler.XEventMetadata> event_metadata = 4;
  int event_metadata_size() const;
  private:
  int _internal_event_metadata_size() const;

  public:
  void clear_event_metadata() ;
  const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>& event_metadata() const;
  ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>* mutable_event_metadata();

  private:
  const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>& _internal_event_metadata() const;
  ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>* _internal_mutable_event_metadata();

  public:
  // map<int64, .tensorflow.profiler.XStatMetadata> stat_metadata = 5;
  int stat_metadata_size() const;
  private:
  int _internal_stat_metadata_size() const;

  public:
  void clear_stat_metadata() ;
  const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>& stat_metadata() const;
  ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>* mutable_stat_metadata();

  private:
  const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>& _internal_stat_metadata() const;
  ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>* _internal_mutable_stat_metadata();

  public:
  // repeated .tensorflow.profiler.XStat stats = 6;
  int stats_size() const;
  private:
  int _internal_stats_size() const;

  public:
  void clear_stats() ;
  ::tensorflow::profiler::XStat* mutable_stats(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* mutable_stats();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& _internal_stats() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* _internal_mutable_stats();
  public:
  const ::tensorflow::profiler::XStat& stats(int index) const;
  ::tensorflow::profiler::XStat* add_stats();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& stats() const;
  // string name = 2;
  void clear_name() ;
  const std::string& name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* value);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // int64 id = 1;
  void clear_id() ;
  ::int64_t id() const;
  void set_id(::int64_t value);

  private:
  ::int64_t _internal_id() const;
  void _internal_set_id(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XPlane)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      3, 6, 6,
      39, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XPlane& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XLine > lines_;
    ::google::protobuf::internal::MapField<XPlane_EventMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XEventMetadata,
                      ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        event_metadata_;
    ::google::protobuf::internal::MapField<XPlane_StatMetadataEntry_DoNotUse, ::int64_t, ::tensorflow::profiler::XStatMetadata,
                      ::google::protobuf::internal::WireFormatLite::TYPE_INT64,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        stat_metadata_;
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XStat > stats_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::int64_t id_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT XSpace final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.profiler.XSpace) */ {
 public:
  inline XSpace() : XSpace(nullptr) {}
  ~XSpace() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR XSpace(
      ::google::protobuf::internal::ConstantInitialized);

  inline XSpace(const XSpace& from) : XSpace(nullptr, from) {}
  inline XSpace(XSpace&& from) noexcept
      : XSpace(nullptr, std::move(from)) {}
  inline XSpace& operator=(const XSpace& from) {
    CopyFrom(from);
    return *this;
  }
  inline XSpace& operator=(XSpace&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const XSpace& default_instance() {
    return *internal_default_instance();
  }
  static inline const XSpace* internal_default_instance() {
    return reinterpret_cast<const XSpace*>(
        &_XSpace_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(XSpace& a, XSpace& b) { a.Swap(&b); }
  inline void Swap(XSpace* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(XSpace* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  XSpace* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<XSpace>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const XSpace& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const XSpace& from) { XSpace::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(XSpace* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.profiler.XSpace"; }

 protected:
  explicit XSpace(::google::protobuf::Arena* arena);
  XSpace(::google::protobuf::Arena* arena, const XSpace& from);
  XSpace(::google::protobuf::Arena* arena, XSpace&& from) noexcept
      : XSpace(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kPlanesFieldNumber = 1,
    kErrorsFieldNumber = 2,
    kWarningsFieldNumber = 3,
    kHostnamesFieldNumber = 4,
  };
  // repeated .tensorflow.profiler.XPlane planes = 1;
  int planes_size() const;
  private:
  int _internal_planes_size() const;

  public:
  void clear_planes() ;
  ::tensorflow::profiler::XPlane* mutable_planes(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>* mutable_planes();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>& _internal_planes() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>* _internal_mutable_planes();
  public:
  const ::tensorflow::profiler::XPlane& planes(int index) const;
  ::tensorflow::profiler::XPlane* add_planes();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>& planes() const;
  // repeated string errors = 2;
  int errors_size() const;
  private:
  int _internal_errors_size() const;

  public:
  void clear_errors() ;
  const std::string& errors(int index) const;
  std::string* mutable_errors(int index);
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_errors(int index, Arg_&& value, Args_... args);
  std::string* add_errors();
  template <typename Arg_ = const std::string&, typename... Args_>
  void add_errors(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<std::string>& errors() const;
  ::google::protobuf::RepeatedPtrField<std::string>* mutable_errors();

  private:
  const ::google::protobuf::RepeatedPtrField<std::string>& _internal_errors() const;
  ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_errors();

  public:
  // repeated string warnings = 3;
  int warnings_size() const;
  private:
  int _internal_warnings_size() const;

  public:
  void clear_warnings() ;
  const std::string& warnings(int index) const;
  std::string* mutable_warnings(int index);
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_warnings(int index, Arg_&& value, Args_... args);
  std::string* add_warnings();
  template <typename Arg_ = const std::string&, typename... Args_>
  void add_warnings(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<std::string>& warnings() const;
  ::google::protobuf::RepeatedPtrField<std::string>* mutable_warnings();

  private:
  const ::google::protobuf::RepeatedPtrField<std::string>& _internal_warnings() const;
  ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_warnings();

  public:
  // repeated string hostnames = 4;
  int hostnames_size() const;
  private:
  int _internal_hostnames_size() const;

  public:
  void clear_hostnames() ;
  const std::string& hostnames(int index) const;
  std::string* mutable_hostnames(int index);
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_hostnames(int index, Arg_&& value, Args_... args);
  std::string* add_hostnames();
  template <typename Arg_ = const std::string&, typename... Args_>
  void add_hostnames(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<std::string>& hostnames() const;
  ::google::protobuf::RepeatedPtrField<std::string>* mutable_hostnames();

  private:
  const ::google::protobuf::RepeatedPtrField<std::string>& _internal_hostnames() const;
  ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_hostnames();

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.profiler.XSpace)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      2, 4, 1,
      58, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const XSpace& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::profiler::XPlane > planes_;
    ::google::protobuf::RepeatedPtrField<std::string> errors_;
    ::google::protobuf::RepeatedPtrField<std::string> warnings_;
    ::google::protobuf::RepeatedPtrField<std::string> hostnames_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto;
};

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// XSpace

// repeated .tensorflow.profiler.XPlane planes = 1;
inline int XSpace::_internal_planes_size() const {
  return _internal_planes().size();
}
inline int XSpace::planes_size() const {
  return _internal_planes_size();
}
inline void XSpace::clear_planes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.planes_.Clear();
}
inline ::tensorflow::profiler::XPlane* XSpace::mutable_planes(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XSpace.planes)
  return _internal_mutable_planes()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>* XSpace::mutable_planes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XSpace.planes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_planes();
}
inline const ::tensorflow::profiler::XPlane& XSpace::planes(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XSpace.planes)
  return _internal_planes().Get(index);
}
inline ::tensorflow::profiler::XPlane* XSpace::add_planes() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XPlane* _add = _internal_mutable_planes()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XSpace.planes)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>& XSpace::planes() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XSpace.planes)
  return _internal_planes();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>&
XSpace::_internal_planes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.planes_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XPlane>*
XSpace::_internal_mutable_planes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.planes_;
}

// repeated string errors = 2;
inline int XSpace::_internal_errors_size() const {
  return _internal_errors().size();
}
inline int XSpace::errors_size() const {
  return _internal_errors_size();
}
inline void XSpace::clear_errors() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.errors_.Clear();
}
inline std::string* XSpace::add_errors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  std::string* _s = _internal_mutable_errors()->Add();
  // @@protoc_insertion_point(field_add_mutable:tensorflow.profiler.XSpace.errors)
  return _s;
}
inline const std::string& XSpace::errors(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XSpace.errors)
  return _internal_errors().Get(index);
}
inline std::string* XSpace::mutable_errors(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XSpace.errors)
  return _internal_mutable_errors()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void XSpace::set_errors(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_errors()->Mutable(index),
      std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XSpace.errors)
}
template <typename Arg_, typename... Args_>
inline void XSpace::add_errors(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_errors(),
                               std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XSpace.errors)
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::errors() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XSpace.errors)
  return _internal_errors();
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::mutable_errors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XSpace.errors)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_errors();
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::_internal_errors() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.errors_;
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::_internal_mutable_errors() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.errors_;
}

// repeated string warnings = 3;
inline int XSpace::_internal_warnings_size() const {
  return _internal_warnings().size();
}
inline int XSpace::warnings_size() const {
  return _internal_warnings_size();
}
inline void XSpace::clear_warnings() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.warnings_.Clear();
}
inline std::string* XSpace::add_warnings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  std::string* _s = _internal_mutable_warnings()->Add();
  // @@protoc_insertion_point(field_add_mutable:tensorflow.profiler.XSpace.warnings)
  return _s;
}
inline const std::string& XSpace::warnings(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XSpace.warnings)
  return _internal_warnings().Get(index);
}
inline std::string* XSpace::mutable_warnings(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XSpace.warnings)
  return _internal_mutable_warnings()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void XSpace::set_warnings(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_warnings()->Mutable(index),
      std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XSpace.warnings)
}
template <typename Arg_, typename... Args_>
inline void XSpace::add_warnings(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_warnings(),
                               std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XSpace.warnings)
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::warnings() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XSpace.warnings)
  return _internal_warnings();
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::mutable_warnings() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XSpace.warnings)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_warnings();
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::_internal_warnings() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.warnings_;
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::_internal_mutable_warnings() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.warnings_;
}

// repeated string hostnames = 4;
inline int XSpace::_internal_hostnames_size() const {
  return _internal_hostnames().size();
}
inline int XSpace::hostnames_size() const {
  return _internal_hostnames_size();
}
inline void XSpace::clear_hostnames() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hostnames_.Clear();
}
inline std::string* XSpace::add_hostnames() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  std::string* _s = _internal_mutable_hostnames()->Add();
  // @@protoc_insertion_point(field_add_mutable:tensorflow.profiler.XSpace.hostnames)
  return _s;
}
inline const std::string& XSpace::hostnames(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XSpace.hostnames)
  return _internal_hostnames().Get(index);
}
inline std::string* XSpace::mutable_hostnames(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XSpace.hostnames)
  return _internal_mutable_hostnames()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void XSpace::set_hostnames(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_hostnames()->Mutable(index),
      std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XSpace.hostnames)
}
template <typename Arg_, typename... Args_>
inline void XSpace::add_hostnames(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_hostnames(),
                               std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XSpace.hostnames)
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::hostnames() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XSpace.hostnames)
  return _internal_hostnames();
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::mutable_hostnames() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XSpace.hostnames)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_hostnames();
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
XSpace::_internal_hostnames() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hostnames_;
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
XSpace::_internal_mutable_hostnames() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.hostnames_;
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// XPlane

// int64 id = 1;
inline void XPlane::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = ::int64_t{0};
}
inline ::int64_t XPlane::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XPlane.id)
  return _internal_id();
}
inline void XPlane::set_id(::int64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XPlane.id)
}
inline ::int64_t XPlane::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_;
}
inline void XPlane::_internal_set_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = value;
}

// string name = 2;
inline void XPlane::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
}
inline const std::string& XPlane::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XPlane.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XPlane::set_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XPlane.name)
}
inline std::string* XPlane::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XPlane.name)
  return _s;
}
inline const std::string& XPlane::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void XPlane::_internal_set_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline std::string* XPlane::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline std::string* XPlane::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XPlane.name)
  return _impl_.name_.Release();
}
inline void XPlane::set_allocated_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XPlane.name)
}

// repeated .tensorflow.profiler.XLine lines = 3;
inline int XPlane::_internal_lines_size() const {
  return _internal_lines().size();
}
inline int XPlane::lines_size() const {
  return _internal_lines_size();
}
inline void XPlane::clear_lines() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lines_.Clear();
}
inline ::tensorflow::profiler::XLine* XPlane::mutable_lines(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XPlane.lines)
  return _internal_mutable_lines()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>* XPlane::mutable_lines()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XPlane.lines)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_lines();
}
inline const ::tensorflow::profiler::XLine& XPlane::lines(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XPlane.lines)
  return _internal_lines().Get(index);
}
inline ::tensorflow::profiler::XLine* XPlane::add_lines() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XLine* _add = _internal_mutable_lines()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XPlane.lines)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>& XPlane::lines() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XPlane.lines)
  return _internal_lines();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>&
XPlane::_internal_lines() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lines_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XLine>*
XPlane::_internal_mutable_lines() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.lines_;
}

// map<int64, .tensorflow.profiler.XEventMetadata> event_metadata = 4;
inline int XPlane::_internal_event_metadata_size() const {
  return _internal_event_metadata().size();
}
inline int XPlane::event_metadata_size() const {
  return _internal_event_metadata_size();
}
inline void XPlane::clear_event_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.event_metadata_.Clear();
}
inline const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>& XPlane::_internal_event_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.event_metadata_.GetMap();
}
inline const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>& XPlane::event_metadata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.XPlane.event_metadata)
  return _internal_event_metadata();
}
inline ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>* XPlane::_internal_mutable_event_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.event_metadata_.MutableMap();
}
inline ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XEventMetadata>* XPlane::mutable_event_metadata() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.XPlane.event_metadata)
  return _internal_mutable_event_metadata();
}

// map<int64, .tensorflow.profiler.XStatMetadata> stat_metadata = 5;
inline int XPlane::_internal_stat_metadata_size() const {
  return _internal_stat_metadata().size();
}
inline int XPlane::stat_metadata_size() const {
  return _internal_stat_metadata_size();
}
inline void XPlane::clear_stat_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stat_metadata_.Clear();
}
inline const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>& XPlane::_internal_stat_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stat_metadata_.GetMap();
}
inline const ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>& XPlane::stat_metadata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.XPlane.stat_metadata)
  return _internal_stat_metadata();
}
inline ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>* XPlane::_internal_mutable_stat_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.stat_metadata_.MutableMap();
}
inline ::google::protobuf::Map<::int64_t, ::tensorflow::profiler::XStatMetadata>* XPlane::mutable_stat_metadata() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.XPlane.stat_metadata)
  return _internal_mutable_stat_metadata();
}

// repeated .tensorflow.profiler.XStat stats = 6;
inline int XPlane::_internal_stats_size() const {
  return _internal_stats().size();
}
inline int XPlane::stats_size() const {
  return _internal_stats_size();
}
inline void XPlane::clear_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stats_.Clear();
}
inline ::tensorflow::profiler::XStat* XPlane::mutable_stats(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XPlane.stats)
  return _internal_mutable_stats()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* XPlane::mutable_stats()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XPlane.stats)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_stats();
}
inline const ::tensorflow::profiler::XStat& XPlane::stats(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XPlane.stats)
  return _internal_stats().Get(index);
}
inline ::tensorflow::profiler::XStat* XPlane::add_stats() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XStat* _add = _internal_mutable_stats()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XPlane.stats)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& XPlane::stats() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XPlane.stats)
  return _internal_stats();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>&
XPlane::_internal_stats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stats_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>*
XPlane::_internal_mutable_stats() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.stats_;
}

// -------------------------------------------------------------------

// XLine

// int64 id = 1;
inline void XLine::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = ::int64_t{0};
}
inline ::int64_t XLine::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.id)
  return _internal_id();
}
inline void XLine::set_id(::int64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.id)
}
inline ::int64_t XLine::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_;
}
inline void XLine::_internal_set_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = value;
}

// int64 display_id = 10;
inline void XLine::clear_display_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_id_ = ::int64_t{0};
}
inline ::int64_t XLine::display_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.display_id)
  return _internal_display_id();
}
inline void XLine::set_display_id(::int64_t value) {
  _internal_set_display_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.display_id)
}
inline ::int64_t XLine::_internal_display_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.display_id_;
}
inline void XLine::_internal_set_display_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_id_ = value;
}

// string name = 2;
inline void XLine::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
}
inline const std::string& XLine::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XLine::set_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.name)
}
inline std::string* XLine::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XLine.name)
  return _s;
}
inline const std::string& XLine::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void XLine::_internal_set_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline std::string* XLine::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline std::string* XLine::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XLine.name)
  return _impl_.name_.Release();
}
inline void XLine::set_allocated_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XLine.name)
}

// string display_name = 11;
inline void XLine::clear_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.ClearToEmpty();
}
inline const std::string& XLine::display_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.display_name)
  return _internal_display_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XLine::set_display_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.display_name)
}
inline std::string* XLine::mutable_display_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_display_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XLine.display_name)
  return _s;
}
inline const std::string& XLine::_internal_display_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.display_name_.Get();
}
inline void XLine::_internal_set_display_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.Set(value, GetArena());
}
inline std::string* XLine::_internal_mutable_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.display_name_.Mutable( GetArena());
}
inline std::string* XLine::release_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XLine.display_name)
  return _impl_.display_name_.Release();
}
inline void XLine::set_allocated_display_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.display_name_.IsDefault()) {
          _impl_.display_name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XLine.display_name)
}

// int64 timestamp_ns = 3;
inline void XLine::clear_timestamp_ns() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timestamp_ns_ = ::int64_t{0};
}
inline ::int64_t XLine::timestamp_ns() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.timestamp_ns)
  return _internal_timestamp_ns();
}
inline void XLine::set_timestamp_ns(::int64_t value) {
  _internal_set_timestamp_ns(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.timestamp_ns)
}
inline ::int64_t XLine::_internal_timestamp_ns() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.timestamp_ns_;
}
inline void XLine::_internal_set_timestamp_ns(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timestamp_ns_ = value;
}

// int64 duration_ps = 9;
inline void XLine::clear_duration_ps() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ps_ = ::int64_t{0};
}
inline ::int64_t XLine::duration_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.duration_ps)
  return _internal_duration_ps();
}
inline void XLine::set_duration_ps(::int64_t value) {
  _internal_set_duration_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XLine.duration_ps)
}
inline ::int64_t XLine::_internal_duration_ps() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.duration_ps_;
}
inline void XLine::_internal_set_duration_ps(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ps_ = value;
}

// repeated .tensorflow.profiler.XEvent events = 4;
inline int XLine::_internal_events_size() const {
  return _internal_events().size();
}
inline int XLine::events_size() const {
  return _internal_events_size();
}
inline void XLine::clear_events() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.events_.Clear();
}
inline ::tensorflow::profiler::XEvent* XLine::mutable_events(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XLine.events)
  return _internal_mutable_events()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>* XLine::mutable_events()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XLine.events)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_events();
}
inline const ::tensorflow::profiler::XEvent& XLine::events(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XLine.events)
  return _internal_events().Get(index);
}
inline ::tensorflow::profiler::XEvent* XLine::add_events() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XEvent* _add = _internal_mutable_events()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XLine.events)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>& XLine::events() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XLine.events)
  return _internal_events();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>&
XLine::_internal_events() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.events_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XEvent>*
XLine::_internal_mutable_events() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.events_;
}

// -------------------------------------------------------------------

// XEvent

// int64 metadata_id = 1;
inline void XEvent::clear_metadata_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_id_ = ::int64_t{0};
}
inline ::int64_t XEvent::metadata_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEvent.metadata_id)
  return _internal_metadata_id();
}
inline void XEvent::set_metadata_id(::int64_t value) {
  _internal_set_metadata_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEvent.metadata_id)
}
inline ::int64_t XEvent::_internal_metadata_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.metadata_id_;
}
inline void XEvent::_internal_set_metadata_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_id_ = value;
}

// int64 offset_ps = 2;
inline bool XEvent::has_offset_ps() const {
  return data_case() == kOffsetPs;
}
inline void XEvent::set_has_offset_ps() {
  _impl_._oneof_case_[0] = kOffsetPs;
}
inline void XEvent::clear_offset_ps() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (data_case() == kOffsetPs) {
    _impl_.data_.offset_ps_ = ::int64_t{0};
    clear_has_data();
  }
}
inline ::int64_t XEvent::offset_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEvent.offset_ps)
  return _internal_offset_ps();
}
inline void XEvent::set_offset_ps(::int64_t value) {
  if (data_case() != kOffsetPs) {
    clear_data();
    set_has_offset_ps();
  }
  _impl_.data_.offset_ps_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEvent.offset_ps)
}
inline ::int64_t XEvent::_internal_offset_ps() const {
  if (data_case() == kOffsetPs) {
    return _impl_.data_.offset_ps_;
  }
  return ::int64_t{0};
}

// int64 num_occurrences = 5;
inline bool XEvent::has_num_occurrences() const {
  return data_case() == kNumOccurrences;
}
inline void XEvent::set_has_num_occurrences() {
  _impl_._oneof_case_[0] = kNumOccurrences;
}
inline void XEvent::clear_num_occurrences() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (data_case() == kNumOccurrences) {
    _impl_.data_.num_occurrences_ = ::int64_t{0};
    clear_has_data();
  }
}
inline ::int64_t XEvent::num_occurrences() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEvent.num_occurrences)
  return _internal_num_occurrences();
}
inline void XEvent::set_num_occurrences(::int64_t value) {
  if (data_case() != kNumOccurrences) {
    clear_data();
    set_has_num_occurrences();
  }
  _impl_.data_.num_occurrences_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEvent.num_occurrences)
}
inline ::int64_t XEvent::_internal_num_occurrences() const {
  if (data_case() == kNumOccurrences) {
    return _impl_.data_.num_occurrences_;
  }
  return ::int64_t{0};
}

// int64 duration_ps = 3;
inline void XEvent::clear_duration_ps() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ps_ = ::int64_t{0};
}
inline ::int64_t XEvent::duration_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEvent.duration_ps)
  return _internal_duration_ps();
}
inline void XEvent::set_duration_ps(::int64_t value) {
  _internal_set_duration_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEvent.duration_ps)
}
inline ::int64_t XEvent::_internal_duration_ps() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.duration_ps_;
}
inline void XEvent::_internal_set_duration_ps(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ps_ = value;
}

// repeated .tensorflow.profiler.XStat stats = 4;
inline int XEvent::_internal_stats_size() const {
  return _internal_stats().size();
}
inline int XEvent::stats_size() const {
  return _internal_stats_size();
}
inline void XEvent::clear_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stats_.Clear();
}
inline ::tensorflow::profiler::XStat* XEvent::mutable_stats(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XEvent.stats)
  return _internal_mutable_stats()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* XEvent::mutable_stats()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XEvent.stats)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_stats();
}
inline const ::tensorflow::profiler::XStat& XEvent::stats(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEvent.stats)
  return _internal_stats().Get(index);
}
inline ::tensorflow::profiler::XStat* XEvent::add_stats() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XStat* _add = _internal_mutable_stats()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XEvent.stats)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& XEvent::stats() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XEvent.stats)
  return _internal_stats();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>&
XEvent::_internal_stats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stats_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>*
XEvent::_internal_mutable_stats() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.stats_;
}

inline bool XEvent::has_data() const {
  return data_case() != DATA_NOT_SET;
}
inline void XEvent::clear_has_data() {
  _impl_._oneof_case_[0] = DATA_NOT_SET;
}
inline XEvent::DataCase XEvent::data_case() const {
  return XEvent::DataCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// XStat

// int64 metadata_id = 1;
inline void XStat::clear_metadata_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_id_ = ::int64_t{0};
}
inline ::int64_t XStat::metadata_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.metadata_id)
  return _internal_metadata_id();
}
inline void XStat::set_metadata_id(::int64_t value) {
  _internal_set_metadata_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.metadata_id)
}
inline ::int64_t XStat::_internal_metadata_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.metadata_id_;
}
inline void XStat::_internal_set_metadata_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_id_ = value;
}

// double double_value = 2;
inline bool XStat::has_double_value() const {
  return value_case() == kDoubleValue;
}
inline void XStat::set_has_double_value() {
  _impl_._oneof_case_[0] = kDoubleValue;
}
inline void XStat::clear_double_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kDoubleValue) {
    _impl_.value_.double_value_ = 0;
    clear_has_value();
  }
}
inline double XStat::double_value() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.double_value)
  return _internal_double_value();
}
inline void XStat::set_double_value(double value) {
  if (value_case() != kDoubleValue) {
    clear_value();
    set_has_double_value();
  }
  _impl_.value_.double_value_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.double_value)
}
inline double XStat::_internal_double_value() const {
  if (value_case() == kDoubleValue) {
    return _impl_.value_.double_value_;
  }
  return 0;
}

// uint64 uint64_value = 3;
inline bool XStat::has_uint64_value() const {
  return value_case() == kUint64Value;
}
inline void XStat::set_has_uint64_value() {
  _impl_._oneof_case_[0] = kUint64Value;
}
inline void XStat::clear_uint64_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kUint64Value) {
    _impl_.value_.uint64_value_ = ::uint64_t{0u};
    clear_has_value();
  }
}
inline ::uint64_t XStat::uint64_value() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.uint64_value)
  return _internal_uint64_value();
}
inline void XStat::set_uint64_value(::uint64_t value) {
  if (value_case() != kUint64Value) {
    clear_value();
    set_has_uint64_value();
  }
  _impl_.value_.uint64_value_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.uint64_value)
}
inline ::uint64_t XStat::_internal_uint64_value() const {
  if (value_case() == kUint64Value) {
    return _impl_.value_.uint64_value_;
  }
  return ::uint64_t{0u};
}

// int64 int64_value = 4;
inline bool XStat::has_int64_value() const {
  return value_case() == kInt64Value;
}
inline void XStat::set_has_int64_value() {
  _impl_._oneof_case_[0] = kInt64Value;
}
inline void XStat::clear_int64_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kInt64Value) {
    _impl_.value_.int64_value_ = ::int64_t{0};
    clear_has_value();
  }
}
inline ::int64_t XStat::int64_value() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.int64_value)
  return _internal_int64_value();
}
inline void XStat::set_int64_value(::int64_t value) {
  if (value_case() != kInt64Value) {
    clear_value();
    set_has_int64_value();
  }
  _impl_.value_.int64_value_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.int64_value)
}
inline ::int64_t XStat::_internal_int64_value() const {
  if (value_case() == kInt64Value) {
    return _impl_.value_.int64_value_;
  }
  return ::int64_t{0};
}

// string str_value = 5;
inline bool XStat::has_str_value() const {
  return value_case() == kStrValue;
}
inline void XStat::set_has_str_value() {
  _impl_._oneof_case_[0] = kStrValue;
}
inline void XStat::clear_str_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kStrValue) {
    _impl_.value_.str_value_.Destroy();
    clear_has_value();
  }
}
inline const std::string& XStat::str_value() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.str_value)
  return _internal_str_value();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XStat::set_str_value(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kStrValue) {
    clear_value();

    set_has_str_value();
    _impl_.value_.str_value_.InitDefault();
  }
  _impl_.value_.str_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.str_value)
}
inline std::string* XStat::mutable_str_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_str_value();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XStat.str_value)
  return _s;
}
inline const std::string& XStat::_internal_str_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  if (value_case() != kStrValue) {
    return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.value_.str_value_.Get();
}
inline void XStat::_internal_set_str_value(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kStrValue) {
    clear_value();

    set_has_str_value();
    _impl_.value_.str_value_.InitDefault();
  }
  _impl_.value_.str_value_.Set(value, GetArena());
}
inline std::string* XStat::_internal_mutable_str_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kStrValue) {
    clear_value();

    set_has_str_value();
    _impl_.value_.str_value_.InitDefault();
  }
  return _impl_.value_.str_value_.Mutable( GetArena());
}
inline std::string* XStat::release_str_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XStat.str_value)
  if (value_case() != kStrValue) {
    return nullptr;
  }
  clear_has_value();
  return _impl_.value_.str_value_.Release();
}
inline void XStat::set_allocated_str_value(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (has_value()) {
    clear_value();
  }
  if (value != nullptr) {
    set_has_str_value();
    _impl_.value_.str_value_.InitAllocated(value, GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XStat.str_value)
}

// bytes bytes_value = 6;
inline bool XStat::has_bytes_value() const {
  return value_case() == kBytesValue;
}
inline void XStat::set_has_bytes_value() {
  _impl_._oneof_case_[0] = kBytesValue;
}
inline void XStat::clear_bytes_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kBytesValue) {
    _impl_.value_.bytes_value_.Destroy();
    clear_has_value();
  }
}
inline const std::string& XStat::bytes_value() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.bytes_value)
  return _internal_bytes_value();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XStat::set_bytes_value(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kBytesValue) {
    clear_value();

    set_has_bytes_value();
    _impl_.value_.bytes_value_.InitDefault();
  }
  _impl_.value_.bytes_value_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.bytes_value)
}
inline std::string* XStat::mutable_bytes_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_bytes_value();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XStat.bytes_value)
  return _s;
}
inline const std::string& XStat::_internal_bytes_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  if (value_case() != kBytesValue) {
    return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.value_.bytes_value_.Get();
}
inline void XStat::_internal_set_bytes_value(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kBytesValue) {
    clear_value();

    set_has_bytes_value();
    _impl_.value_.bytes_value_.InitDefault();
  }
  _impl_.value_.bytes_value_.Set(value, GetArena());
}
inline std::string* XStat::_internal_mutable_bytes_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() != kBytesValue) {
    clear_value();

    set_has_bytes_value();
    _impl_.value_.bytes_value_.InitDefault();
  }
  return _impl_.value_.bytes_value_.Mutable( GetArena());
}
inline std::string* XStat::release_bytes_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XStat.bytes_value)
  if (value_case() != kBytesValue) {
    return nullptr;
  }
  clear_has_value();
  return _impl_.value_.bytes_value_.Release();
}
inline void XStat::set_allocated_bytes_value(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (has_value()) {
    clear_value();
  }
  if (value != nullptr) {
    set_has_bytes_value();
    _impl_.value_.bytes_value_.InitAllocated(value, GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XStat.bytes_value)
}

// uint64 ref_value = 7;
inline bool XStat::has_ref_value() const {
  return value_case() == kRefValue;
}
inline void XStat::set_has_ref_value() {
  _impl_._oneof_case_[0] = kRefValue;
}
inline void XStat::clear_ref_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value_case() == kRefValue) {
    _impl_.value_.ref_value_ = ::uint64_t{0u};
    clear_has_value();
  }
}
inline ::uint64_t XStat::ref_value() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStat.ref_value)
  return _internal_ref_value();
}
inline void XStat::set_ref_value(::uint64_t value) {
  if (value_case() != kRefValue) {
    clear_value();
    set_has_ref_value();
  }
  _impl_.value_.ref_value_ = value;
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStat.ref_value)
}
inline ::uint64_t XStat::_internal_ref_value() const {
  if (value_case() == kRefValue) {
    return _impl_.value_.ref_value_;
  }
  return ::uint64_t{0u};
}

inline bool XStat::has_value() const {
  return value_case() != VALUE_NOT_SET;
}
inline void XStat::clear_has_value() {
  _impl_._oneof_case_[0] = VALUE_NOT_SET;
}
inline XStat::ValueCase XStat::value_case() const {
  return XStat::ValueCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// XEventMetadata

// int64 id = 1;
inline void XEventMetadata::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = ::int64_t{0};
}
inline ::int64_t XEventMetadata::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.id)
  return _internal_id();
}
inline void XEventMetadata::set_id(::int64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEventMetadata.id)
}
inline ::int64_t XEventMetadata::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_;
}
inline void XEventMetadata::_internal_set_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = value;
}

// string name = 2;
inline void XEventMetadata::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
}
inline const std::string& XEventMetadata::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XEventMetadata::set_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEventMetadata.name)
}
inline std::string* XEventMetadata::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XEventMetadata.name)
  return _s;
}
inline const std::string& XEventMetadata::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void XEventMetadata::_internal_set_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline std::string* XEventMetadata::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline std::string* XEventMetadata::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XEventMetadata.name)
  return _impl_.name_.Release();
}
inline void XEventMetadata::set_allocated_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XEventMetadata.name)
}

// string display_name = 4;
inline void XEventMetadata::clear_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.ClearToEmpty();
}
inline const std::string& XEventMetadata::display_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.display_name)
  return _internal_display_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XEventMetadata::set_display_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEventMetadata.display_name)
}
inline std::string* XEventMetadata::mutable_display_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_display_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XEventMetadata.display_name)
  return _s;
}
inline const std::string& XEventMetadata::_internal_display_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.display_name_.Get();
}
inline void XEventMetadata::_internal_set_display_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.Set(value, GetArena());
}
inline std::string* XEventMetadata::_internal_mutable_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.display_name_.Mutable( GetArena());
}
inline std::string* XEventMetadata::release_display_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XEventMetadata.display_name)
  return _impl_.display_name_.Release();
}
inline void XEventMetadata::set_allocated_display_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.display_name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.display_name_.IsDefault()) {
          _impl_.display_name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XEventMetadata.display_name)
}

// bytes metadata = 3;
inline void XEventMetadata::clear_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_.ClearToEmpty();
}
inline const std::string& XEventMetadata::metadata() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.metadata)
  return _internal_metadata();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XEventMetadata::set_metadata(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEventMetadata.metadata)
}
inline std::string* XEventMetadata::mutable_metadata() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_metadata();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XEventMetadata.metadata)
  return _s;
}
inline const std::string& XEventMetadata::_internal_metadata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.metadata_.Get();
}
inline void XEventMetadata::_internal_set_metadata(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_.Set(value, GetArena());
}
inline std::string* XEventMetadata::_internal_mutable_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.metadata_.Mutable( GetArena());
}
inline std::string* XEventMetadata::release_metadata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XEventMetadata.metadata)
  return _impl_.metadata_.Release();
}
inline void XEventMetadata::set_allocated_metadata(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.metadata_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.metadata_.IsDefault()) {
          _impl_.metadata_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XEventMetadata.metadata)
}

// repeated .tensorflow.profiler.XStat stats = 5;
inline int XEventMetadata::_internal_stats_size() const {
  return _internal_stats().size();
}
inline int XEventMetadata::stats_size() const {
  return _internal_stats_size();
}
inline void XEventMetadata::clear_stats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stats_.Clear();
}
inline ::tensorflow::profiler::XStat* XEventMetadata::mutable_stats(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XEventMetadata.stats)
  return _internal_mutable_stats()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>* XEventMetadata::mutable_stats()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XEventMetadata.stats)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_stats();
}
inline const ::tensorflow::profiler::XStat& XEventMetadata::stats(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.stats)
  return _internal_stats().Get(index);
}
inline ::tensorflow::profiler::XStat* XEventMetadata::add_stats() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::profiler::XStat* _add = _internal_mutable_stats()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XEventMetadata.stats)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>& XEventMetadata::stats() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XEventMetadata.stats)
  return _internal_stats();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>&
XEventMetadata::_internal_stats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stats_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::profiler::XStat>*
XEventMetadata::_internal_mutable_stats() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.stats_;
}

// repeated int64 child_id = 6;
inline int XEventMetadata::_internal_child_id_size() const {
  return _internal_child_id().size();
}
inline int XEventMetadata::child_id_size() const {
  return _internal_child_id_size();
}
inline void XEventMetadata::clear_child_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.child_id_.Clear();
}
inline ::int64_t XEventMetadata::child_id(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XEventMetadata.child_id)
  return _internal_child_id().Get(index);
}
inline void XEventMetadata::set_child_id(int index, ::int64_t value) {
  _internal_mutable_child_id()->Set(index, value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XEventMetadata.child_id)
}
inline void XEventMetadata::add_child_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_child_id()->Add(value);
  // @@protoc_insertion_point(field_add:tensorflow.profiler.XEventMetadata.child_id)
}
inline const ::google::protobuf::RepeatedField<::int64_t>& XEventMetadata::child_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.XEventMetadata.child_id)
  return _internal_child_id();
}
inline ::google::protobuf::RepeatedField<::int64_t>* XEventMetadata::mutable_child_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.XEventMetadata.child_id)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_child_id();
}
inline const ::google::protobuf::RepeatedField<::int64_t>&
XEventMetadata::_internal_child_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.child_id_;
}
inline ::google::protobuf::RepeatedField<::int64_t>* XEventMetadata::_internal_mutable_child_id() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.child_id_;
}

// -------------------------------------------------------------------

// XStatMetadata

// int64 id = 1;
inline void XStatMetadata::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = ::int64_t{0};
}
inline ::int64_t XStatMetadata::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStatMetadata.id)
  return _internal_id();
}
inline void XStatMetadata::set_id(::int64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStatMetadata.id)
}
inline ::int64_t XStatMetadata::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_;
}
inline void XStatMetadata::_internal_set_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_ = value;
}

// string name = 2;
inline void XStatMetadata::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
}
inline const std::string& XStatMetadata::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStatMetadata.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XStatMetadata::set_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStatMetadata.name)
}
inline std::string* XStatMetadata::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XStatMetadata.name)
  return _s;
}
inline const std::string& XStatMetadata::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void XStatMetadata::_internal_set_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline std::string* XStatMetadata::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline std::string* XStatMetadata::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XStatMetadata.name)
  return _impl_.name_.Release();
}
inline void XStatMetadata::set_allocated_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XStatMetadata.name)
}

// string description = 3;
inline void XStatMetadata::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
}
inline const std::string& XStatMetadata::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.XStatMetadata.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void XStatMetadata::set_description(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.profiler.XStatMetadata.description)
}
inline std::string* XStatMetadata::mutable_description() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.XStatMetadata.description)
  return _s;
}
inline const std::string& XStatMetadata::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void XStatMetadata::_internal_set_description(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.Set(value, GetArena());
}
inline std::string* XStatMetadata::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.description_.Mutable( GetArena());
}
inline std::string* XStatMetadata::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.profiler.XStatMetadata.description)
  return _impl_.description_.Release();
}
inline void XStatMetadata::set_allocated_description(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.description_.IsDefault()) {
          _impl_.description_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.XStatMetadata.description)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace profiler
}  // namespace tensorflow


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fxplane_2eproto_2epb_2eh
