# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: conversations.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from . import annotations_pb2 as annotations__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='conversations.proto',
  package='org.couchers.api.conversations',
  syntax='proto3',
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\x13\x63onversations.proto\x12\x1eorg.couchers.api.conversations\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x11\x61nnotations.proto\"\"\n\x12MessageContentText\x12\x0c\n\x04text\x18\x01 \x01(\t\"\x1b\n\x19MessageContentChatCreated\"\x1a\n\x18MessageContentChatEdited\"3\n\x19MessageContentUserInvited\x12\x16\n\x0etarget_user_id\x18\x01 \x01(\x04\"\x18\n\x16MessageContentUserLeft\"5\n\x1bMessageContentUserMadeAdmin\x12\x16\n\x0etarget_user_id\x18\x01 \x01(\x04\"8\n\x1eMessageContentUserRemovedAdmin\x12\x16\n\x0etarget_user_id\x18\x01 \x01(\x04\"3\n\x19MessageContentUserRemoved\x12\x16\n\x0etarget_user_id\x18\x01 \x01(\x04\"k\n&MessageContentHostRequestStatusChanged\x12\x41\n\x06status\x18\x01 \x01(\x0e\x32\x31.org.couchers.api.conversations.HostRequestStatus\"\xf5\x06\n\x07Message\x12\x12\n\nmessage_id\x18\x01 \x01(\x04\x12\x16\n\x0e\x61uthor_user_id\x18\x02 \x01(\x04\x12(\n\x04time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x42\n\x04text\x18\x04 \x01(\x0b\x32\x32.org.couchers.api.conversations.MessageContentTextH\x00\x12Q\n\x0c\x63hat_created\x18\x05 \x01(\x0b\x32\x39.org.couchers.api.conversations.MessageContentChatCreatedH\x00\x12O\n\x0b\x63hat_edited\x18\x06 \x01(\x0b\x32\x38.org.couchers.api.conversations.MessageContentChatEditedH\x00\x12Q\n\x0cuser_invited\x18\x07 \x01(\x0b\x32\x39.org.couchers.api.conversations.MessageContentUserInvitedH\x00\x12K\n\tuser_left\x18\x08 \x01(\x0b\x32\x36.org.couchers.api.conversations.MessageContentUserLeftH\x00\x12V\n\x0fuser_made_admin\x18\t \x01(\x0b\x32;.org.couchers.api.conversations.MessageContentUserMadeAdminH\x00\x12\\\n\x12user_removed_admin\x18\n \x01(\x0b\x32>.org.couchers.api.conversations.MessageContentUserRemovedAdminH\x00\x12m\n\x1bhost_request_status_changed\x18\x0b \x01(\x0b\x32\x46.org.couchers.api.conversations.MessageContentHostRequestStatusChangedH\x00\x12\\\n\x17group_chat_user_removed\x18\x0c \x01(\x0b\x32\x39.org.couchers.api.conversations.MessageContentUserRemovedH\x00\x42\t\n\x07\x63ontent\"\xb7\x02\n\tGroupChat\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\r\n\x05title\x18\x02 \x01(\t\x12\x17\n\x0fmember_user_ids\x18\x03 \x03(\x04\x12\x16\n\x0e\x61\x64min_user_ids\x18\x04 \x03(\x04\x12\x1a\n\x12only_admins_invite\x18\x05 \x01(\x08\x12\r\n\x05is_dm\x18\x06 \x01(\x08\x12+\n\x07\x63reated\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14unseen_message_count\x18\x08 \x01(\r\x12\x1c\n\x14last_seen_message_id\x18\t \x01(\x04\x12?\n\x0elatest_message\x18\n \x01(\x0b\x32\'.org.couchers.api.conversations.Message\"(\n\x0fGetGroupChatReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\"<\n\x11ListGroupChatsReq\x12\x17\n\x0flast_message_id\x18\x01 \x01(\x04\x12\x0e\n\x06number\x18\x02 \x01(\r\"}\n\x11ListGroupChatsRes\x12>\n\x0bgroup_chats\x18\x01 \x03(\x0b\x32).org.couchers.api.conversations.GroupChat\x12\x17\n\x0flast_message_id\x18\x02 \x01(\x04\x12\x0f\n\x07no_more\x18\x03 \x01(\x08\"*\n\rGetUpdatesReq\x12\x19\n\x11newest_message_id\x18\x01 \x01(\x04\"&\n\x13GetDirectMessageReq\x12\x0f\n\x07user_id\x18\x01 \x01(\x04\"Y\n\x06Update\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x38\n\x07message\x18\x02 \x01(\x0b\x32\'.org.couchers.api.conversations.Message\"Y\n\rGetUpdatesRes\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32&.org.couchers.api.conversations.Update\x12\x0f\n\x07no_more\x18\x02 \x01(\x08\"n\n\x17GetGroupChatMessagesReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x17\n\x0flast_message_id\x18\x02 \x01(\x04\x12\x0e\n\x06number\x18\x03 \x01(\r\x12\x13\n\x0bonly_unseen\x18\x04 \x01(\x08\"~\n\x17GetGroupChatMessagesRes\x12\x39\n\x08messages\x18\x01 \x03(\x0b\x32\'.org.couchers.api.conversations.Message\x12\x17\n\x0flast_message_id\x18\x02 \x01(\x04\x12\x0f\n\x07no_more\x18\x03 \x01(\x08\"O\n\x18MarkLastSeenGroupChatReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x1c\n\x14last_seen_message_id\x18\x02 \x01(\x04\"]\n\x12\x43reateGroupChatReq\x12+\n\x05title\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1a\n\x12recipient_user_ids\x18\x02 \x03(\x04\"\x8e\x01\n\x10\x45\x64itGroupChatReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12+\n\x05title\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x36\n\x12only_admins_invite\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\">\n\x14InviteToGroupChatReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x0f\n\x07user_id\x18\x02 \x01(\x04\"?\n\x15MakeGroupChatAdminReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x0f\n\x07user_id\x18\x02 \x01(\x04\"@\n\x16RemoveGroupChatUserReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x0f\n\x07user_id\x18\x02 \x01(\x04\"A\n\x17RemoveGroupChatAdminReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x0f\n\x07user_id\x18\x02 \x01(\x04\"5\n\x0eSendMessageReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x0c\n\x04text\x18\x02 \x01(\t\"*\n\x11LeaveGroupChatReq\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\"K\n\x11SearchMessagesReq\x12\r\n\x05query\x18\x01 \x01(\t\x12\x17\n\x0flast_message_id\x18\x02 \x01(\x04\x12\x0e\n\x06number\x18\x03 \x01(\r\"f\n\x13MessageSearchResult\x12\x15\n\rgroup_chat_id\x18\x01 \x01(\x04\x12\x38\n\x07message\x18\x02 \x01(\x0b\x32\'.org.couchers.api.conversations.Message\"\x83\x01\n\x11SearchMessagesRes\x12\x44\n\x07results\x18\x01 \x03(\x0b\x32\x33.org.couchers.api.conversations.MessageSearchResult\x12\x17\n\x0flast_message_id\x18\x02 \x01(\x04\x12\x0f\n\x07no_more\x18\x03 \x01(\x08*\xbe\x01\n\x11HostRequestStatus\x12\x1f\n\x1bHOST_REQUEST_STATUS_PENDING\x10\x00\x12 \n\x1cHOST_REQUEST_STATUS_ACCEPTED\x10\x01\x12 \n\x1cHOST_REQUEST_STATUS_REJECTED\x10\x02\x12!\n\x1dHOST_REQUEST_STATUS_CONFIRMED\x10\x03\x12!\n\x1dHOST_REQUEST_STATUS_CANCELLED\x10\x04\x32\xfe\x0c\n\rConversations\x12x\n\x0eListGroupChats\x12\x31.org.couchers.api.conversations.ListGroupChatsReq\x1a\x31.org.couchers.api.conversations.ListGroupChatsRes\"\x00\x12l\n\x0cGetGroupChat\x12/.org.couchers.api.conversations.GetGroupChatReq\x1a).org.couchers.api.conversations.GroupChat\"\x00\x12t\n\x10GetDirectMessage\x12\x33.org.couchers.api.conversations.GetDirectMessageReq\x1a).org.couchers.api.conversations.GroupChat\"\x00\x12l\n\nGetUpdates\x12-.org.couchers.api.conversations.GetUpdatesReq\x1a-.org.couchers.api.conversations.GetUpdatesRes\"\x00\x12\x8a\x01\n\x14GetGroupChatMessages\x12\x37.org.couchers.api.conversations.GetGroupChatMessagesReq\x1a\x37.org.couchers.api.conversations.GetGroupChatMessagesRes\"\x00\x12k\n\x15MarkLastSeenGroupChat\x12\x38.org.couchers.api.conversations.MarkLastSeenGroupChatReq\x1a\x16.google.protobuf.Empty\"\x00\x12r\n\x0f\x43reateGroupChat\x12\x32.org.couchers.api.conversations.CreateGroupChatReq\x1a).org.couchers.api.conversations.GroupChat\"\x00\x12[\n\rEditGroupChat\x12\x30.org.couchers.api.conversations.EditGroupChatReq\x1a\x16.google.protobuf.Empty\"\x00\x12\x63\n\x11InviteToGroupChat\x12\x34.org.couchers.api.conversations.InviteToGroupChatReq\x1a\x16.google.protobuf.Empty\"\x00\x12\x65\n\x12MakeGroupChatAdmin\x12\x35.org.couchers.api.conversations.MakeGroupChatAdminReq\x1a\x16.google.protobuf.Empty\"\x00\x12g\n\x13RemoveGroupChatUser\x12\x36.org.couchers.api.conversations.RemoveGroupChatUserReq\x1a\x16.google.protobuf.Empty\"\x00\x12i\n\x14RemoveGroupChatAdmin\x12\x37.org.couchers.api.conversations.RemoveGroupChatAdminReq\x1a\x16.google.protobuf.Empty\"\x00\x12W\n\x0bSendMessage\x12..org.couchers.api.conversations.SendMessageReq\x1a\x16.google.protobuf.Empty\"\x00\x12]\n\x0eLeaveGroupChat\x12\x31.org.couchers.api.conversations.LeaveGroupChatReq\x1a\x16.google.protobuf.Empty\"\x00\x12x\n\x0eSearchMessages\x12\x31.org.couchers.api.conversations.SearchMessagesReq\x1a\x31.org.couchers.api.conversations.SearchMessagesRes\"\x00\x1a\x04\x88\xb5\x18\x03\x62\x06proto3'
  ,
  dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,annotations__pb2.DESCRIPTOR,])

_HOSTREQUESTSTATUS = _descriptor.EnumDescriptor(
  name='HostRequestStatus',
  full_name='org.couchers.api.conversations.HostRequestStatus',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='HOST_REQUEST_STATUS_PENDING', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HOST_REQUEST_STATUS_ACCEPTED', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HOST_REQUEST_STATUS_REJECTED', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HOST_REQUEST_STATUS_CONFIRMED', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HOST_REQUEST_STATUS_CANCELLED', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3552,
  serialized_end=3742,
)
_sym_db.RegisterEnumDescriptor(_HOSTREQUESTSTATUS)

HostRequestStatus = enum_type_wrapper.EnumTypeWrapper(_HOSTREQUESTSTATUS)
HOST_REQUEST_STATUS_PENDING = 0
HOST_REQUEST_STATUS_ACCEPTED = 1
HOST_REQUEST_STATUS_REJECTED = 2
HOST_REQUEST_STATUS_CONFIRMED = 3
HOST_REQUEST_STATUS_CANCELLED = 4



_MESSAGECONTENTTEXT = _descriptor.Descriptor(
  name='MessageContentText',
  full_name='org.couchers.api.conversations.MessageContentText',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='text', full_name='org.couchers.api.conversations.MessageContentText.text', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=168,
  serialized_end=202,
)


_MESSAGECONTENTCHATCREATED = _descriptor.Descriptor(
  name='MessageContentChatCreated',
  full_name='org.couchers.api.conversations.MessageContentChatCreated',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=204,
  serialized_end=231,
)


_MESSAGECONTENTCHATEDITED = _descriptor.Descriptor(
  name='MessageContentChatEdited',
  full_name='org.couchers.api.conversations.MessageContentChatEdited',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=233,
  serialized_end=259,
)


_MESSAGECONTENTUSERINVITED = _descriptor.Descriptor(
  name='MessageContentUserInvited',
  full_name='org.couchers.api.conversations.MessageContentUserInvited',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='target_user_id', full_name='org.couchers.api.conversations.MessageContentUserInvited.target_user_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=261,
  serialized_end=312,
)


_MESSAGECONTENTUSERLEFT = _descriptor.Descriptor(
  name='MessageContentUserLeft',
  full_name='org.couchers.api.conversations.MessageContentUserLeft',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=314,
  serialized_end=338,
)


_MESSAGECONTENTUSERMADEADMIN = _descriptor.Descriptor(
  name='MessageContentUserMadeAdmin',
  full_name='org.couchers.api.conversations.MessageContentUserMadeAdmin',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='target_user_id', full_name='org.couchers.api.conversations.MessageContentUserMadeAdmin.target_user_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=340,
  serialized_end=393,
)


_MESSAGECONTENTUSERREMOVEDADMIN = _descriptor.Descriptor(
  name='MessageContentUserRemovedAdmin',
  full_name='org.couchers.api.conversations.MessageContentUserRemovedAdmin',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='target_user_id', full_name='org.couchers.api.conversations.MessageContentUserRemovedAdmin.target_user_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=395,
  serialized_end=451,
)


_MESSAGECONTENTUSERREMOVED = _descriptor.Descriptor(
  name='MessageContentUserRemoved',
  full_name='org.couchers.api.conversations.MessageContentUserRemoved',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='target_user_id', full_name='org.couchers.api.conversations.MessageContentUserRemoved.target_user_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=453,
  serialized_end=504,
)


_MESSAGECONTENTHOSTREQUESTSTATUSCHANGED = _descriptor.Descriptor(
  name='MessageContentHostRequestStatusChanged',
  full_name='org.couchers.api.conversations.MessageContentHostRequestStatusChanged',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='org.couchers.api.conversations.MessageContentHostRequestStatusChanged.status', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=506,
  serialized_end=613,
)


_MESSAGE = _descriptor.Descriptor(
  name='Message',
  full_name='org.couchers.api.conversations.Message',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='message_id', full_name='org.couchers.api.conversations.Message.message_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='author_user_id', full_name='org.couchers.api.conversations.Message.author_user_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time', full_name='org.couchers.api.conversations.Message.time', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='text', full_name='org.couchers.api.conversations.Message.text', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='chat_created', full_name='org.couchers.api.conversations.Message.chat_created', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='chat_edited', full_name='org.couchers.api.conversations.Message.chat_edited', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_invited', full_name='org.couchers.api.conversations.Message.user_invited', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_left', full_name='org.couchers.api.conversations.Message.user_left', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_made_admin', full_name='org.couchers.api.conversations.Message.user_made_admin', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_removed_admin', full_name='org.couchers.api.conversations.Message.user_removed_admin', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='host_request_status_changed', full_name='org.couchers.api.conversations.Message.host_request_status_changed', index=10,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='group_chat_user_removed', full_name='org.couchers.api.conversations.Message.group_chat_user_removed', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='content', full_name='org.couchers.api.conversations.Message.content',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=616,
  serialized_end=1501,
)


_GROUPCHAT = _descriptor.Descriptor(
  name='GroupChat',
  full_name='org.couchers.api.conversations.GroupChat',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.GroupChat.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='title', full_name='org.couchers.api.conversations.GroupChat.title', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='member_user_ids', full_name='org.couchers.api.conversations.GroupChat.member_user_ids', index=2,
      number=3, type=4, cpp_type=4, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='admin_user_ids', full_name='org.couchers.api.conversations.GroupChat.admin_user_ids', index=3,
      number=4, type=4, cpp_type=4, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='only_admins_invite', full_name='org.couchers.api.conversations.GroupChat.only_admins_invite', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='is_dm', full_name='org.couchers.api.conversations.GroupChat.is_dm', index=5,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='created', full_name='org.couchers.api.conversations.GroupChat.created', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='unseen_message_count', full_name='org.couchers.api.conversations.GroupChat.unseen_message_count', index=7,
      number=8, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_seen_message_id', full_name='org.couchers.api.conversations.GroupChat.last_seen_message_id', index=8,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='latest_message', full_name='org.couchers.api.conversations.GroupChat.latest_message', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1504,
  serialized_end=1815,
)


_GETGROUPCHATREQ = _descriptor.Descriptor(
  name='GetGroupChatReq',
  full_name='org.couchers.api.conversations.GetGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.GetGroupChatReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1817,
  serialized_end=1857,
)


_LISTGROUPCHATSREQ = _descriptor.Descriptor(
  name='ListGroupChatsReq',
  full_name='org.couchers.api.conversations.ListGroupChatsReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.ListGroupChatsReq.last_message_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='number', full_name='org.couchers.api.conversations.ListGroupChatsReq.number', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1859,
  serialized_end=1919,
)


_LISTGROUPCHATSRES = _descriptor.Descriptor(
  name='ListGroupChatsRes',
  full_name='org.couchers.api.conversations.ListGroupChatsRes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chats', full_name='org.couchers.api.conversations.ListGroupChatsRes.group_chats', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.ListGroupChatsRes.last_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='no_more', full_name='org.couchers.api.conversations.ListGroupChatsRes.no_more', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1921,
  serialized_end=2046,
)


_GETUPDATESREQ = _descriptor.Descriptor(
  name='GetUpdatesReq',
  full_name='org.couchers.api.conversations.GetUpdatesReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='newest_message_id', full_name='org.couchers.api.conversations.GetUpdatesReq.newest_message_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2048,
  serialized_end=2090,
)


_GETDIRECTMESSAGEREQ = _descriptor.Descriptor(
  name='GetDirectMessageReq',
  full_name='org.couchers.api.conversations.GetDirectMessageReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='user_id', full_name='org.couchers.api.conversations.GetDirectMessageReq.user_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2092,
  serialized_end=2130,
)


_UPDATE = _descriptor.Descriptor(
  name='Update',
  full_name='org.couchers.api.conversations.Update',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.Update.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='message', full_name='org.couchers.api.conversations.Update.message', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2132,
  serialized_end=2221,
)


_GETUPDATESRES = _descriptor.Descriptor(
  name='GetUpdatesRes',
  full_name='org.couchers.api.conversations.GetUpdatesRes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='updates', full_name='org.couchers.api.conversations.GetUpdatesRes.updates', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='no_more', full_name='org.couchers.api.conversations.GetUpdatesRes.no_more', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2223,
  serialized_end=2312,
)


_GETGROUPCHATMESSAGESREQ = _descriptor.Descriptor(
  name='GetGroupChatMessagesReq',
  full_name='org.couchers.api.conversations.GetGroupChatMessagesReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.GetGroupChatMessagesReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.GetGroupChatMessagesReq.last_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='number', full_name='org.couchers.api.conversations.GetGroupChatMessagesReq.number', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='only_unseen', full_name='org.couchers.api.conversations.GetGroupChatMessagesReq.only_unseen', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2314,
  serialized_end=2424,
)


_GETGROUPCHATMESSAGESRES = _descriptor.Descriptor(
  name='GetGroupChatMessagesRes',
  full_name='org.couchers.api.conversations.GetGroupChatMessagesRes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='messages', full_name='org.couchers.api.conversations.GetGroupChatMessagesRes.messages', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.GetGroupChatMessagesRes.last_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='no_more', full_name='org.couchers.api.conversations.GetGroupChatMessagesRes.no_more', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2426,
  serialized_end=2552,
)


_MARKLASTSEENGROUPCHATREQ = _descriptor.Descriptor(
  name='MarkLastSeenGroupChatReq',
  full_name='org.couchers.api.conversations.MarkLastSeenGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.MarkLastSeenGroupChatReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_seen_message_id', full_name='org.couchers.api.conversations.MarkLastSeenGroupChatReq.last_seen_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2554,
  serialized_end=2633,
)


_CREATEGROUPCHATREQ = _descriptor.Descriptor(
  name='CreateGroupChatReq',
  full_name='org.couchers.api.conversations.CreateGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='title', full_name='org.couchers.api.conversations.CreateGroupChatReq.title', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='recipient_user_ids', full_name='org.couchers.api.conversations.CreateGroupChatReq.recipient_user_ids', index=1,
      number=2, type=4, cpp_type=4, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2635,
  serialized_end=2728,
)


_EDITGROUPCHATREQ = _descriptor.Descriptor(
  name='EditGroupChatReq',
  full_name='org.couchers.api.conversations.EditGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.EditGroupChatReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='title', full_name='org.couchers.api.conversations.EditGroupChatReq.title', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='only_admins_invite', full_name='org.couchers.api.conversations.EditGroupChatReq.only_admins_invite', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2731,
  serialized_end=2873,
)


_INVITETOGROUPCHATREQ = _descriptor.Descriptor(
  name='InviteToGroupChatReq',
  full_name='org.couchers.api.conversations.InviteToGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.InviteToGroupChatReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='org.couchers.api.conversations.InviteToGroupChatReq.user_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2875,
  serialized_end=2937,
)


_MAKEGROUPCHATADMINREQ = _descriptor.Descriptor(
  name='MakeGroupChatAdminReq',
  full_name='org.couchers.api.conversations.MakeGroupChatAdminReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.MakeGroupChatAdminReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='org.couchers.api.conversations.MakeGroupChatAdminReq.user_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2939,
  serialized_end=3002,
)


_REMOVEGROUPCHATUSERREQ = _descriptor.Descriptor(
  name='RemoveGroupChatUserReq',
  full_name='org.couchers.api.conversations.RemoveGroupChatUserReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.RemoveGroupChatUserReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='org.couchers.api.conversations.RemoveGroupChatUserReq.user_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3004,
  serialized_end=3068,
)


_REMOVEGROUPCHATADMINREQ = _descriptor.Descriptor(
  name='RemoveGroupChatAdminReq',
  full_name='org.couchers.api.conversations.RemoveGroupChatAdminReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.RemoveGroupChatAdminReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='user_id', full_name='org.couchers.api.conversations.RemoveGroupChatAdminReq.user_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3070,
  serialized_end=3135,
)


_SENDMESSAGEREQ = _descriptor.Descriptor(
  name='SendMessageReq',
  full_name='org.couchers.api.conversations.SendMessageReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.SendMessageReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='text', full_name='org.couchers.api.conversations.SendMessageReq.text', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3137,
  serialized_end=3190,
)


_LEAVEGROUPCHATREQ = _descriptor.Descriptor(
  name='LeaveGroupChatReq',
  full_name='org.couchers.api.conversations.LeaveGroupChatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.LeaveGroupChatReq.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3192,
  serialized_end=3234,
)


_SEARCHMESSAGESREQ = _descriptor.Descriptor(
  name='SearchMessagesReq',
  full_name='org.couchers.api.conversations.SearchMessagesReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='query', full_name='org.couchers.api.conversations.SearchMessagesReq.query', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.SearchMessagesReq.last_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='number', full_name='org.couchers.api.conversations.SearchMessagesReq.number', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3236,
  serialized_end=3311,
)


_MESSAGESEARCHRESULT = _descriptor.Descriptor(
  name='MessageSearchResult',
  full_name='org.couchers.api.conversations.MessageSearchResult',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='group_chat_id', full_name='org.couchers.api.conversations.MessageSearchResult.group_chat_id', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='message', full_name='org.couchers.api.conversations.MessageSearchResult.message', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3313,
  serialized_end=3415,
)


_SEARCHMESSAGESRES = _descriptor.Descriptor(
  name='SearchMessagesRes',
  full_name='org.couchers.api.conversations.SearchMessagesRes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='results', full_name='org.couchers.api.conversations.SearchMessagesRes.results', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='last_message_id', full_name='org.couchers.api.conversations.SearchMessagesRes.last_message_id', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='no_more', full_name='org.couchers.api.conversations.SearchMessagesRes.no_more', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3418,
  serialized_end=3549,
)

_MESSAGECONTENTHOSTREQUESTSTATUSCHANGED.fields_by_name['status'].enum_type = _HOSTREQUESTSTATUS
_MESSAGE.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_MESSAGE.fields_by_name['text'].message_type = _MESSAGECONTENTTEXT
_MESSAGE.fields_by_name['chat_created'].message_type = _MESSAGECONTENTCHATCREATED
_MESSAGE.fields_by_name['chat_edited'].message_type = _MESSAGECONTENTCHATEDITED
_MESSAGE.fields_by_name['user_invited'].message_type = _MESSAGECONTENTUSERINVITED
_MESSAGE.fields_by_name['user_left'].message_type = _MESSAGECONTENTUSERLEFT
_MESSAGE.fields_by_name['user_made_admin'].message_type = _MESSAGECONTENTUSERMADEADMIN
_MESSAGE.fields_by_name['user_removed_admin'].message_type = _MESSAGECONTENTUSERREMOVEDADMIN
_MESSAGE.fields_by_name['host_request_status_changed'].message_type = _MESSAGECONTENTHOSTREQUESTSTATUSCHANGED
_MESSAGE.fields_by_name['group_chat_user_removed'].message_type = _MESSAGECONTENTUSERREMOVED
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['text'])
_MESSAGE.fields_by_name['text'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['chat_created'])
_MESSAGE.fields_by_name['chat_created'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['chat_edited'])
_MESSAGE.fields_by_name['chat_edited'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['user_invited'])
_MESSAGE.fields_by_name['user_invited'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['user_left'])
_MESSAGE.fields_by_name['user_left'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['user_made_admin'])
_MESSAGE.fields_by_name['user_made_admin'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['user_removed_admin'])
_MESSAGE.fields_by_name['user_removed_admin'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['host_request_status_changed'])
_MESSAGE.fields_by_name['host_request_status_changed'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_MESSAGE.oneofs_by_name['content'].fields.append(
  _MESSAGE.fields_by_name['group_chat_user_removed'])
_MESSAGE.fields_by_name['group_chat_user_removed'].containing_oneof = _MESSAGE.oneofs_by_name['content']
_GROUPCHAT.fields_by_name['created'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_GROUPCHAT.fields_by_name['latest_message'].message_type = _MESSAGE
_LISTGROUPCHATSRES.fields_by_name['group_chats'].message_type = _GROUPCHAT
_UPDATE.fields_by_name['message'].message_type = _MESSAGE
_GETUPDATESRES.fields_by_name['updates'].message_type = _UPDATE
_GETGROUPCHATMESSAGESRES.fields_by_name['messages'].message_type = _MESSAGE
_CREATEGROUPCHATREQ.fields_by_name['title'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE
_EDITGROUPCHATREQ.fields_by_name['title'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE
_EDITGROUPCHATREQ.fields_by_name['only_admins_invite'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE
_MESSAGESEARCHRESULT.fields_by_name['message'].message_type = _MESSAGE
_SEARCHMESSAGESRES.fields_by_name['results'].message_type = _MESSAGESEARCHRESULT
DESCRIPTOR.message_types_by_name['MessageContentText'] = _MESSAGECONTENTTEXT
DESCRIPTOR.message_types_by_name['MessageContentChatCreated'] = _MESSAGECONTENTCHATCREATED
DESCRIPTOR.message_types_by_name['MessageContentChatEdited'] = _MESSAGECONTENTCHATEDITED
DESCRIPTOR.message_types_by_name['MessageContentUserInvited'] = _MESSAGECONTENTUSERINVITED
DESCRIPTOR.message_types_by_name['MessageContentUserLeft'] = _MESSAGECONTENTUSERLEFT
DESCRIPTOR.message_types_by_name['MessageContentUserMadeAdmin'] = _MESSAGECONTENTUSERMADEADMIN
DESCRIPTOR.message_types_by_name['MessageContentUserRemovedAdmin'] = _MESSAGECONTENTUSERREMOVEDADMIN
DESCRIPTOR.message_types_by_name['MessageContentUserRemoved'] = _MESSAGECONTENTUSERREMOVED
DESCRIPTOR.message_types_by_name['MessageContentHostRequestStatusChanged'] = _MESSAGECONTENTHOSTREQUESTSTATUSCHANGED
DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE
DESCRIPTOR.message_types_by_name['GroupChat'] = _GROUPCHAT
DESCRIPTOR.message_types_by_name['GetGroupChatReq'] = _GETGROUPCHATREQ
DESCRIPTOR.message_types_by_name['ListGroupChatsReq'] = _LISTGROUPCHATSREQ
DESCRIPTOR.message_types_by_name['ListGroupChatsRes'] = _LISTGROUPCHATSRES
DESCRIPTOR.message_types_by_name['GetUpdatesReq'] = _GETUPDATESREQ
DESCRIPTOR.message_types_by_name['GetDirectMessageReq'] = _GETDIRECTMESSAGEREQ
DESCRIPTOR.message_types_by_name['Update'] = _UPDATE
DESCRIPTOR.message_types_by_name['GetUpdatesRes'] = _GETUPDATESRES
DESCRIPTOR.message_types_by_name['GetGroupChatMessagesReq'] = _GETGROUPCHATMESSAGESREQ
DESCRIPTOR.message_types_by_name['GetGroupChatMessagesRes'] = _GETGROUPCHATMESSAGESRES
DESCRIPTOR.message_types_by_name['MarkLastSeenGroupChatReq'] = _MARKLASTSEENGROUPCHATREQ
DESCRIPTOR.message_types_by_name['CreateGroupChatReq'] = _CREATEGROUPCHATREQ
DESCRIPTOR.message_types_by_name['EditGroupChatReq'] = _EDITGROUPCHATREQ
DESCRIPTOR.message_types_by_name['InviteToGroupChatReq'] = _INVITETOGROUPCHATREQ
DESCRIPTOR.message_types_by_name['MakeGroupChatAdminReq'] = _MAKEGROUPCHATADMINREQ
DESCRIPTOR.message_types_by_name['RemoveGroupChatUserReq'] = _REMOVEGROUPCHATUSERREQ
DESCRIPTOR.message_types_by_name['RemoveGroupChatAdminReq'] = _REMOVEGROUPCHATADMINREQ
DESCRIPTOR.message_types_by_name['SendMessageReq'] = _SENDMESSAGEREQ
DESCRIPTOR.message_types_by_name['LeaveGroupChatReq'] = _LEAVEGROUPCHATREQ
DESCRIPTOR.message_types_by_name['SearchMessagesReq'] = _SEARCHMESSAGESREQ
DESCRIPTOR.message_types_by_name['MessageSearchResult'] = _MESSAGESEARCHRESULT
DESCRIPTOR.message_types_by_name['SearchMessagesRes'] = _SEARCHMESSAGESRES
DESCRIPTOR.enum_types_by_name['HostRequestStatus'] = _HOSTREQUESTSTATUS
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

MessageContentText = _reflection.GeneratedProtocolMessageType('MessageContentText', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTTEXT,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentText)
  })
_sym_db.RegisterMessage(MessageContentText)

MessageContentChatCreated = _reflection.GeneratedProtocolMessageType('MessageContentChatCreated', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTCHATCREATED,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentChatCreated)
  })
_sym_db.RegisterMessage(MessageContentChatCreated)

MessageContentChatEdited = _reflection.GeneratedProtocolMessageType('MessageContentChatEdited', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTCHATEDITED,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentChatEdited)
  })
_sym_db.RegisterMessage(MessageContentChatEdited)

MessageContentUserInvited = _reflection.GeneratedProtocolMessageType('MessageContentUserInvited', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTUSERINVITED,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentUserInvited)
  })
_sym_db.RegisterMessage(MessageContentUserInvited)

MessageContentUserLeft = _reflection.GeneratedProtocolMessageType('MessageContentUserLeft', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTUSERLEFT,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentUserLeft)
  })
_sym_db.RegisterMessage(MessageContentUserLeft)

MessageContentUserMadeAdmin = _reflection.GeneratedProtocolMessageType('MessageContentUserMadeAdmin', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTUSERMADEADMIN,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentUserMadeAdmin)
  })
_sym_db.RegisterMessage(MessageContentUserMadeAdmin)

MessageContentUserRemovedAdmin = _reflection.GeneratedProtocolMessageType('MessageContentUserRemovedAdmin', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTUSERREMOVEDADMIN,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentUserRemovedAdmin)
  })
_sym_db.RegisterMessage(MessageContentUserRemovedAdmin)

MessageContentUserRemoved = _reflection.GeneratedProtocolMessageType('MessageContentUserRemoved', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTUSERREMOVED,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentUserRemoved)
  })
_sym_db.RegisterMessage(MessageContentUserRemoved)

MessageContentHostRequestStatusChanged = _reflection.GeneratedProtocolMessageType('MessageContentHostRequestStatusChanged', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGECONTENTHOSTREQUESTSTATUSCHANGED,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageContentHostRequestStatusChanged)
  })
_sym_db.RegisterMessage(MessageContentHostRequestStatusChanged)

Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGE,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.Message)
  })
_sym_db.RegisterMessage(Message)

GroupChat = _reflection.GeneratedProtocolMessageType('GroupChat', (_message.Message,), {
  'DESCRIPTOR' : _GROUPCHAT,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GroupChat)
  })
_sym_db.RegisterMessage(GroupChat)

GetGroupChatReq = _reflection.GeneratedProtocolMessageType('GetGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _GETGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetGroupChatReq)
  })
_sym_db.RegisterMessage(GetGroupChatReq)

ListGroupChatsReq = _reflection.GeneratedProtocolMessageType('ListGroupChatsReq', (_message.Message,), {
  'DESCRIPTOR' : _LISTGROUPCHATSREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.ListGroupChatsReq)
  })
_sym_db.RegisterMessage(ListGroupChatsReq)

ListGroupChatsRes = _reflection.GeneratedProtocolMessageType('ListGroupChatsRes', (_message.Message,), {
  'DESCRIPTOR' : _LISTGROUPCHATSRES,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.ListGroupChatsRes)
  })
_sym_db.RegisterMessage(ListGroupChatsRes)

GetUpdatesReq = _reflection.GeneratedProtocolMessageType('GetUpdatesReq', (_message.Message,), {
  'DESCRIPTOR' : _GETUPDATESREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetUpdatesReq)
  })
_sym_db.RegisterMessage(GetUpdatesReq)

GetDirectMessageReq = _reflection.GeneratedProtocolMessageType('GetDirectMessageReq', (_message.Message,), {
  'DESCRIPTOR' : _GETDIRECTMESSAGEREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetDirectMessageReq)
  })
_sym_db.RegisterMessage(GetDirectMessageReq)

Update = _reflection.GeneratedProtocolMessageType('Update', (_message.Message,), {
  'DESCRIPTOR' : _UPDATE,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.Update)
  })
_sym_db.RegisterMessage(Update)

GetUpdatesRes = _reflection.GeneratedProtocolMessageType('GetUpdatesRes', (_message.Message,), {
  'DESCRIPTOR' : _GETUPDATESRES,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetUpdatesRes)
  })
_sym_db.RegisterMessage(GetUpdatesRes)

GetGroupChatMessagesReq = _reflection.GeneratedProtocolMessageType('GetGroupChatMessagesReq', (_message.Message,), {
  'DESCRIPTOR' : _GETGROUPCHATMESSAGESREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetGroupChatMessagesReq)
  })
_sym_db.RegisterMessage(GetGroupChatMessagesReq)

GetGroupChatMessagesRes = _reflection.GeneratedProtocolMessageType('GetGroupChatMessagesRes', (_message.Message,), {
  'DESCRIPTOR' : _GETGROUPCHATMESSAGESRES,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.GetGroupChatMessagesRes)
  })
_sym_db.RegisterMessage(GetGroupChatMessagesRes)

MarkLastSeenGroupChatReq = _reflection.GeneratedProtocolMessageType('MarkLastSeenGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _MARKLASTSEENGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MarkLastSeenGroupChatReq)
  })
_sym_db.RegisterMessage(MarkLastSeenGroupChatReq)

CreateGroupChatReq = _reflection.GeneratedProtocolMessageType('CreateGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _CREATEGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.CreateGroupChatReq)
  })
_sym_db.RegisterMessage(CreateGroupChatReq)

EditGroupChatReq = _reflection.GeneratedProtocolMessageType('EditGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _EDITGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.EditGroupChatReq)
  })
_sym_db.RegisterMessage(EditGroupChatReq)

InviteToGroupChatReq = _reflection.GeneratedProtocolMessageType('InviteToGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _INVITETOGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.InviteToGroupChatReq)
  })
_sym_db.RegisterMessage(InviteToGroupChatReq)

MakeGroupChatAdminReq = _reflection.GeneratedProtocolMessageType('MakeGroupChatAdminReq', (_message.Message,), {
  'DESCRIPTOR' : _MAKEGROUPCHATADMINREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MakeGroupChatAdminReq)
  })
_sym_db.RegisterMessage(MakeGroupChatAdminReq)

RemoveGroupChatUserReq = _reflection.GeneratedProtocolMessageType('RemoveGroupChatUserReq', (_message.Message,), {
  'DESCRIPTOR' : _REMOVEGROUPCHATUSERREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.RemoveGroupChatUserReq)
  })
_sym_db.RegisterMessage(RemoveGroupChatUserReq)

RemoveGroupChatAdminReq = _reflection.GeneratedProtocolMessageType('RemoveGroupChatAdminReq', (_message.Message,), {
  'DESCRIPTOR' : _REMOVEGROUPCHATADMINREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.RemoveGroupChatAdminReq)
  })
_sym_db.RegisterMessage(RemoveGroupChatAdminReq)

SendMessageReq = _reflection.GeneratedProtocolMessageType('SendMessageReq', (_message.Message,), {
  'DESCRIPTOR' : _SENDMESSAGEREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.SendMessageReq)
  })
_sym_db.RegisterMessage(SendMessageReq)

LeaveGroupChatReq = _reflection.GeneratedProtocolMessageType('LeaveGroupChatReq', (_message.Message,), {
  'DESCRIPTOR' : _LEAVEGROUPCHATREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.LeaveGroupChatReq)
  })
_sym_db.RegisterMessage(LeaveGroupChatReq)

SearchMessagesReq = _reflection.GeneratedProtocolMessageType('SearchMessagesReq', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHMESSAGESREQ,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.SearchMessagesReq)
  })
_sym_db.RegisterMessage(SearchMessagesReq)

MessageSearchResult = _reflection.GeneratedProtocolMessageType('MessageSearchResult', (_message.Message,), {
  'DESCRIPTOR' : _MESSAGESEARCHRESULT,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.MessageSearchResult)
  })
_sym_db.RegisterMessage(MessageSearchResult)

SearchMessagesRes = _reflection.GeneratedProtocolMessageType('SearchMessagesRes', (_message.Message,), {
  'DESCRIPTOR' : _SEARCHMESSAGESRES,
  '__module__' : 'conversations_pb2'
  # @@protoc_insertion_point(class_scope:org.couchers.api.conversations.SearchMessagesRes)
  })
_sym_db.RegisterMessage(SearchMessagesRes)



_CONVERSATIONS = _descriptor.ServiceDescriptor(
  name='Conversations',
  full_name='org.couchers.api.conversations.Conversations',
  file=DESCRIPTOR,
  index=0,
  serialized_options=b'\210\265\030\003',
  create_key=_descriptor._internal_create_key,
  serialized_start=3745,
  serialized_end=5407,
  methods=[
  _descriptor.MethodDescriptor(
    name='ListGroupChats',
    full_name='org.couchers.api.conversations.Conversations.ListGroupChats',
    index=0,
    containing_service=None,
    input_type=_LISTGROUPCHATSREQ,
    output_type=_LISTGROUPCHATSRES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetGroupChat',
    full_name='org.couchers.api.conversations.Conversations.GetGroupChat',
    index=1,
    containing_service=None,
    input_type=_GETGROUPCHATREQ,
    output_type=_GROUPCHAT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetDirectMessage',
    full_name='org.couchers.api.conversations.Conversations.GetDirectMessage',
    index=2,
    containing_service=None,
    input_type=_GETDIRECTMESSAGEREQ,
    output_type=_GROUPCHAT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetUpdates',
    full_name='org.couchers.api.conversations.Conversations.GetUpdates',
    index=3,
    containing_service=None,
    input_type=_GETUPDATESREQ,
    output_type=_GETUPDATESRES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetGroupChatMessages',
    full_name='org.couchers.api.conversations.Conversations.GetGroupChatMessages',
    index=4,
    containing_service=None,
    input_type=_GETGROUPCHATMESSAGESREQ,
    output_type=_GETGROUPCHATMESSAGESRES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='MarkLastSeenGroupChat',
    full_name='org.couchers.api.conversations.Conversations.MarkLastSeenGroupChat',
    index=5,
    containing_service=None,
    input_type=_MARKLASTSEENGROUPCHATREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='CreateGroupChat',
    full_name='org.couchers.api.conversations.Conversations.CreateGroupChat',
    index=6,
    containing_service=None,
    input_type=_CREATEGROUPCHATREQ,
    output_type=_GROUPCHAT,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='EditGroupChat',
    full_name='org.couchers.api.conversations.Conversations.EditGroupChat',
    index=7,
    containing_service=None,
    input_type=_EDITGROUPCHATREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='InviteToGroupChat',
    full_name='org.couchers.api.conversations.Conversations.InviteToGroupChat',
    index=8,
    containing_service=None,
    input_type=_INVITETOGROUPCHATREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='MakeGroupChatAdmin',
    full_name='org.couchers.api.conversations.Conversations.MakeGroupChatAdmin',
    index=9,
    containing_service=None,
    input_type=_MAKEGROUPCHATADMINREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveGroupChatUser',
    full_name='org.couchers.api.conversations.Conversations.RemoveGroupChatUser',
    index=10,
    containing_service=None,
    input_type=_REMOVEGROUPCHATUSERREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='RemoveGroupChatAdmin',
    full_name='org.couchers.api.conversations.Conversations.RemoveGroupChatAdmin',
    index=11,
    containing_service=None,
    input_type=_REMOVEGROUPCHATADMINREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SendMessage',
    full_name='org.couchers.api.conversations.Conversations.SendMessage',
    index=12,
    containing_service=None,
    input_type=_SENDMESSAGEREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='LeaveGroupChat',
    full_name='org.couchers.api.conversations.Conversations.LeaveGroupChat',
    index=13,
    containing_service=None,
    input_type=_LEAVEGROUPCHATREQ,
    output_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='SearchMessages',
    full_name='org.couchers.api.conversations.Conversations.SearchMessages',
    index=14,
    containing_service=None,
    input_type=_SEARCHMESSAGESREQ,
    output_type=_SEARCHMESSAGESRES,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_CONVERSATIONS)

DESCRIPTOR.services_by_name['Conversations'] = _CONVERSATIONS

# @@protoc_insertion_point(module_scope)
