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

#ifndef PROTOBUF_INCLUDED_head_5fversion_2eproto
#define PROTOBUF_INCLUDED_head_5fversion_2eproto

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
#define PROTOBUF_INTERNAL_EXPORT_protobuf_head_5fversion_2eproto 

namespace protobuf_head_5fversion_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[3];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
}  // namespace protobuf_head_5fversion_2eproto
namespace ustore {
class BranchVersion;
class BranchVersionDefaultTypeInternal;
extern BranchVersionDefaultTypeInternal _BranchVersion_default_instance_;
class KeyVersion;
class KeyVersionDefaultTypeInternal;
extern KeyVersionDefaultTypeInternal _KeyVersion_default_instance_;
class KeyVersions;
class KeyVersionsDefaultTypeInternal;
extern KeyVersionsDefaultTypeInternal _KeyVersions_default_instance_;
}  // namespace ustore
namespace google {
namespace protobuf {
template<> ::ustore::BranchVersion* Arena::CreateMaybeMessage<::ustore::BranchVersion>(Arena*);
template<> ::ustore::KeyVersion* Arena::CreateMaybeMessage<::ustore::KeyVersion>(Arena*);
template<> ::ustore::KeyVersions* Arena::CreateMaybeMessage<::ustore::KeyVersions>(Arena*);
}  // namespace protobuf
}  // namespace google
namespace ustore {

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

class BranchVersion : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ustore.BranchVersion) */ {
 public:
  BranchVersion();
  virtual ~BranchVersion();

  BranchVersion(const BranchVersion& from);

  inline BranchVersion& operator=(const BranchVersion& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  BranchVersion(BranchVersion&& from) noexcept
    : BranchVersion() {
    *this = ::std::move(from);
  }

  inline BranchVersion& operator=(BranchVersion&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const BranchVersion& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const BranchVersion* internal_default_instance() {
    return reinterpret_cast<const BranchVersion*>(
               &_BranchVersion_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  void Swap(BranchVersion* other);
  friend void swap(BranchVersion& a, BranchVersion& b) {
    a.Swap(&b);
  }

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

  inline BranchVersion* New() const final {
    return CreateMaybeMessage<BranchVersion>(NULL);
  }

  BranchVersion* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<BranchVersion>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const BranchVersion& from);
  void MergeFrom(const BranchVersion& from);
  void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(BranchVersion* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // required bytes branch = 1;
  bool has_branch() const;
  void clear_branch();
  static const int kBranchFieldNumber = 1;
  const ::std::string& branch() const;
  void set_branch(const ::std::string& value);
  #if LANG_CXX11
  void set_branch(::std::string&& value);
  #endif
  void set_branch(const char* value);
  void set_branch(const void* value, size_t size);
  ::std::string* mutable_branch();
  ::std::string* release_branch();
  void set_allocated_branch(::std::string* branch);

  // required bytes version = 2;
  bool has_version() const;
  void clear_version();
  static const int kVersionFieldNumber = 2;
  const ::std::string& version() const;
  void set_version(const ::std::string& value);
  #if LANG_CXX11
  void set_version(::std::string&& value);
  #endif
  void set_version(const char* value);
  void set_version(const void* value, size_t size);
  ::std::string* mutable_version();
  ::std::string* release_version();
  void set_allocated_version(::std::string* version);

  // @@protoc_insertion_point(class_scope:ustore.BranchVersion)
 private:
  void set_has_branch();
  void clear_has_branch();
  void set_has_version();
  void clear_has_version();

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr branch_;
  ::google::protobuf::internal::ArenaStringPtr version_;
  friend struct ::protobuf_head_5fversion_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class KeyVersion : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ustore.KeyVersion) */ {
 public:
  KeyVersion();
  virtual ~KeyVersion();

  KeyVersion(const KeyVersion& from);

  inline KeyVersion& operator=(const KeyVersion& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  KeyVersion(KeyVersion&& from) noexcept
    : KeyVersion() {
    *this = ::std::move(from);
  }

  inline KeyVersion& operator=(KeyVersion&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const KeyVersion& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const KeyVersion* internal_default_instance() {
    return reinterpret_cast<const KeyVersion*>(
               &_KeyVersion_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  void Swap(KeyVersion* other);
  friend void swap(KeyVersion& a, KeyVersion& b) {
    a.Swap(&b);
  }

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

  inline KeyVersion* New() const final {
    return CreateMaybeMessage<KeyVersion>(NULL);
  }

  KeyVersion* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<KeyVersion>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const KeyVersion& from);
  void MergeFrom(const KeyVersion& from);
  void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(KeyVersion* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated .ustore.BranchVersion branches = 2;
  int branches_size() const;
  void clear_branches();
  static const int kBranchesFieldNumber = 2;
  ::ustore::BranchVersion* mutable_branches(int index);
  ::google::protobuf::RepeatedPtrField< ::ustore::BranchVersion >*
      mutable_branches();
  const ::ustore::BranchVersion& branches(int index) const;
  ::ustore::BranchVersion* add_branches();
  const ::google::protobuf::RepeatedPtrField< ::ustore::BranchVersion >&
      branches() const;

  // required bytes key = 1;
  bool has_key() const;
  void clear_key();
  static const int kKeyFieldNumber = 1;
  const ::std::string& key() const;
  void set_key(const ::std::string& value);
  #if LANG_CXX11
  void set_key(::std::string&& value);
  #endif
  void set_key(const char* value);
  void set_key(const void* value, size_t size);
  ::std::string* mutable_key();
  ::std::string* release_key();
  void set_allocated_key(::std::string* key);

  // @@protoc_insertion_point(class_scope:ustore.KeyVersion)
 private:
  void set_has_key();
  void clear_has_key();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::ustore::BranchVersion > branches_;
  ::google::protobuf::internal::ArenaStringPtr key_;
  friend struct ::protobuf_head_5fversion_2eproto::TableStruct;
};
// -------------------------------------------------------------------

class KeyVersions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ustore.KeyVersions) */ {
 public:
  KeyVersions();
  virtual ~KeyVersions();

  KeyVersions(const KeyVersions& from);

  inline KeyVersions& operator=(const KeyVersions& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  KeyVersions(KeyVersions&& from) noexcept
    : KeyVersions() {
    *this = ::std::move(from);
  }

  inline KeyVersions& operator=(KeyVersions&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const KeyVersions& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const KeyVersions* internal_default_instance() {
    return reinterpret_cast<const KeyVersions*>(
               &_KeyVersions_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  void Swap(KeyVersions* other);
  friend void swap(KeyVersions& a, KeyVersions& b) {
    a.Swap(&b);
  }

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

  inline KeyVersions* New() const final {
    return CreateMaybeMessage<KeyVersions>(NULL);
  }

  KeyVersions* New(::google::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<KeyVersions>(arena);
  }
  void CopyFrom(const ::google::protobuf::Message& from) final;
  void MergeFrom(const ::google::protobuf::Message& from) final;
  void CopyFrom(const KeyVersions& from);
  void MergeFrom(const KeyVersions& from);
  void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) final;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const final;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(KeyVersions* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // repeated .ustore.KeyVersion key_versions = 1;
  int key_versions_size() const;
  void clear_key_versions();
  static const int kKeyVersionsFieldNumber = 1;
  ::ustore::KeyVersion* mutable_key_versions(int index);
  ::google::protobuf::RepeatedPtrField< ::ustore::KeyVersion >*
      mutable_key_versions();
  const ::ustore::KeyVersion& key_versions(int index) const;
  ::ustore::KeyVersion* add_key_versions();
  const ::google::protobuf::RepeatedPtrField< ::ustore::KeyVersion >&
      key_versions() const;

  // @@protoc_insertion_point(class_scope:ustore.KeyVersions)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable ::google::protobuf::internal::CachedSize _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::ustore::KeyVersion > key_versions_;
  friend struct ::protobuf_head_5fversion_2eproto::TableStruct;
};
// ===================================================================


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

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

// required bytes branch = 1;
inline bool BranchVersion::has_branch() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BranchVersion::set_has_branch() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BranchVersion::clear_has_branch() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BranchVersion::clear_branch() {
  branch_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_branch();
}
inline const ::std::string& BranchVersion::branch() const {
  // @@protoc_insertion_point(field_get:ustore.BranchVersion.branch)
  return branch_.GetNoArena();
}
inline void BranchVersion::set_branch(const ::std::string& value) {
  set_has_branch();
  branch_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:ustore.BranchVersion.branch)
}
#if LANG_CXX11
inline void BranchVersion::set_branch(::std::string&& value) {
  set_has_branch();
  branch_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:ustore.BranchVersion.branch)
}
#endif
inline void BranchVersion::set_branch(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_branch();
  branch_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:ustore.BranchVersion.branch)
}
inline void BranchVersion::set_branch(const void* value, size_t size) {
  set_has_branch();
  branch_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:ustore.BranchVersion.branch)
}
inline ::std::string* BranchVersion::mutable_branch() {
  set_has_branch();
  // @@protoc_insertion_point(field_mutable:ustore.BranchVersion.branch)
  return branch_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BranchVersion::release_branch() {
  // @@protoc_insertion_point(field_release:ustore.BranchVersion.branch)
  if (!has_branch()) {
    return NULL;
  }
  clear_has_branch();
  return branch_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BranchVersion::set_allocated_branch(::std::string* branch) {
  if (branch != NULL) {
    set_has_branch();
  } else {
    clear_has_branch();
  }
  branch_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), branch);
  // @@protoc_insertion_point(field_set_allocated:ustore.BranchVersion.branch)
}

// required bytes version = 2;
inline bool BranchVersion::has_version() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BranchVersion::set_has_version() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BranchVersion::clear_has_version() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BranchVersion::clear_version() {
  version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_version();
}
inline const ::std::string& BranchVersion::version() const {
  // @@protoc_insertion_point(field_get:ustore.BranchVersion.version)
  return version_.GetNoArena();
}
inline void BranchVersion::set_version(const ::std::string& value) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:ustore.BranchVersion.version)
}
#if LANG_CXX11
inline void BranchVersion::set_version(::std::string&& value) {
  set_has_version();
  version_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:ustore.BranchVersion.version)
}
#endif
inline void BranchVersion::set_version(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:ustore.BranchVersion.version)
}
inline void BranchVersion::set_version(const void* value, size_t size) {
  set_has_version();
  version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:ustore.BranchVersion.version)
}
inline ::std::string* BranchVersion::mutable_version() {
  set_has_version();
  // @@protoc_insertion_point(field_mutable:ustore.BranchVersion.version)
  return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* BranchVersion::release_version() {
  // @@protoc_insertion_point(field_release:ustore.BranchVersion.version)
  if (!has_version()) {
    return NULL;
  }
  clear_has_version();
  return version_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void BranchVersion::set_allocated_version(::std::string* version) {
  if (version != NULL) {
    set_has_version();
  } else {
    clear_has_version();
  }
  version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:ustore.BranchVersion.version)
}

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

// KeyVersion

// required bytes key = 1;
inline bool KeyVersion::has_key() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void KeyVersion::set_has_key() {
  _has_bits_[0] |= 0x00000001u;
}
inline void KeyVersion::clear_has_key() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void KeyVersion::clear_key() {
  key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_key();
}
inline const ::std::string& KeyVersion::key() const {
  // @@protoc_insertion_point(field_get:ustore.KeyVersion.key)
  return key_.GetNoArena();
}
inline void KeyVersion::set_key(const ::std::string& value) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:ustore.KeyVersion.key)
}
#if LANG_CXX11
inline void KeyVersion::set_key(::std::string&& value) {
  set_has_key();
  key_.SetNoArena(
    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:ustore.KeyVersion.key)
}
#endif
inline void KeyVersion::set_key(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:ustore.KeyVersion.key)
}
inline void KeyVersion::set_key(const void* value, size_t size) {
  set_has_key();
  key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:ustore.KeyVersion.key)
}
inline ::std::string* KeyVersion::mutable_key() {
  set_has_key();
  // @@protoc_insertion_point(field_mutable:ustore.KeyVersion.key)
  return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* KeyVersion::release_key() {
  // @@protoc_insertion_point(field_release:ustore.KeyVersion.key)
  if (!has_key()) {
    return NULL;
  }
  clear_has_key();
  return key_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void KeyVersion::set_allocated_key(::std::string* key) {
  if (key != NULL) {
    set_has_key();
  } else {
    clear_has_key();
  }
  key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
  // @@protoc_insertion_point(field_set_allocated:ustore.KeyVersion.key)
}

// repeated .ustore.BranchVersion branches = 2;
inline int KeyVersion::branches_size() const {
  return branches_.size();
}
inline void KeyVersion::clear_branches() {
  branches_.Clear();
}
inline ::ustore::BranchVersion* KeyVersion::mutable_branches(int index) {
  // @@protoc_insertion_point(field_mutable:ustore.KeyVersion.branches)
  return branches_.Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField< ::ustore::BranchVersion >*
KeyVersion::mutable_branches() {
  // @@protoc_insertion_point(field_mutable_list:ustore.KeyVersion.branches)
  return &branches_;
}
inline const ::ustore::BranchVersion& KeyVersion::branches(int index) const {
  // @@protoc_insertion_point(field_get:ustore.KeyVersion.branches)
  return branches_.Get(index);
}
inline ::ustore::BranchVersion* KeyVersion::add_branches() {
  // @@protoc_insertion_point(field_add:ustore.KeyVersion.branches)
  return branches_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::ustore::BranchVersion >&
KeyVersion::branches() const {
  // @@protoc_insertion_point(field_list:ustore.KeyVersion.branches)
  return branches_;
}

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

// KeyVersions

// repeated .ustore.KeyVersion key_versions = 1;
inline int KeyVersions::key_versions_size() const {
  return key_versions_.size();
}
inline void KeyVersions::clear_key_versions() {
  key_versions_.Clear();
}
inline ::ustore::KeyVersion* KeyVersions::mutable_key_versions(int index) {
  // @@protoc_insertion_point(field_mutable:ustore.KeyVersions.key_versions)
  return key_versions_.Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField< ::ustore::KeyVersion >*
KeyVersions::mutable_key_versions() {
  // @@protoc_insertion_point(field_mutable_list:ustore.KeyVersions.key_versions)
  return &key_versions_;
}
inline const ::ustore::KeyVersion& KeyVersions::key_versions(int index) const {
  // @@protoc_insertion_point(field_get:ustore.KeyVersions.key_versions)
  return key_versions_.Get(index);
}
inline ::ustore::KeyVersion* KeyVersions::add_key_versions() {
  // @@protoc_insertion_point(field_add:ustore.KeyVersions.key_versions)
  return key_versions_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::ustore::KeyVersion >&
KeyVersions::key_versions() const {
  // @@protoc_insertion_point(field_list:ustore.KeyVersions.key_versions)
  return key_versions_;
}

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace ustore

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_INCLUDED_head_5fversion_2eproto
