text: # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: groups/v2/group_service.proto
  
  import sys
  _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
  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
  from google.protobuf import descriptor_pb2
  # @@protoc_insertion_point(imports)
  
  _sym_db = _symbol_database.Default()
  
  
  import kik_unofficial.protobuf.protobuf_validation_pb2 as protobuf__validation__pb2
  from kik_unofficial.protobuf.common.v2 import model_pb2 as common_dot_v2_dot_model__pb2
  from kik_unofficial.protobuf.messaging.v2 import model_pb2 as messaging_dot_v2_dot_model__pb2
  from kik_unofficial.protobuf.groups.v2 import groups_common_pb2 as groups_dot_v2_dot_groups__common__pb2
  from kik_unofficial.protobuf.chats.v2 import chat_info_pb2 as chats_dot_v2_dot_chat__info__pb2
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='groups/v2/group_service.proto',
    package='mobile.groups.v2',
    syntax='proto3',
    serialized_pb=_b('\n\x1dgroups/v2/group_service.proto\x12\x10mobile.groups.v2\x1a\x19protobuf_validation.proto\x1a\x15\x63ommon/v2/model.proto\x1a\x18messaging/v2/model.proto\x1a\x1dgroups/v2/groups_common.proto\x1a\x18\x63hats/v2/chat_info.proto\"\x81\x01\n\x17GetGroupInfoFullRequest\x12*\n\x07\x63hat_id\x18\x01 \x01(\x0b\x32\x11.common.v2.ChatIdB\x06\xca\x9d%\x02\x08\x01\x12:\n\x14requestor_persona_id\x18\x02 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\"\xac\x01\n\x18GetGroupInfoFullResponse\x12\x41\n\x06result\x18\x01 \x01(\x0e\x32\x31.mobile.groups.v2.GetGroupInfoFullResponse.Result\x12,\n\x04info\x18\x02 \x01(\x0b\x32\x1e.common.chats.v2.GroupInfoFull\"\x1f\n\x06Result\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\"\x8c\x01\n\"GetBannedGroupMembersStreamRequest\x12*\n\x07\x63hat_id\x18\x01 \x01(\x0b\x32\x11.common.v2.ChatIdB\x06\xca\x9d%\x02\x08\x01\x12:\n\x14requestor_persona_id\x18\x02 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\"\xe1\x01\n#GetBannedGroupMembersStreamResponse\x12L\n\x06result\x18\x01 \x01(\x0e\x32<.mobile.groups.v2.GetBannedGroupMembersStreamResponse.Result\x12K\n\x14\x62\x61nned_group_members\x18\x02 \x03(\x0b\x32#.mobile.groups.v2.BannedGroupMemberB\x08\xca\x9d%\x04\x80\x01\x80\x08\"\x1f\n\x06Result\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\"E\n\x11\x42\x61nnedGroupMember\x12\x30\n\npersona_id\x18\x01 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\"\x9f\x02\n\x12\x43reateGroupRequest\x12\x30\n\ncreator_id\x18\x01 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\x12\x37\n\x0finitial_members\x18\x02 \x03(\x0b\x32\x14.common.v2.PersonaIdB\x08\xca\x9d%\x04\x80\x01\x80\x08\x12/\n\ngroup_name\x18\x03 \x01(\x0b\x32\x1b.mobile.groups.v2.GroupName\x12@\n\x13public_group_fields\x18\x04 \x01(\x0b\x32#.common.groups.v2.PublicGroupFields\x12+\n\nrequest_id\x18\x05 \x01(\x0b\x32\x0f.common.v2.UuidB\x06\xca\x9d%\x02\x08\x01\"\x82\x03\n\x13\x43reateGroupResponse\x12<\n\x06result\x18\x01 \x01(\x0e\x32,.mobile.groups.v2.CreateGroupResponse.Result\x12\'\n\x04\x63hat\x18\x02 \x01(\x0b\x32\x19.common.messaging.v2.Chat\x12P\n\x11restricted_fields\x18\x03 \x03(\x0e\x32\x35.mobile.groups.v2.CreateGroupResponse.RestrictedField\"k\n\x06Result\x12\x06\n\x02OK\x10\x00\x12\x16\n\x12\x43REATION_ID_EXISTS\x10\x01\x12\x16\n\x12POLICY_RESTRICTION\x10\x02\x12\x16\n\x12HASHTAG_NOT_UNIQUE\x10\x03\x12\x11\n\rNOT_PERMITTED\x10\x04\"E\n\x0fRestrictedField\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nGROUP_NAME\x10\x01\x12\x11\n\rGROUP_HASHTAG\x10\x02\"*\n\tGroupName\x12\x1d\n\ngroup_name\x18\x01 \x01(\tB\t\xca\x9d%\x05\x08\x01 \xfa\x01\"p\n\x11LeaveGroupRequest\x12*\n\x07\x63hat_id\x18\x01 \x01(\x0b\x32\x11.common.v2.ChatIdB\x06\xca\x9d%\x02\x08\x01\x12/\n\tleaver_id\x18\x02 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\"c\n\x12LeaveGroupResponse\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.mobile.groups.v2.LeaveGroupResponse.Result\"\x10\n\x06Result\x12\x06\n\x02OK\x10\x00\"\xaa\x01\n\x11\x41\x64\x64ToGroupRequest\x12*\n\x07\x63hat_id\x18\x01 \x01(\x0b\x32\x11.common.v2.ChatIdB\x06\xca\x9d%\x02\x08\x01\x12.\n\x08\x61\x64\x64\x65r_id\x18\x02 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\x12\x39\n\x0enew_member_ids\x18\x03 \x03(\x0b\x32\x14.common.v2.PersonaIdB\x0b\xca\x9d%\x07\x08\x01x\x01\x80\x01\x64\"\x93\x03\n\x12\x41\x64\x64ToGroupResponse\x12;\n\x06result\x18\x01 \x01(\x0e\x32+.mobile.groups.v2.AddToGroupResponse.Result\x12L\n\x0f\x66\x61ilure_details\x18\x02 \x03(\x0b\x32\x33.mobile.groups.v2.AddToGroupResponse.FailureDetails\x1a\xcc\x01\n\x0e\x46\x61ilureDetails\x12(\n\npersona_id\x18\x01 \x01(\x0b\x32\x14.common.v2.PersonaId\x12J\n\x06reason\x18\x02 \x01(\x0e\x32:.mobile.groups.v2.AddToGroupResponse.FailureDetails.Reason\"D\n\x06Reason\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x42\x41NNED\x10\x01\x12\x0e\n\nGROUP_FULL\x10\x02\x12\x11\n\rNOT_PERMITTED\x10\x03\"#\n\x06Result\x12\x06\n\x02OK\x10\x00\x12\x11\n\rNOT_PERMITTED\x10\x01\"\xae\x01\n\x16RemoveFromGroupRequest\x12*\n\x07\x63hat_id\x18\x01 \x01(\x0b\x32\x11.common.v2.ChatIdB\x06\xca\x9d%\x02\x08\x01\x12\x30\n\nremover_id\x18\x02 \x01(\x0b\x32\x14.common.v2.PersonaIdB\x06\xca\x9d%\x02\x08\x01\x12\x36\n\x0bremovee_ids\x18\x03 \x03(\x0b\x32\x14.common.v2.PersonaIdB\x0b\xca\x9d%\x07\x08\x01x\x01\x80\x01\x64\"\x8b\x03\n\x17RemoveFromGroupResponse\x12@\n\x06result\x18\x01 \x01(\x0e\x32\x30.mobile.groups.v2.RemoveFromGroupResponse.Result\x12Q\n\x0f\x66\x61ilure_details\x18\x02 \x03(\x0b\x32\x38.mobile.groups.v2.RemoveFromGroupResponse.FailureDetails\x1a\xb5\x01\n\x0e\x46\x61ilureDetails\x12(\n\npersona_id\x18\x01 \x01(\x0b\x32\x14.common.v2.PersonaId\x12O\n\x06reason\x18\x02 \x01(\x0e\x32?.mobile.groups.v2.RemoveFromGroupResponse.FailureDetails.Reason\"(\n\x06Reason\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rNOT_PERMITTED\x10\x01\"#\n\x06Result\x12\x06\n\x02OK\x10\x00\x12\x11\n\rNOT_PERMITTED\x10\x01\x32\x83\x05\n\x05Group\x12k\n\x10GetGroupInfoFull\x12).mobile.groups.v2.GetGroupInfoFullRequest\x1a*.mobile.groups.v2.GetGroupInfoFullResponse\"\x00\x12\x8e\x01\n\x1bGetBannedGroupMembersStream\x12\x34.mobile.groups.v2.GetBannedGroupMembersStreamRequest\x1a\x35.mobile.groups.v2.GetBannedGroupMembersStreamResponse\"\x00\x30\x01\x12\\\n\x0b\x43reateGroup\x12$.mobile.groups.v2.CreateGroupRequest\x1a%.mobile.groups.v2.CreateGroupResponse\"\x00\x12Y\n\nLeaveGroup\x12#.mobile.groups.v2.LeaveGroupRequest\x1a$.mobile.groups.v2.LeaveGroupResponse\"\x00\x12Y\n\nAddToGroup\x12#.mobile.groups.v2.AddToGroupRequest\x1a$.mobile.groups.v2.AddToGroupResponse\"\x00\x12h\n\x0fRemoveFromGroup\x12(.mobile.groups.v2.RemoveFromGroupRequest\x1a).mobile.groups.v2.RemoveFromGroupResponse\"\x00\x42w\n\x15\x63om.kik.gen.groups.v2ZJgithub.com/kikinteractive/xiphias-api-mobile/generated/go/groups/v2;groups\xa2\x02\x11KPBMobileGroupsV2b\x06proto3')
    ,
    dependencies=[protobuf__validation__pb2.DESCRIPTOR,common_dot_v2_dot_model__pb2.DESCRIPTOR,messaging_dot_v2_dot_model__pb2.DESCRIPTOR,groups_dot_v2_dot_groups__common__pb2.DESCRIPTOR,chats_dot_v2_dot_chat__info__pb2.DESCRIPTOR,])
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  
  
  _GETGROUPINFOFULLRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.GetGroupInfoFullResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_FOUND', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=458,
    serialized_end=489,
  )
  _sym_db.RegisterEnumDescriptor(_GETGROUPINFOFULLRESPONSE_RESULT)
  
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.GetBannedGroupMembersStreamResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_FOUND', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=458,
    serialized_end=489,
  )
  _sym_db.RegisterEnumDescriptor(_GETBANNEDGROUPMEMBERSSTREAMRESPONSE_RESULT)
  
  _CREATEGROUPRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.CreateGroupResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CREATION_ID_EXISTS', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='POLICY_RESTRICTION', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HASHTAG_NOT_UNIQUE', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_PERMITTED', index=4, number=4,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=1432,
    serialized_end=1539,
  )
  _sym_db.RegisterEnumDescriptor(_CREATEGROUPRESPONSE_RESULT)
  
  _CREATEGROUPRESPONSE_RESTRICTEDFIELD = _descriptor.EnumDescriptor(
    name='RestrictedField',
    full_name='mobile.groups.v2.CreateGroupResponse.RestrictedField',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='UNSPECIFIED', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GROUP_NAME', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GROUP_HASHTAG', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=1541,
    serialized_end=1610,
  )
  _sym_db.RegisterEnumDescriptor(_CREATEGROUPRESPONSE_RESTRICTEDFIELD)
  
  _LEAVEGROUPRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.LeaveGroupResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=458,
    serialized_end=474,
  )
  _sym_db.RegisterEnumDescriptor(_LEAVEGROUPRESPONSE_RESULT)
  
  _ADDTOGROUPRESPONSE_FAILUREDETAILS_REASON = _descriptor.EnumDescriptor(
    name='Reason',
    full_name='mobile.groups.v2.AddToGroupResponse.FailureDetails.Reason',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='UNKNOWN', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='BANNED', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GROUP_FULL', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_PERMITTED', index=3, number=3,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2343,
    serialized_end=2411,
  )
  _sym_db.RegisterEnumDescriptor(_ADDTOGROUPRESPONSE_FAILUREDETAILS_REASON)
  
  _ADDTOGROUPRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.AddToGroupResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_PERMITTED', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2413,
    serialized_end=2448,
  )
  _sym_db.RegisterEnumDescriptor(_ADDTOGROUPRESPONSE_RESULT)
  
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS_REASON = _descriptor.EnumDescriptor(
    name='Reason',
    full_name='mobile.groups.v2.RemoveFromGroupResponse.FailureDetails.Reason',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='UNKNOWN', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_PERMITTED', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2946,
    serialized_end=2986,
  )
  _sym_db.RegisterEnumDescriptor(_REMOVEFROMGROUPRESPONSE_FAILUREDETAILS_REASON)
  
  _REMOVEFROMGROUPRESPONSE_RESULT = _descriptor.EnumDescriptor(
    name='Result',
    full_name='mobile.groups.v2.RemoveFromGroupResponse.Result',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='OK', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NOT_PERMITTED', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2413,
    serialized_end=2448,
  )
  _sym_db.RegisterEnumDescriptor(_REMOVEFROMGROUPRESPONSE_RESULT)
  
  
  _GETGROUPINFOFULLREQUEST = _descriptor.Descriptor(
    name='GetGroupInfoFullRequest',
    full_name='mobile.groups.v2.GetGroupInfoFullRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chat_id', full_name='mobile.groups.v2.GetGroupInfoFullRequest.chat_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='requestor_persona_id', full_name='mobile.groups.v2.GetGroupInfoFullRequest.requestor_persona_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=185,
    serialized_end=314,
  )
  
  
  _GETGROUPINFOFULLRESPONSE = _descriptor.Descriptor(
    name='GetGroupInfoFullResponse',
    full_name='mobile.groups.v2.GetGroupInfoFullResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.GetGroupInfoFullResponse.result', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='info', full_name='mobile.groups.v2.GetGroupInfoFullResponse.info', 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _GETGROUPINFOFULLRESPONSE_RESULT,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=317,
    serialized_end=489,
  )
  
  
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST = _descriptor.Descriptor(
    name='GetBannedGroupMembersStreamRequest',
    full_name='mobile.groups.v2.GetBannedGroupMembersStreamRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chat_id', full_name='mobile.groups.v2.GetBannedGroupMembersStreamRequest.chat_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='requestor_persona_id', full_name='mobile.groups.v2.GetBannedGroupMembersStreamRequest.requestor_persona_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=492,
    serialized_end=632,
  )
  
  
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE = _descriptor.Descriptor(
    name='GetBannedGroupMembersStreamResponse',
    full_name='mobile.groups.v2.GetBannedGroupMembersStreamResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.GetBannedGroupMembersStreamResponse.result', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='banned_group_members', full_name='mobile.groups.v2.GetBannedGroupMembersStreamResponse.banned_group_members', index=1,
        number=2, 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\004\200\001\200\010'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _GETBANNEDGROUPMEMBERSSTREAMRESPONSE_RESULT,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=635,
    serialized_end=860,
  )
  
  
  _BANNEDGROUPMEMBER = _descriptor.Descriptor(
    name='BannedGroupMember',
    full_name='mobile.groups.v2.BannedGroupMember',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='persona_id', full_name='mobile.groups.v2.BannedGroupMember.persona_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=862,
    serialized_end=931,
  )
  
  
  _CREATEGROUPREQUEST = _descriptor.Descriptor(
    name='CreateGroupRequest',
    full_name='mobile.groups.v2.CreateGroupRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='creator_id', full_name='mobile.groups.v2.CreateGroupRequest.creator_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='initial_members', full_name='mobile.groups.v2.CreateGroupRequest.initial_members', index=1,
        number=2, 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\004\200\001\200\010'))),
      _descriptor.FieldDescriptor(
        name='group_name', full_name='mobile.groups.v2.CreateGroupRequest.group_name', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='public_group_fields', full_name='mobile.groups.v2.CreateGroupRequest.public_group_fields', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='request_id', full_name='mobile.groups.v2.CreateGroupRequest.request_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=934,
    serialized_end=1221,
  )
  
  
  _CREATEGROUPRESPONSE = _descriptor.Descriptor(
    name='CreateGroupResponse',
    full_name='mobile.groups.v2.CreateGroupResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.CreateGroupResponse.result', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='chat', full_name='mobile.groups.v2.CreateGroupResponse.chat', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='restricted_fields', full_name='mobile.groups.v2.CreateGroupResponse.restricted_fields', index=2,
        number=3, type=14, cpp_type=8, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _CREATEGROUPRESPONSE_RESULT,
      _CREATEGROUPRESPONSE_RESTRICTEDFIELD,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1224,
    serialized_end=1610,
  )
  
  
  _GROUPNAME = _descriptor.Descriptor(
    name='GroupName',
    full_name='mobile.groups.v2.GroupName',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='group_name', full_name='mobile.groups.v2.GroupName.group_name', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\005\010\001 \372\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1612,
    serialized_end=1654,
  )
  
  
  _LEAVEGROUPREQUEST = _descriptor.Descriptor(
    name='LeaveGroupRequest',
    full_name='mobile.groups.v2.LeaveGroupRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chat_id', full_name='mobile.groups.v2.LeaveGroupRequest.chat_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='leaver_id', full_name='mobile.groups.v2.LeaveGroupRequest.leaver_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1656,
    serialized_end=1768,
  )
  
  
  _LEAVEGROUPRESPONSE = _descriptor.Descriptor(
    name='LeaveGroupResponse',
    full_name='mobile.groups.v2.LeaveGroupResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.LeaveGroupResponse.result', 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _LEAVEGROUPRESPONSE_RESULT,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1770,
    serialized_end=1869,
  )
  
  
  _ADDTOGROUPREQUEST = _descriptor.Descriptor(
    name='AddToGroupRequest',
    full_name='mobile.groups.v2.AddToGroupRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chat_id', full_name='mobile.groups.v2.AddToGroupRequest.chat_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='adder_id', full_name='mobile.groups.v2.AddToGroupRequest.adder_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='new_member_ids', full_name='mobile.groups.v2.AddToGroupRequest.new_member_ids', index=2,
        number=3, 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\007\010\001x\001\200\001d'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1872,
    serialized_end=2042,
  )
  
  
  _ADDTOGROUPRESPONSE_FAILUREDETAILS = _descriptor.Descriptor(
    name='FailureDetails',
    full_name='mobile.groups.v2.AddToGroupResponse.FailureDetails',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='persona_id', full_name='mobile.groups.v2.AddToGroupResponse.FailureDetails.persona_id', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='reason', full_name='mobile.groups.v2.AddToGroupResponse.FailureDetails.reason', index=1,
        number=2, 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _ADDTOGROUPRESPONSE_FAILUREDETAILS_REASON,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2207,
    serialized_end=2411,
  )
  
  _ADDTOGROUPRESPONSE = _descriptor.Descriptor(
    name='AddToGroupResponse',
    full_name='mobile.groups.v2.AddToGroupResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.AddToGroupResponse.result', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='failure_details', full_name='mobile.groups.v2.AddToGroupResponse.failure_details', index=1,
        number=2, 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_ADDTOGROUPRESPONSE_FAILUREDETAILS, ],
    enum_types=[
      _ADDTOGROUPRESPONSE_RESULT,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2045,
    serialized_end=2448,
  )
  
  
  _REMOVEFROMGROUPREQUEST = _descriptor.Descriptor(
    name='RemoveFromGroupRequest',
    full_name='mobile.groups.v2.RemoveFromGroupRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='chat_id', full_name='mobile.groups.v2.RemoveFromGroupRequest.chat_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='remover_id', full_name='mobile.groups.v2.RemoveFromGroupRequest.remover_id', 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))),
      _descriptor.FieldDescriptor(
        name='removee_ids', full_name='mobile.groups.v2.RemoveFromGroupRequest.removee_ids', index=2,
        number=3, 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,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\007\010\001x\001\200\001d'))),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2451,
    serialized_end=2625,
  )
  
  
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS = _descriptor.Descriptor(
    name='FailureDetails',
    full_name='mobile.groups.v2.RemoveFromGroupResponse.FailureDetails',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='persona_id', full_name='mobile.groups.v2.RemoveFromGroupResponse.FailureDetails.persona_id', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='reason', full_name='mobile.groups.v2.RemoveFromGroupResponse.FailureDetails.reason', index=1,
        number=2, 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS_REASON,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2805,
    serialized_end=2986,
  )
  
  _REMOVEFROMGROUPRESPONSE = _descriptor.Descriptor(
    name='RemoveFromGroupResponse',
    full_name='mobile.groups.v2.RemoveFromGroupResponse',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='result', full_name='mobile.groups.v2.RemoveFromGroupResponse.result', 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,
        options=None),
      _descriptor.FieldDescriptor(
        name='failure_details', full_name='mobile.groups.v2.RemoveFromGroupResponse.failure_details', index=1,
        number=2, 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,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[_REMOVEFROMGROUPRESPONSE_FAILUREDETAILS, ],
    enum_types=[
      _REMOVEFROMGROUPRESPONSE_RESULT,
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=2628,
    serialized_end=3023,
  )
  
  _GETGROUPINFOFULLREQUEST.fields_by_name['chat_id'].message_type = common_dot_v2_dot_model__pb2._CHATID
  _GETGROUPINFOFULLREQUEST.fields_by_name['requestor_persona_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _GETGROUPINFOFULLRESPONSE.fields_by_name['result'].enum_type = _GETGROUPINFOFULLRESPONSE_RESULT
  _GETGROUPINFOFULLRESPONSE.fields_by_name['info'].message_type = chats_dot_v2_dot_chat__info__pb2._GROUPINFOFULL
  _GETGROUPINFOFULLRESPONSE_RESULT.containing_type = _GETGROUPINFOFULLRESPONSE
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['chat_id'].message_type = common_dot_v2_dot_model__pb2._CHATID
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['requestor_persona_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE.fields_by_name['result'].enum_type = _GETBANNEDGROUPMEMBERSSTREAMRESPONSE_RESULT
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE.fields_by_name['banned_group_members'].message_type = _BANNEDGROUPMEMBER
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE_RESULT.containing_type = _GETBANNEDGROUPMEMBERSSTREAMRESPONSE
  _BANNEDGROUPMEMBER.fields_by_name['persona_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _CREATEGROUPREQUEST.fields_by_name['creator_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _CREATEGROUPREQUEST.fields_by_name['initial_members'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _CREATEGROUPREQUEST.fields_by_name['group_name'].message_type = _GROUPNAME
  _CREATEGROUPREQUEST.fields_by_name['public_group_fields'].message_type = groups_dot_v2_dot_groups__common__pb2._PUBLICGROUPFIELDS
  _CREATEGROUPREQUEST.fields_by_name['request_id'].message_type = common_dot_v2_dot_model__pb2._UUID
  _CREATEGROUPRESPONSE.fields_by_name['result'].enum_type = _CREATEGROUPRESPONSE_RESULT
  _CREATEGROUPRESPONSE.fields_by_name['chat'].message_type = messaging_dot_v2_dot_model__pb2._CHAT
  _CREATEGROUPRESPONSE.fields_by_name['restricted_fields'].enum_type = _CREATEGROUPRESPONSE_RESTRICTEDFIELD
  _CREATEGROUPRESPONSE_RESULT.containing_type = _CREATEGROUPRESPONSE
  _CREATEGROUPRESPONSE_RESTRICTEDFIELD.containing_type = _CREATEGROUPRESPONSE
  _LEAVEGROUPREQUEST.fields_by_name['chat_id'].message_type = common_dot_v2_dot_model__pb2._CHATID
  _LEAVEGROUPREQUEST.fields_by_name['leaver_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _LEAVEGROUPRESPONSE.fields_by_name['result'].enum_type = _LEAVEGROUPRESPONSE_RESULT
  _LEAVEGROUPRESPONSE_RESULT.containing_type = _LEAVEGROUPRESPONSE
  _ADDTOGROUPREQUEST.fields_by_name['chat_id'].message_type = common_dot_v2_dot_model__pb2._CHATID
  _ADDTOGROUPREQUEST.fields_by_name['adder_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _ADDTOGROUPREQUEST.fields_by_name['new_member_ids'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _ADDTOGROUPRESPONSE_FAILUREDETAILS.fields_by_name['persona_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _ADDTOGROUPRESPONSE_FAILUREDETAILS.fields_by_name['reason'].enum_type = _ADDTOGROUPRESPONSE_FAILUREDETAILS_REASON
  _ADDTOGROUPRESPONSE_FAILUREDETAILS.containing_type = _ADDTOGROUPRESPONSE
  _ADDTOGROUPRESPONSE_FAILUREDETAILS_REASON.containing_type = _ADDTOGROUPRESPONSE_FAILUREDETAILS
  _ADDTOGROUPRESPONSE.fields_by_name['result'].enum_type = _ADDTOGROUPRESPONSE_RESULT
  _ADDTOGROUPRESPONSE.fields_by_name['failure_details'].message_type = _ADDTOGROUPRESPONSE_FAILUREDETAILS
  _ADDTOGROUPRESPONSE_RESULT.containing_type = _ADDTOGROUPRESPONSE
  _REMOVEFROMGROUPREQUEST.fields_by_name['chat_id'].message_type = common_dot_v2_dot_model__pb2._CHATID
  _REMOVEFROMGROUPREQUEST.fields_by_name['remover_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _REMOVEFROMGROUPREQUEST.fields_by_name['removee_ids'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS.fields_by_name['persona_id'].message_type = common_dot_v2_dot_model__pb2._PERSONAID
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS.fields_by_name['reason'].enum_type = _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS_REASON
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS.containing_type = _REMOVEFROMGROUPRESPONSE
  _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS_REASON.containing_type = _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS
  _REMOVEFROMGROUPRESPONSE.fields_by_name['result'].enum_type = _REMOVEFROMGROUPRESPONSE_RESULT
  _REMOVEFROMGROUPRESPONSE.fields_by_name['failure_details'].message_type = _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS
  _REMOVEFROMGROUPRESPONSE_RESULT.containing_type = _REMOVEFROMGROUPRESPONSE
  DESCRIPTOR.message_types_by_name['GetGroupInfoFullRequest'] = _GETGROUPINFOFULLREQUEST
  DESCRIPTOR.message_types_by_name['GetGroupInfoFullResponse'] = _GETGROUPINFOFULLRESPONSE
  DESCRIPTOR.message_types_by_name['GetBannedGroupMembersStreamRequest'] = _GETBANNEDGROUPMEMBERSSTREAMREQUEST
  DESCRIPTOR.message_types_by_name['GetBannedGroupMembersStreamResponse'] = _GETBANNEDGROUPMEMBERSSTREAMRESPONSE
  DESCRIPTOR.message_types_by_name['BannedGroupMember'] = _BANNEDGROUPMEMBER
  DESCRIPTOR.message_types_by_name['CreateGroupRequest'] = _CREATEGROUPREQUEST
  DESCRIPTOR.message_types_by_name['CreateGroupResponse'] = _CREATEGROUPRESPONSE
  DESCRIPTOR.message_types_by_name['GroupName'] = _GROUPNAME
  DESCRIPTOR.message_types_by_name['LeaveGroupRequest'] = _LEAVEGROUPREQUEST
  DESCRIPTOR.message_types_by_name['LeaveGroupResponse'] = _LEAVEGROUPRESPONSE
  DESCRIPTOR.message_types_by_name['AddToGroupRequest'] = _ADDTOGROUPREQUEST
  DESCRIPTOR.message_types_by_name['AddToGroupResponse'] = _ADDTOGROUPRESPONSE
  DESCRIPTOR.message_types_by_name['RemoveFromGroupRequest'] = _REMOVEFROMGROUPREQUEST
  DESCRIPTOR.message_types_by_name['RemoveFromGroupResponse'] = _REMOVEFROMGROUPRESPONSE
  
  GetGroupInfoFullRequest = _reflection.GeneratedProtocolMessageType('GetGroupInfoFullRequest', (_message.Message,), dict(
    DESCRIPTOR = _GETGROUPINFOFULLREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.GetGroupInfoFullRequest)
    ))
  _sym_db.RegisterMessage(GetGroupInfoFullRequest)
  
  GetGroupInfoFullResponse = _reflection.GeneratedProtocolMessageType('GetGroupInfoFullResponse', (_message.Message,), dict(
    DESCRIPTOR = _GETGROUPINFOFULLRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.GetGroupInfoFullResponse)
    ))
  _sym_db.RegisterMessage(GetGroupInfoFullResponse)
  
  GetBannedGroupMembersStreamRequest = _reflection.GeneratedProtocolMessageType('GetBannedGroupMembersStreamRequest', (_message.Message,), dict(
    DESCRIPTOR = _GETBANNEDGROUPMEMBERSSTREAMREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.GetBannedGroupMembersStreamRequest)
    ))
  _sym_db.RegisterMessage(GetBannedGroupMembersStreamRequest)
  
  GetBannedGroupMembersStreamResponse = _reflection.GeneratedProtocolMessageType('GetBannedGroupMembersStreamResponse', (_message.Message,), dict(
    DESCRIPTOR = _GETBANNEDGROUPMEMBERSSTREAMRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.GetBannedGroupMembersStreamResponse)
    ))
  _sym_db.RegisterMessage(GetBannedGroupMembersStreamResponse)
  
  BannedGroupMember = _reflection.GeneratedProtocolMessageType('BannedGroupMember', (_message.Message,), dict(
    DESCRIPTOR = _BANNEDGROUPMEMBER,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.BannedGroupMember)
    ))
  _sym_db.RegisterMessage(BannedGroupMember)
  
  CreateGroupRequest = _reflection.GeneratedProtocolMessageType('CreateGroupRequest', (_message.Message,), dict(
    DESCRIPTOR = _CREATEGROUPREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.CreateGroupRequest)
    ))
  _sym_db.RegisterMessage(CreateGroupRequest)
  
  CreateGroupResponse = _reflection.GeneratedProtocolMessageType('CreateGroupResponse', (_message.Message,), dict(
    DESCRIPTOR = _CREATEGROUPRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.CreateGroupResponse)
    ))
  _sym_db.RegisterMessage(CreateGroupResponse)
  
  GroupName = _reflection.GeneratedProtocolMessageType('GroupName', (_message.Message,), dict(
    DESCRIPTOR = _GROUPNAME,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.GroupName)
    ))
  _sym_db.RegisterMessage(GroupName)
  
  LeaveGroupRequest = _reflection.GeneratedProtocolMessageType('LeaveGroupRequest', (_message.Message,), dict(
    DESCRIPTOR = _LEAVEGROUPREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.LeaveGroupRequest)
    ))
  _sym_db.RegisterMessage(LeaveGroupRequest)
  
  LeaveGroupResponse = _reflection.GeneratedProtocolMessageType('LeaveGroupResponse', (_message.Message,), dict(
    DESCRIPTOR = _LEAVEGROUPRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.LeaveGroupResponse)
    ))
  _sym_db.RegisterMessage(LeaveGroupResponse)
  
  AddToGroupRequest = _reflection.GeneratedProtocolMessageType('AddToGroupRequest', (_message.Message,), dict(
    DESCRIPTOR = _ADDTOGROUPREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.AddToGroupRequest)
    ))
  _sym_db.RegisterMessage(AddToGroupRequest)
  
  AddToGroupResponse = _reflection.GeneratedProtocolMessageType('AddToGroupResponse', (_message.Message,), dict(
  
    FailureDetails = _reflection.GeneratedProtocolMessageType('FailureDetails', (_message.Message,), dict(
      DESCRIPTOR = _ADDTOGROUPRESPONSE_FAILUREDETAILS,
      __module__ = 'groups.v2.group_service_pb2'
      # @@protoc_insertion_point(class_scope:mobile.groups.v2.AddToGroupResponse.FailureDetails)
      ))
    ,
    DESCRIPTOR = _ADDTOGROUPRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.AddToGroupResponse)
    ))
  _sym_db.RegisterMessage(AddToGroupResponse)
  _sym_db.RegisterMessage(AddToGroupResponse.FailureDetails)
  
  RemoveFromGroupRequest = _reflection.GeneratedProtocolMessageType('RemoveFromGroupRequest', (_message.Message,), dict(
    DESCRIPTOR = _REMOVEFROMGROUPREQUEST,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.RemoveFromGroupRequest)
    ))
  _sym_db.RegisterMessage(RemoveFromGroupRequest)
  
  RemoveFromGroupResponse = _reflection.GeneratedProtocolMessageType('RemoveFromGroupResponse', (_message.Message,), dict(
  
    FailureDetails = _reflection.GeneratedProtocolMessageType('FailureDetails', (_message.Message,), dict(
      DESCRIPTOR = _REMOVEFROMGROUPRESPONSE_FAILUREDETAILS,
      __module__ = 'groups.v2.group_service_pb2'
      # @@protoc_insertion_point(class_scope:mobile.groups.v2.RemoveFromGroupResponse.FailureDetails)
      ))
    ,
    DESCRIPTOR = _REMOVEFROMGROUPRESPONSE,
    __module__ = 'groups.v2.group_service_pb2'
    # @@protoc_insertion_point(class_scope:mobile.groups.v2.RemoveFromGroupResponse)
    ))
  _sym_db.RegisterMessage(RemoveFromGroupResponse)
  _sym_db.RegisterMessage(RemoveFromGroupResponse.FailureDetails)
  
  
  DESCRIPTOR.has_options = True
  DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.kik.gen.groups.v2ZJgithub.com/kikinteractive/xiphias-api-mobile/generated/go/groups/v2;groups\242\002\021KPBMobileGroupsV2'))
  _GETGROUPINFOFULLREQUEST.fields_by_name['chat_id'].has_options = True
  _GETGROUPINFOFULLREQUEST.fields_by_name['chat_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _GETGROUPINFOFULLREQUEST.fields_by_name['requestor_persona_id'].has_options = True
  _GETGROUPINFOFULLREQUEST.fields_by_name['requestor_persona_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['chat_id'].has_options = True
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['chat_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['requestor_persona_id'].has_options = True
  _GETBANNEDGROUPMEMBERSSTREAMREQUEST.fields_by_name['requestor_persona_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE.fields_by_name['banned_group_members'].has_options = True
  _GETBANNEDGROUPMEMBERSSTREAMRESPONSE.fields_by_name['banned_group_members']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\004\200\001\200\010'))
  _BANNEDGROUPMEMBER.fields_by_name['persona_id'].has_options = True
  _BANNEDGROUPMEMBER.fields_by_name['persona_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _CREATEGROUPREQUEST.fields_by_name['creator_id'].has_options = True
  _CREATEGROUPREQUEST.fields_by_name['creator_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _CREATEGROUPREQUEST.fields_by_name['initial_members'].has_options = True
  _CREATEGROUPREQUEST.fields_by_name['initial_members']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\004\200\001\200\010'))
  _CREATEGROUPREQUEST.fields_by_name['request_id'].has_options = True
  _CREATEGROUPREQUEST.fields_by_name['request_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _GROUPNAME.fields_by_name['group_name'].has_options = True
  _GROUPNAME.fields_by_name['group_name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\005\010\001 \372\001'))
  _LEAVEGROUPREQUEST.fields_by_name['chat_id'].has_options = True
  _LEAVEGROUPREQUEST.fields_by_name['chat_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _LEAVEGROUPREQUEST.fields_by_name['leaver_id'].has_options = True
  _LEAVEGROUPREQUEST.fields_by_name['leaver_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _ADDTOGROUPREQUEST.fields_by_name['chat_id'].has_options = True
  _ADDTOGROUPREQUEST.fields_by_name['chat_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _ADDTOGROUPREQUEST.fields_by_name['adder_id'].has_options = True
  _ADDTOGROUPREQUEST.fields_by_name['adder_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _ADDTOGROUPREQUEST.fields_by_name['new_member_ids'].has_options = True
  _ADDTOGROUPREQUEST.fields_by_name['new_member_ids']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\007\010\001x\001\200\001d'))
  _REMOVEFROMGROUPREQUEST.fields_by_name['chat_id'].has_options = True
  _REMOVEFROMGROUPREQUEST.fields_by_name['chat_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _REMOVEFROMGROUPREQUEST.fields_by_name['remover_id'].has_options = True
  _REMOVEFROMGROUPREQUEST.fields_by_name['remover_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\002\010\001'))
  _REMOVEFROMGROUPREQUEST.fields_by_name['removee_ids'].has_options = True
  _REMOVEFROMGROUPREQUEST.fields_by_name['removee_ids']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\312\235%\007\010\001x\001\200\001d'))
  # @@protoc_insertion_point(module_scope)
  