Merge remote-tracking branch 'origin/tuoyun' into tuoyun

# Conflicts:
#	cmd/open_im_api/main.go
pull/131/head
Gordon 3 years ago
commit 29e1535c64

@ -10,7 +10,10 @@ import (
open_im_sdk "Open_IM/pkg/proto/sdk_ws" open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"Open_IM/pkg/utils" "Open_IM/pkg/utils"
"context" "context"
"encoding/json"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/golang/protobuf/jsonpb"
"github.com/golang/protobuf/proto"
"net/http" "net/http"
"strings" "strings"
) )
@ -127,21 +130,12 @@ func GetGroupMemberList(c *gin.Context) {
if len(memberListResp.MemberList) == 0 { if len(memberListResp.MemberList) == 0 {
memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
} }
/*
jsm := &jsonpb.Marshaler{
OrigName: true,
EnumsAsInts: false,
EmitDefaults: true,
}
var b bytes.Buffer
err = jsm.MarshalToString(memberListResp.MemberList[0])
*/
log.NewInfo(req.OperationID, "GetGroupMemberList api return ", memberListResp) log.NewInfo(req.OperationID, "GetGroupMemberList api return ", memberListResp)
c.JSON(http.StatusOK, memberListResp) c.JSON(http.StatusOK, memberListResp)
} }
func GetGroupAllMember(c *gin.Context) { func GetGroupAllMemberList(c *gin.Context) {
params := api.GetGroupAllMemberReq{} params := api.GetGroupAllMemberReq{}
if err := c.BindJSON(&params); err != nil { if err := c.BindJSON(&params); err != nil {
log.NewError("0", "BindJSON failed ", err.Error()) log.NewError("0", "BindJSON failed ", err.Error())
@ -172,10 +166,47 @@ func GetGroupAllMember(c *gin.Context) {
if len(memberListResp.MemberList) == 0 { if len(memberListResp.MemberList) == 0 {
memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{} memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
} }
jsm := &jsonpb.Marshaler{
OrigName: true,
EnumsAsInts: false,
EmitDefaults: true,
}
if len(memberListResp.MemberList) > 0 {
for _, v := range memberListResp.MemberList {
s, err := jsm.MarshalToString(v)
//{"GroupID":"7836e478bc43ce1d3b8889cac983f59b","UserID":"openIM001","roleLevel":1,"JoinTime":"0","NickName":"","FaceUrl":"https://oss.com.cn/head","AppMangerLevel":0,"JoinSource":0,"OperatorUserID":"","Ex":"xxx"}
log.NewDebug(req.OperationID, "MarshalToString ", s, err)
m := ProtoToMap(memberListResp.MemberList[0], false)
log.NewDebug(req.OperationID, "mmm ", m)
memberListResp.Test = append(memberListResp.Test, m)
}
}
log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp) log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp)
c.JSON(http.StatusOK, memberListResp) c.JSON(http.StatusOK, memberListResp)
} }
func ProtoToMap(pb proto.Message, idFix bool) map[string]interface{} {
marshaler := jsonpb.Marshaler{
OrigName: true,
EnumsAsInts: false,
EmitDefaults: true,
}
s, _ := marshaler.MarshalToString(pb)
out := make(map[string]interface{})
json.Unmarshal([]byte(s), &out)
if idFix {
if _, ok := out["id"]; ok {
out["_id"] = out["id"]
delete(out, "id")
}
}
return out
}
func GetJoinedGroupList(c *gin.Context) { func GetJoinedGroupList(c *gin.Context) {
params := api.GetJoinedGroupListReq{} params := api.GetJoinedGroupListReq{}
if err := c.BindJSON(&params); err != nil { if err := c.BindJSON(&params); err != nil {

@ -64,12 +64,13 @@ type GetGroupMemberListResp struct {
} }
type GetGroupAllMemberReq struct { type GetGroupAllMemberReq struct {
GroupID string `json:"groupID"` GroupID string `json:"groupID" binding:"required"`
OperationID string `json:"operationID"` OperationID string `json:"operationID" binding:"required"`
} }
type GetGroupAllMemberResp struct { type GetGroupAllMemberResp struct {
CommResp CommResp
MemberList []*open_im_sdk.GroupMemberFullInfo `json:"data"` MemberList []*open_im_sdk.GroupMemberFullInfo `json:"data"`
Test []map[string]interface{} `json:"data2"`
} }
type CreateGroupReq struct { type CreateGroupReq struct {

@ -40,7 +40,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) ProtoMessage() {}
func (*GroupInfo) Descriptor() ([]byte, []int) { func (*GroupInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{0} return fileDescriptor_ws_8a45d93b14f6e420, []int{0}
} }
func (m *GroupInfo) XXX_Unmarshal(b []byte) error { func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfo.Unmarshal(m, b) return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
@ -149,7 +149,7 @@ type GroupMemberFullInfo struct {
UserID string `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"` UserID string `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"`
RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"` RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel" json:"roleLevel,omitempty"`
JoinTime int64 `protobuf:"varint,4,opt,name=JoinTime" json:"JoinTime,omitempty"` JoinTime int64 `protobuf:"varint,4,opt,name=JoinTime" json:"JoinTime,omitempty"`
NickName string `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"` Nickname string `protobuf:"bytes,5,opt,name=Nickname" json:"Nickname,omitempty"`
FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"` FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
AppMangerLevel int32 `protobuf:"varint,7,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"` AppMangerLevel int32 `protobuf:"varint,7,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"`
JoinSource int32 `protobuf:"varint,8,opt,name=JoinSource" json:"JoinSource,omitempty"` JoinSource int32 `protobuf:"varint,8,opt,name=JoinSource" json:"JoinSource,omitempty"`
@ -164,7 +164,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) ProtoMessage() {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{1} return fileDescriptor_ws_8a45d93b14f6e420, []int{1}
} }
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
@ -212,9 +212,9 @@ func (m *GroupMemberFullInfo) GetJoinTime() int64 {
return 0 return 0
} }
func (m *GroupMemberFullInfo) GetNickName() string { func (m *GroupMemberFullInfo) GetNickname() string {
if m != nil { if m != nil {
return m.NickName return m.Nickname
} }
return "" return ""
} }
@ -269,7 +269,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) ProtoMessage() {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) { func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{2} return fileDescriptor_ws_8a45d93b14f6e420, []int{2}
} }
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
@ -344,7 +344,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage() {} func (*UserInfo) ProtoMessage() {}
func (*UserInfo) Descriptor() ([]byte, []int) { func (*UserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{3} return fileDescriptor_ws_8a45d93b14f6e420, []int{3}
} }
func (m *UserInfo) XXX_Unmarshal(b []byte) error { func (m *UserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfo.Unmarshal(m, b) return xxx_messageInfo_UserInfo.Unmarshal(m, b)
@ -451,7 +451,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) ProtoMessage() {}
func (*FriendInfo) Descriptor() ([]byte, []int) { func (*FriendInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{4} return fileDescriptor_ws_8a45d93b14f6e420, []int{4}
} }
func (m *FriendInfo) XXX_Unmarshal(b []byte) error { func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfo.Unmarshal(m, b) return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
@ -536,7 +536,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) ProtoMessage() {}
func (*BlackInfo) Descriptor() ([]byte, []int) { func (*BlackInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{5} return fileDescriptor_ws_8a45d93b14f6e420, []int{5}
} }
func (m *BlackInfo) XXX_Unmarshal(b []byte) error { func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackInfo.Unmarshal(m, b) return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
@ -617,7 +617,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} }
func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (m *GroupRequest) String() string { return proto.CompactTextString(m) }
func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) ProtoMessage() {}
func (*GroupRequest) Descriptor() ([]byte, []int) { func (*GroupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{6} return fileDescriptor_ws_8a45d93b14f6e420, []int{6}
} }
func (m *GroupRequest) XXX_Unmarshal(b []byte) error { func (m *GroupRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupRequest.Unmarshal(m, b) return xxx_messageInfo_GroupRequest.Unmarshal(m, b)
@ -719,7 +719,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} }
func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (m *FriendRequest) String() string { return proto.CompactTextString(m) }
func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) ProtoMessage() {}
func (*FriendRequest) Descriptor() ([]byte, []int) { func (*FriendRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{7} return fileDescriptor_ws_8a45d93b14f6e420, []int{7}
} }
func (m *FriendRequest) XXX_Unmarshal(b []byte) error { func (m *FriendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendRequest.Unmarshal(m, b) return xxx_messageInfo_FriendRequest.Unmarshal(m, b)
@ -818,7 +818,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{8} return fileDescriptor_ws_8a45d93b14f6e420, []int{8}
} }
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@ -893,7 +893,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{9} return fileDescriptor_ws_8a45d93b14f6e420, []int{9}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -948,7 +948,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) ProtoMessage() {}
func (*PullMessageReq) Descriptor() ([]byte, []int) { func (*PullMessageReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{10} return fileDescriptor_ws_8a45d93b14f6e420, []int{10}
} }
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
@ -1012,7 +1012,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) ProtoMessage() {}
func (*PullMessageResp) Descriptor() ([]byte, []int) { func (*PullMessageResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{11} return fileDescriptor_ws_8a45d93b14f6e420, []int{11}
} }
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
@ -1084,7 +1084,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{12} return fileDescriptor_ws_8a45d93b14f6e420, []int{12}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -1116,7 +1116,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{13} return fileDescriptor_ws_8a45d93b14f6e420, []int{13}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -1164,7 +1164,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) { func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{14} return fileDescriptor_ws_8a45d93b14f6e420, []int{14}
} }
func (m *GatherFormat) XXX_Unmarshal(b []byte) error { func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b) return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@ -1211,7 +1211,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) { func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{15} return fileDescriptor_ws_8a45d93b14f6e420, []int{15}
} }
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@ -1280,7 +1280,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) } func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {} func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) { func (*MsgData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{16} return fileDescriptor_ws_8a45d93b14f6e420, []int{16}
} }
func (m *MsgData) XXX_Unmarshal(b []byte) error { func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b) return xxx_messageInfo_MsgData.Unmarshal(m, b)
@ -1441,7 +1441,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) { func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{17} return fileDescriptor_ws_8a45d93b14f6e420, []int{17}
} }
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@ -1508,7 +1508,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage() {} func (*TipsComm) ProtoMessage() {}
func (*TipsComm) Descriptor() ([]byte, []int) { func (*TipsComm) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{18} return fileDescriptor_ws_8a45d93b14f6e420, []int{18}
} }
func (m *TipsComm) XXX_Unmarshal(b []byte) error { func (m *TipsComm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TipsComm.Unmarshal(m, b) return xxx_messageInfo_TipsComm.Unmarshal(m, b)
@ -1557,7 +1557,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) ProtoMessage() {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) { func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{19} return fileDescriptor_ws_8a45d93b14f6e420, []int{19}
} }
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
@ -1612,7 +1612,7 @@ func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} }
func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) }
func (*MemberLeaveTips) ProtoMessage() {} func (*MemberLeaveTips) ProtoMessage() {}
func (*MemberLeaveTips) Descriptor() ([]byte, []int) { func (*MemberLeaveTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{20} return fileDescriptor_ws_8a45d93b14f6e420, []int{20}
} }
func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b)
@ -1667,7 +1667,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) ProtoMessage() {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) { func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{21} return fileDescriptor_ws_8a45d93b14f6e420, []int{21}
} }
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
@ -1729,7 +1729,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) ProtoMessage() {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) { func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{22} return fileDescriptor_ws_8a45d93b14f6e420, []int{22}
} }
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
@ -1792,7 +1792,7 @@ func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} }
func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInfoChangedTips) ProtoMessage() {} func (*MemberInfoChangedTips) ProtoMessage() {}
func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{23} return fileDescriptor_ws_8a45d93b14f6e420, []int{23}
} }
func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b)
@ -1861,7 +1861,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) ProtoMessage() {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) { func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{24} return fileDescriptor_ws_8a45d93b14f6e420, []int{24}
} }
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
@ -1922,7 +1922,7 @@ func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} }
func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoChangedTips) ProtoMessage() {} func (*GroupInfoChangedTips) ProtoMessage() {}
func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{25} return fileDescriptor_ws_8a45d93b14f6e420, []int{25}
} }
func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b)
@ -1976,7 +1976,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi
func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) }
func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) ProtoMessage() {}
func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{26} return fileDescriptor_ws_8a45d93b14f6e420, []int{26}
} }
func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b)
@ -2031,7 +2031,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi
func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) ProtoMessage() {}
func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{27} return fileDescriptor_ws_8a45d93b14f6e420, []int{27}
} }
func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b)
@ -2092,7 +2092,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) ProtoMessage() {}
func (*FriendApplication) Descriptor() ([]byte, []int) { func (*FriendApplication) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{28} return fileDescriptor_ws_8a45d93b14f6e420, []int{28}
} }
func (m *FriendApplication) XXX_Unmarshal(b []byte) error { func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplication.Unmarshal(m, b) return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
@ -2145,7 +2145,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} }
func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (m *FromToUserID) String() string { return proto.CompactTextString(m) }
func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) ProtoMessage() {}
func (*FromToUserID) Descriptor() ([]byte, []int) { func (*FromToUserID) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{29} return fileDescriptor_ws_8a45d93b14f6e420, []int{29}
} }
func (m *FromToUserID) XXX_Unmarshal(b []byte) error { func (m *FromToUserID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FromToUserID.Unmarshal(m, b) return xxx_messageInfo_FromToUserID.Unmarshal(m, b)
@ -2191,7 +2191,7 @@ func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAdd
func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) ProtoMessage() {}
func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{30} return fileDescriptor_ws_8a45d93b14f6e420, []int{30}
} }
func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b)
@ -2230,7 +2230,7 @@ func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicatio
func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) ProtoMessage() {}
func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{31} return fileDescriptor_ws_8a45d93b14f6e420, []int{31}
} }
func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b)
@ -2271,7 +2271,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) ProtoMessage() {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) { func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{32} return fileDescriptor_ws_8a45d93b14f6e420, []int{32}
} }
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
@ -2324,7 +2324,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) ProtoMessage() {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) { func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{33} return fileDescriptor_ws_8a45d93b14f6e420, []int{33}
} }
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
@ -2362,7 +2362,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) ProtoMessage() {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) { func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{34} return fileDescriptor_ws_8a45d93b14f6e420, []int{34}
} }
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
@ -2400,7 +2400,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) ProtoMessage() {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) { func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{35} return fileDescriptor_ws_8a45d93b14f6e420, []int{35}
} }
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
@ -2438,7 +2438,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) ProtoMessage() {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{36} return fileDescriptor_ws_8a45d93b14f6e420, []int{36}
} }
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
@ -2477,7 +2477,7 @@ func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} }
func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) ProtoMessage() {}
func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_c6aceb61f76d5c8d, []int{37} return fileDescriptor_ws_8a45d93b14f6e420, []int{37}
} }
func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b)
@ -2546,10 +2546,10 @@ func init() {
proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips")
} }
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_c6aceb61f76d5c8d) } func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_8a45d93b14f6e420) }
var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{ var fileDescriptor_ws_8a45d93b14f6e420 = []byte{
// 1923 bytes of a gzipped FileDescriptorProto // 1920 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0xcd, 0x8f, 0x1b, 0x49,
0x15, 0x57, 0xb7, 0xdd, 0xfe, 0x78, 0xf6, 0x8c, 0x27, 0x9d, 0x64, 0xb6, 0x09, 0xab, 0xc8, 0xb4, 0x15, 0x57, 0xb7, 0xdd, 0xfe, 0x78, 0xf6, 0x8c, 0x27, 0x9d, 0x64, 0xb6, 0x09, 0xab, 0xc8, 0xb4,
0x56, 0x68, 0x84, 0x20, 0x2b, 0x65, 0x85, 0xb4, 0x04, 0x2d, 0xe0, 0x19, 0xcf, 0xe4, 0x83, 0x38, 0x56, 0x68, 0x84, 0x20, 0x2b, 0x65, 0x85, 0xb4, 0x04, 0x2d, 0xe0, 0x19, 0xcf, 0xe4, 0x83, 0x38,
@ -2572,103 +2572,102 @@ var fileDescriptor_ws_c6aceb61f76d5c8d = []byte{
0xf6, 0x66, 0x41, 0x9c, 0x36, 0x17, 0x50, 0x02, 0xee, 0x5f, 0x4d, 0xb8, 0xc9, 0x29, 0x61, 0xc0, 0xf6, 0x66, 0x41, 0x9c, 0x36, 0x17, 0x50, 0x02, 0xee, 0x5f, 0x4d, 0xb8, 0xc9, 0x29, 0x61, 0xc0,
0x49, 0x16, 0x45, 0xef, 0xc8, 0xc0, 0x3e, 0xd4, 0xa4, 0x3a, 0x11, 0xfe, 0x5a, 0xa9, 0x27, 0x89, 0x49, 0x16, 0x45, 0xef, 0xc8, 0xc0, 0x3e, 0xd4, 0xa4, 0x3a, 0x11, 0xfe, 0x5a, 0xa9, 0x27, 0x89,
0x23, 0xf2, 0x94, 0x5c, 0x90, 0x88, 0x07, 0xde, 0xf2, 0x4a, 0xc0, 0xbe, 0x03, 0x8d, 0x27, 0x71, 0x23, 0xf2, 0x94, 0x5c, 0x90, 0x88, 0x07, 0xde, 0xf2, 0x4a, 0xc0, 0xbe, 0x03, 0x8d, 0x27, 0x71,
0x48, 0x79, 0x4c, 0xaa, 0x3c, 0x26, 0x05, 0x8d, 0xdf, 0x9e, 0x85, 0xe3, 0x19, 0x4f, 0xa9, 0x08, 0x48, 0x79, 0x4c, 0xaa, 0x3c, 0x26, 0x05, 0x8d, 0xdf, 0x9e, 0x85, 0xe3, 0x19, 0xc5, 0x94, 0x8a,
0x77, 0x41, 0xab, 0x99, 0xa8, 0xe9, 0x99, 0xf8, 0x36, 0xec, 0xf6, 0x16, 0x8b, 0x81, 0x4f, 0xa7, 0x70, 0x17, 0xb4, 0x9a, 0x89, 0x9a, 0x9e, 0x89, 0x6f, 0xc3, 0x6e, 0x6f, 0xb1, 0x18, 0xf8, 0x74,
0x24, 0x11, 0x4a, 0xeb, 0x5c, 0xe9, 0x0a, 0x8a, 0xf9, 0x40, 0x4d, 0xa3, 0x38, 0x4b, 0xc6, 0x84, 0x4a, 0x12, 0xa1, 0xb4, 0xce, 0x95, 0xae, 0xa0, 0x98, 0x0f, 0xd4, 0x34, 0x8a, 0xb3, 0x64, 0x4c,
0x87, 0xdb, 0xf2, 0x14, 0x04, 0xe5, 0x0c, 0x17, 0x24, 0x51, 0xc2, 0x28, 0x22, 0xbf, 0x82, 0xca, 0x78, 0xb8, 0x2d, 0x4f, 0x41, 0x50, 0xce, 0x70, 0x41, 0x12, 0x25, 0x8c, 0x22, 0xf2, 0x2b, 0xa8,
0xac, 0x40, 0x9e, 0x15, 0xf7, 0xf7, 0x06, 0xec, 0x9e, 0x66, 0x2f, 0xa3, 0x70, 0xcc, 0x19, 0x30, 0xcc, 0x0a, 0xe4, 0x59, 0x71, 0x7f, 0x6f, 0xc0, 0xee, 0x69, 0xf6, 0x32, 0x0a, 0xc7, 0x9c, 0x01,
0x68, 0x65, 0x68, 0x0c, 0x2d, 0x34, 0xd2, 0x41, 0x5a, 0xd6, 0x6c, 0x41, 0xab, 0x0e, 0x56, 0x74, 0x83, 0x56, 0x86, 0xc6, 0xd0, 0x42, 0xa3, 0x3a, 0x68, 0xbe, 0xdd, 0xc1, 0x8a, 0xee, 0xe0, 0x3e,
0x07, 0xf7, 0xa1, 0xf6, 0x90, 0xd0, 0x80, 0x24, 0x3c, 0x60, 0x96, 0x27, 0xa9, 0x0d, 0x8e, 0x5b, 0xd4, 0x1e, 0x12, 0x1a, 0x90, 0x84, 0x07, 0xcc, 0xf2, 0x24, 0xb5, 0xc1, 0x71, 0x6b, 0x93, 0xe3,
0x9b, 0x1c, 0x77, 0x7f, 0x6b, 0x42, 0xe3, 0x23, 0x9b, 0xd6, 0x85, 0xd6, 0xe9, 0x79, 0x4c, 0xc9, 0xee, 0x6f, 0x4d, 0x68, 0x7c, 0x64, 0xd3, 0xba, 0xd0, 0x3a, 0x3d, 0x8f, 0x29, 0x79, 0x96, 0x61,
0xb3, 0x0c, 0x8b, 0x49, 0x26, 0x53, 0x85, 0xec, 0x5b, 0x60, 0x1d, 0x86, 0x49, 0x7a, 0xce, 0xb3, 0x31, 0xc9, 0x64, 0xaa, 0x90, 0x7d, 0x0b, 0xac, 0xc3, 0x30, 0x49, 0xcf, 0x79, 0x36, 0x2b, 0x9e,
0x59, 0xf1, 0x04, 0x81, 0xe8, 0xf1, 0xdc, 0x0f, 0x45, 0x0a, 0x9b, 0x9e, 0x20, 0x64, 0xc4, 0x1b, 0x20, 0x10, 0x3d, 0x9e, 0xfb, 0xa1, 0x48, 0x61, 0xd3, 0x13, 0x84, 0x8c, 0x78, 0xa3, 0xd8, 0x07,
0xc5, 0x3e, 0xd0, 0x77, 0x56, 0x73, 0x6d, 0x67, 0xad, 0x07, 0x06, 0x36, 0x06, 0xe6, 0x5f, 0x06, 0xfa, 0xce, 0x6a, 0xae, 0xed, 0xac, 0xf5, 0xc0, 0xc0, 0xc6, 0xc0, 0xfc, 0xcb, 0x00, 0x38, 0x49,
0xc0, 0x49, 0x12, 0x12, 0x1a, 0xf0, 0xd0, 0xac, 0x6c, 0x69, 0x63, 0x7d, 0x4b, 0xef, 0x43, 0xcd, 0x42, 0x42, 0x03, 0x1e, 0x9a, 0x95, 0x2d, 0x6d, 0xac, 0x6f, 0xe9, 0x7d, 0xa8, 0x79, 0x64, 0xee,
0x23, 0x73, 0x3f, 0x99, 0xe5, 0x25, 0x2f, 0xa8, 0x15, 0x83, 0x2a, 0x6b, 0x06, 0x7d, 0x3f, 0xd7, 0x27, 0xb3, 0xbc, 0xe4, 0x05, 0xb5, 0x62, 0x50, 0x65, 0xcd, 0xa0, 0xef, 0xe7, 0x7a, 0x50, 0x0e,
0x83, 0x72, 0x78, 0xa8, 0x5a, 0xf7, 0x6f, 0xdf, 0x53, 0xda, 0xde, 0xbd, 0x3c, 0x3f, 0x9e, 0xc2, 0x0f, 0x55, 0xeb, 0xfe, 0xed, 0x7b, 0x4a, 0xdb, 0xbb, 0x97, 0xe7, 0xc7, 0x53, 0x18, 0x71, 0x27,
0x88, 0x3b, 0xa9, 0x17, 0x04, 0xb2, 0x60, 0x45, 0x6e, 0x4b, 0x60, 0x43, 0xbd, 0xd6, 0x2e, 0xa9, 0xf5, 0x82, 0x40, 0x16, 0xac, 0xc8, 0x6d, 0x09, 0x6c, 0xa8, 0xd7, 0xda, 0x25, 0xf5, 0x5a, 0x2f,
0xd7, 0x7a, 0x51, 0xaf, 0x7f, 0x37, 0xa0, 0x79, 0x18, 0xf9, 0xe3, 0xd9, 0x96, 0x4e, 0xeb, 0xce, 0xea, 0xf5, 0xef, 0x06, 0x34, 0x0f, 0x23, 0x7f, 0x3c, 0xdb, 0xd2, 0x69, 0xdd, 0x39, 0x73, 0xcd,
0x99, 0x6b, 0xce, 0xf5, 0x60, 0x87, 0x8b, 0xcb, 0x5d, 0xe0, 0xfe, 0xb7, 0xee, 0x7f, 0x53, 0xf3, 0xb9, 0x1e, 0xec, 0x70, 0x71, 0xb9, 0x0b, 0xdc, 0xff, 0xd6, 0xfd, 0x6f, 0x6a, 0xfe, 0xe9, 0x1b,
0x4f, 0xdf, 0x20, 0x9e, 0xbe, 0x42, 0x77, 0xb4, 0xfa, 0x6e, 0x47, 0xad, 0x4b, 0x1c, 0xad, 0x15, 0xc4, 0xd3, 0x57, 0xe8, 0x8e, 0x56, 0xdf, 0xed, 0xa8, 0x75, 0x89, 0xa3, 0xb5, 0xc2, 0xd1, 0x5f,
0x8e, 0xfe, 0xda, 0x84, 0x36, 0x6f, 0x56, 0x1e, 0x59, 0x66, 0x84, 0xa5, 0x6f, 0xad, 0x7d, 0xa5, 0x9b, 0xd0, 0xe6, 0xcd, 0xca, 0x23, 0xcb, 0x8c, 0xb0, 0xf4, 0xad, 0xb5, 0xaf, 0xf4, 0x38, 0x53,
0xc7, 0x99, 0x7a, 0x8f, 0x73, 0xa1, 0xfd, 0xc8, 0xa7, 0x41, 0x44, 0x3c, 0xc2, 0xb2, 0x28, 0xcd, 0xef, 0x71, 0x2e, 0xb4, 0x1f, 0xf9, 0x34, 0x88, 0x88, 0x47, 0x58, 0x16, 0xa5, 0xf9, 0x39, 0xa2,
0xcf, 0x11, 0x15, 0x13, 0x45, 0xb1, 0x1c, 0xb0, 0xa9, 0x3c, 0x41, 0x24, 0x85, 0x4e, 0x09, 0x3e, 0x62, 0xa2, 0x28, 0x96, 0x03, 0x36, 0x95, 0x27, 0x88, 0xa4, 0xd0, 0x29, 0xc1, 0x87, 0x9f, 0x84,
0xfc, 0x24, 0x2c, 0x2e, 0x01, 0xd4, 0xe9, 0x91, 0x25, 0x0f, 0xa9, 0xd8, 0x01, 0x39, 0x59, 0xea, 0xc5, 0x25, 0x80, 0x3a, 0x3d, 0xb2, 0xe4, 0x21, 0x15, 0x3b, 0x20, 0x27, 0x4b, 0x9d, 0xd2, 0xd6,
0x94, 0xb6, 0xd6, 0x55, 0x9d, 0x65, 0x4e, 0x04, 0xcd, 0x05, 0x34, 0x44, 0x4e, 0x4a, 0x64, 0xf5, 0xba, 0xaa, 0xb3, 0xcc, 0x89, 0xa0, 0xb9, 0x80, 0x86, 0xc8, 0x49, 0x89, 0xac, 0x9e, 0x1c, 0xee,
0xe4, 0x70, 0xbf, 0x36, 0x61, 0x47, 0x14, 0x56, 0x1e, 0x8b, 0xbb, 0x58, 0x92, 0xf1, 0x5c, 0x8b, 0xd7, 0x26, 0xec, 0x88, 0xc2, 0xca, 0x63, 0x71, 0x17, 0x4b, 0x32, 0x9e, 0x6b, 0xf1, 0x50, 0x10,
0x87, 0x82, 0x60, 0x3f, 0x38, 0x8b, 0xb5, 0xfe, 0x5e, 0xd0, 0x1b, 0xa3, 0x62, 0x6d, 0x19, 0x15, 0xec, 0x07, 0x67, 0xb1, 0xd6, 0xdf, 0x0b, 0x7a, 0x63, 0x54, 0xac, 0x2d, 0xa3, 0xa2, 0x57, 0x93,
0xbd, 0x9a, 0xac, 0xb5, 0x6a, 0xfa, 0x0c, 0x76, 0x84, 0x1c, 0xbd, 0xa8, 0x75, 0x50, 0x8f, 0x6d, 0xb5, 0x56, 0x4d, 0x9f, 0xc1, 0x8e, 0x90, 0xa3, 0x17, 0xb5, 0x0e, 0xea, 0xb1, 0xad, 0xaf, 0xc6,
0x7d, 0x35, 0xb6, 0x57, 0x8d, 0xce, 0x7f, 0x0d, 0x70, 0x4e, 0xb3, 0x28, 0x1a, 0x10, 0xc6, 0xfc, 0xf6, 0xaa, 0xd1, 0xf9, 0xaf, 0x01, 0xce, 0x69, 0x16, 0x45, 0x03, 0xc2, 0x98, 0x3f, 0x25, 0x87,
0x29, 0x39, 0x7c, 0x33, 0x22, 0xcb, 0xa7, 0x21, 0x4b, 0x3d, 0xc2, 0x16, 0x98, 0x28, 0x92, 0x24, 0x6f, 0x46, 0x64, 0xf9, 0x34, 0x64, 0xa9, 0x47, 0xd8, 0x02, 0x13, 0x45, 0x92, 0xe4, 0x28, 0x0e,
0x47, 0x71, 0x40, 0x78, 0x94, 0x2c, 0x2f, 0x27, 0xd1, 0x45, 0x92, 0x24, 0x68, 0x81, 0xec, 0x06, 0x08, 0x8f, 0x92, 0xe5, 0xe5, 0x24, 0xba, 0x48, 0x92, 0x04, 0x2d, 0x90, 0xdd, 0x40, 0x50, 0x88,
0x82, 0x42, 0x7c, 0xee, 0xbf, 0x1e, 0x91, 0xa5, 0xec, 0x04, 0x92, 0xe2, 0x78, 0x48, 0x11, 0xaf, 0xcf, 0xfd, 0xd7, 0x23, 0xb2, 0x94, 0x9d, 0x40, 0x52, 0x1c, 0x0f, 0x29, 0xe2, 0x55, 0x89, 0x73,
0x4a, 0x9c, 0x53, 0xf6, 0x8f, 0x61, 0x87, 0x85, 0x74, 0x2a, 0x92, 0x2b, 0x8a, 0xa5, 0x72, 0xd0, 0xca, 0xfe, 0x31, 0xec, 0xb0, 0x90, 0x4e, 0x45, 0x72, 0x45, 0xb1, 0x54, 0x0e, 0x5a, 0xf7, 0xbf,
0xba, 0xff, 0x0d, 0x6d, 0x03, 0x3d, 0xf4, 0xd3, 0x73, 0x92, 0x9c, 0xc4, 0xc9, 0xdc, 0x4f, 0x3d, 0xa1, 0x6d, 0xa0, 0x87, 0x7e, 0x7a, 0x4e, 0x92, 0x93, 0x38, 0x99, 0xfb, 0xa9, 0xa7, 0xf3, 0xdb,
0x9d, 0xdf, 0xfe, 0x0a, 0xda, 0x53, 0x2c, 0xd8, 0x7c, 0x7d, 0xed, 0x5d, 0xeb, 0x35, 0x76, 0x77, 0x5f, 0x41, 0x7b, 0x8a, 0x05, 0x9b, 0xaf, 0xaf, 0xbd, 0x6b, 0xbd, 0xc6, 0xee, 0xce, 0xe1, 0x93,
0x0e, 0x9f, 0x6c, 0xf6, 0x9e, 0x9b, 0x9c, 0x69, 0x3b, 0x46, 0x50, 0xd8, 0x35, 0x62, 0xbe, 0xf9, 0xcd, 0xde, 0x73, 0x93, 0x33, 0x6d, 0xc7, 0x08, 0x0a, 0xbb, 0x46, 0xcc, 0x37, 0x5f, 0x18, 0xd3,
0xc2, 0x98, 0x16, 0x05, 0xa2, 0x42, 0x18, 0x36, 0x26, 0xe4, 0x38, 0x95, 0x6e, 0x05, 0xeb, 0x5b, 0xa2, 0x40, 0x54, 0x08, 0xc3, 0xc6, 0x84, 0x1c, 0xa7, 0xd2, 0xad, 0x60, 0x7d, 0x4b, 0xd2, 0xfd,
0x92, 0xee, 0xaf, 0xf0, 0xb8, 0x2c, 0xd4, 0x5d, 0xa6, 0xe5, 0x0e, 0x34, 0x18, 0x59, 0x1e, 0x92, 0x15, 0x1e, 0x97, 0x85, 0xba, 0xcb, 0xb4, 0xdc, 0x81, 0x06, 0x23, 0xcb, 0x43, 0x32, 0x0d, 0xa9,
0x69, 0x48, 0x65, 0xdf, 0x29, 0x68, 0x5c, 0xc3, 0xc8, 0xf2, 0x98, 0x06, 0x79, 0x90, 0x05, 0xb5, 0xec, 0x3b, 0x05, 0x8d, 0x6b, 0x18, 0x59, 0x1e, 0xd3, 0x20, 0x0f, 0xb2, 0xa0, 0x56, 0x2d, 0xab,
0x6a, 0x59, 0x75, 0xcd, 0x32, 0xec, 0xfa, 0x1d, 0xcd, 0x80, 0xff, 0x8b, 0x24, 0xdf, 0x02, 0xfb, 0xae, 0x59, 0x86, 0x5d, 0xbf, 0xa3, 0x19, 0xf0, 0x7f, 0x91, 0xe4, 0x5b, 0x60, 0x3f, 0x24, 0xe9,
0x21, 0x49, 0x07, 0xfe, 0xeb, 0x1e, 0x0d, 0x06, 0xdc, 0x24, 0x8f, 0x2c, 0xdd, 0x63, 0xb8, 0xb9, 0xc0, 0x7f, 0xdd, 0xa3, 0xc1, 0x80, 0x9b, 0xe4, 0x91, 0xa5, 0x7b, 0x0c, 0x37, 0xd7, 0x50, 0xb6,
0x86, 0xb2, 0x85, 0xe2, 0x9c, 0xf1, 0x16, 0xe7, 0x4c, 0xd5, 0x39, 0xf7, 0x11, 0xb4, 0x55, 0xd5, 0x50, 0x9c, 0x33, 0xde, 0xe2, 0x9c, 0xa9, 0x3a, 0xe7, 0x3e, 0x82, 0xb6, 0xaa, 0x1a, 0x37, 0x58,
0xb8, 0xc1, 0xc2, 0x40, 0x26, 0xd3, 0x0c, 0x03, 0xfb, 0x00, 0xaa, 0x11, 0x56, 0x82, 0xc9, 0x6d, 0x18, 0xc8, 0x64, 0x9a, 0x61, 0x60, 0x1f, 0x40, 0x35, 0xc2, 0x4a, 0x30, 0xb9, 0xcd, 0xb7, 0x34,
0xbe, 0xa5, 0xd9, 0x3c, 0x60, 0xd3, 0xbe, 0x9f, 0xfa, 0x1e, 0xe7, 0x70, 0x97, 0xd0, 0x41, 0x8b, 0x9b, 0x07, 0x6c, 0xda, 0xf7, 0x53, 0xdf, 0xe3, 0x1c, 0xee, 0x12, 0x3a, 0x68, 0xf1, 0x88, 0xd0,
0x47, 0x84, 0x06, 0x03, 0x36, 0xe5, 0xc6, 0x74, 0xa1, 0x35, 0x22, 0xc9, 0x05, 0x77, 0xa3, 0x3c, 0x60, 0xc0, 0xa6, 0xdc, 0x98, 0x2e, 0xb4, 0x46, 0x24, 0xb9, 0xe0, 0x6e, 0x94, 0x27, 0x94, 0x02,
0xa1, 0x14, 0x08, 0x39, 0x8e, 0xa2, 0x90, 0xd0, 0x54, 0x70, 0xc8, 0x6a, 0x54, 0x20, 0x51, 0x49, 0x21, 0xc7, 0x51, 0x14, 0x12, 0x9a, 0x0a, 0x0e, 0x59, 0x8d, 0x0a, 0x24, 0x2a, 0x89, 0x06, 0xca,
0x34, 0x50, 0x8e, 0xe7, 0x82, 0x76, 0xff, 0x62, 0x41, 0x5d, 0x1a, 0x21, 0xaa, 0x8a, 0x06, 0x65, 0xf1, 0x5c, 0xd0, 0xee, 0x5f, 0x2c, 0xa8, 0x4b, 0x23, 0x44, 0x55, 0xd1, 0xa0, 0xac, 0x44, 0x41,
0x25, 0x0a, 0x0a, 0xf1, 0x84, 0x8c, 0x2f, 0xca, 0x59, 0x57, 0x50, 0x58, 0x37, 0x53, 0x79, 0x72, 0x21, 0x9e, 0x90, 0xf1, 0x45, 0x39, 0xeb, 0x0a, 0x0a, 0xeb, 0x66, 0x2a, 0x4f, 0x0e, 0x39, 0x19,
0xc8, 0xc9, 0x48, 0x92, 0x68, 0xd3, 0x58, 0xb1, 0x49, 0xd6, 0xa1, 0x02, 0x21, 0x07, 0x53, 0xfc, 0x49, 0x12, 0x6d, 0x1a, 0x2b, 0x36, 0xc9, 0x3a, 0x54, 0x20, 0xe4, 0x60, 0x8a, 0x5f, 0x72, 0x46,
0x92, 0x33, 0x92, 0x02, 0xd9, 0xdf, 0x81, 0x3d, 0xc6, 0xe7, 0xa9, 0xd3, 0xc8, 0x4f, 0x27, 0x71, 0x52, 0x20, 0xfb, 0x3b, 0xb0, 0xc7, 0xf8, 0x3c, 0x75, 0x1a, 0xf9, 0xe9, 0x24, 0x4e, 0xe6, 0xb2,
0x32, 0x97, 0xed, 0xd0, 0xf2, 0xd6, 0x70, 0x3c, 0x24, 0x05, 0x56, 0x4c, 0x71, 0xa2, 0x2d, 0xae, 0x1d, 0x5a, 0xde, 0x1a, 0x8e, 0x87, 0xa4, 0xc0, 0x8a, 0x29, 0x4e, 0xb4, 0xc5, 0x15, 0x14, 0xfb,
0xa0, 0xd8, 0x5f, 0x05, 0xc2, 0x47, 0x38, 0xef, 0xa9, 0x1c, 0xab, 0x74, 0x50, 0xd8, 0xc6, 0x58, 0xab, 0x40, 0xf8, 0x08, 0xe7, 0x3d, 0x95, 0x63, 0x95, 0x0e, 0x0a, 0xdb, 0x18, 0x0b, 0x63, 0xca,
0x18, 0x53, 0x7e, 0x5b, 0x68, 0x72, 0xa5, 0x2a, 0x84, 0x9e, 0xcf, 0xd9, 0x14, 0x0f, 0x0c, 0x39, 0x6f, 0x0b, 0x4d, 0xae, 0x54, 0x85, 0xd0, 0xf3, 0x39, 0x9b, 0xe2, 0x81, 0x21, 0x87, 0xab, 0x9c,
0x5c, 0xe5, 0x24, 0xf7, 0x3c, 0xa6, 0x29, 0xa1, 0x29, 0x5f, 0xdb, 0x12, 0x6b, 0x15, 0x08, 0xd7, 0xe4, 0x9e, 0xc7, 0x34, 0x25, 0x34, 0xe5, 0x6b, 0x5b, 0x62, 0xad, 0x02, 0xe1, 0x5a, 0x49, 0xf2,
0x4a, 0x92, 0xdf, 0x43, 0xda, 0x5e, 0x4e, 0x62, 0x5f, 0x9f, 0xc4, 0xc9, 0x98, 0xf0, 0xbe, 0xb1, 0x7b, 0x48, 0xdb, 0xcb, 0x49, 0xec, 0xeb, 0x93, 0x38, 0x19, 0x13, 0xde, 0x37, 0x76, 0xba, 0x15,
0xd3, 0xad, 0x60, 0x5f, 0x2f, 0x00, 0x7b, 0x0f, 0x2a, 0x8c, 0x2c, 0x9d, 0x5d, 0x9e, 0x40, 0xfc, 0xec, 0xeb, 0x05, 0x60, 0xef, 0x41, 0x85, 0x91, 0xa5, 0xb3, 0xcb, 0x13, 0x88, 0x3f, 0xb5, 0xbc,
0xa9, 0xe5, 0xb5, 0xa3, 0xe7, 0x15, 0x4f, 0x81, 0x71, 0x79, 0xd2, 0xec, 0x89, 0x53, 0xa0, 0x44, 0x76, 0xf4, 0xbc, 0xe2, 0x29, 0x30, 0x2e, 0x4f, 0x9a, 0x3d, 0x71, 0x0a, 0x94, 0x88, 0xfd, 0x43,
0xec, 0x1f, 0x42, 0x7d, 0xb8, 0xc0, 0x9e, 0xc0, 0x9c, 0x1b, 0xbc, 0x2e, 0xbf, 0xb5, 0xa9, 0x2e, 0xa8, 0x0f, 0x17, 0xd8, 0x13, 0x98, 0x73, 0x83, 0xd7, 0xe5, 0xb7, 0x36, 0xd5, 0xe5, 0x3d, 0xc9,
0xef, 0x49, 0x9e, 0x63, 0x9a, 0x26, 0x6f, 0xbc, 0x7c, 0x85, 0x7d, 0x02, 0x9d, 0x78, 0x32, 0x89, 0x73, 0x4c, 0xd3, 0xe4, 0x8d, 0x97, 0xaf, 0xb0, 0x4f, 0xa0, 0x13, 0x4f, 0x26, 0x51, 0x48, 0xc9,
0x42, 0x4a, 0x4e, 0x33, 0x76, 0xce, 0xc7, 0x1e, 0x9b, 0x8f, 0x3d, 0x9f, 0x6a, 0x42, 0x86, 0x3a, 0x69, 0xc6, 0xce, 0xf9, 0xd8, 0x63, 0xf3, 0xb1, 0xe7, 0x53, 0x4d, 0xc8, 0x50, 0xe7, 0xf1, 0x56,
0x8f, 0xb7, 0xba, 0xe8, 0xce, 0x03, 0x68, 0xab, 0x0a, 0xd0, 0xc5, 0x19, 0x79, 0x23, 0xab, 0x0f, 0x17, 0xdd, 0x79, 0x00, 0x6d, 0x55, 0x01, 0xba, 0x38, 0x23, 0x6f, 0x64, 0xf5, 0xe1, 0x4f, 0x1c,
0x7f, 0xe2, 0x48, 0x7c, 0xe1, 0x47, 0x99, 0x98, 0xbc, 0x1a, 0x9e, 0x20, 0x1e, 0x98, 0x5f, 0x1a, 0x89, 0x2f, 0xfc, 0x28, 0x13, 0x93, 0x57, 0xc3, 0x13, 0xc4, 0x03, 0xf3, 0x4b, 0xc3, 0xfd, 0x8d,
0xee, 0x6f, 0x0c, 0xe8, 0xac, 0x28, 0x40, 0xee, 0xb3, 0x30, 0x8d, 0x88, 0x94, 0x20, 0x08, 0xdb, 0x01, 0x9d, 0x15, 0x05, 0xc8, 0x7d, 0x16, 0xa6, 0x11, 0x91, 0x12, 0x04, 0x61, 0xdb, 0x50, 0xed,
0x86, 0x6a, 0x9f, 0xb0, 0xb1, 0x2c, 0x5e, 0xfe, 0x5b, 0x1e, 0x82, 0x95, 0x62, 0xa8, 0x76, 0xa1, 0x13, 0x36, 0x96, 0xc5, 0xcb, 0x7f, 0xcb, 0x43, 0xb0, 0x52, 0x0c, 0xd5, 0x2e, 0xb4, 0xc3, 0xe1,
0x1d, 0x0e, 0x47, 0x28, 0x68, 0x14, 0x67, 0x34, 0xc8, 0xaf, 0xc3, 0x2a, 0x86, 0xc5, 0x13, 0x0e, 0x08, 0x05, 0x8d, 0xe2, 0x8c, 0x06, 0xf9, 0x75, 0x58, 0xc5, 0xb0, 0x78, 0xc2, 0xe1, 0xe8, 0xd0,
0x47, 0x87, 0x7e, 0x30, 0x25, 0xe2, 0xd2, 0x6a, 0x71, 0x9b, 0x74, 0xd0, 0xed, 0x43, 0xe3, 0x2c, 0x0f, 0xa6, 0x44, 0x5c, 0x5a, 0x2d, 0x6e, 0x93, 0x0e, 0xba, 0x7d, 0x68, 0x9c, 0x85, 0x0b, 0x76,
0x5c, 0xb0, 0xa3, 0x78, 0x3e, 0xc7, 0x8d, 0xd3, 0x27, 0x29, 0x4e, 0xf4, 0x06, 0xcf, 0xb4, 0xa4, 0x14, 0xcf, 0xe7, 0xb8, 0x71, 0xfa, 0x24, 0xc5, 0x89, 0xde, 0xe0, 0x99, 0x96, 0x14, 0x16, 0x49,
0xb0, 0x48, 0xfa, 0x64, 0xe2, 0x67, 0x51, 0x8a, 0xac, 0xf9, 0x96, 0x55, 0x20, 0xf7, 0x4f, 0x06, 0x9f, 0x4c, 0xfc, 0x2c, 0x4a, 0x91, 0x35, 0xdf, 0xb2, 0x0a, 0xe4, 0xfe, 0xc9, 0x80, 0x8e, 0xb8,
0x74, 0xc4, 0x5d, 0xf4, 0x98, 0xa6, 0x24, 0x41, 0xcc, 0xfe, 0x2e, 0x58, 0x7c, 0x32, 0xe3, 0xc2, 0x8b, 0x1e, 0xd3, 0x94, 0x24, 0x88, 0xd9, 0xdf, 0x05, 0x8b, 0x4f, 0x66, 0x5c, 0x58, 0xeb, 0xfe,
0x5a, 0xf7, 0xf7, 0xf5, 0xe6, 0x97, 0xbf, 0x1a, 0x78, 0x82, 0xc9, 0x3e, 0x84, 0x16, 0x06, 0xd5, 0xbe, 0xde, 0xfc, 0xf2, 0x57, 0x03, 0x4f, 0x30, 0xd9, 0x87, 0xd0, 0xc2, 0xa0, 0xfa, 0x34, 0xe5,
0xa7, 0x29, 0x1f, 0xbb, 0x4d, 0xbe, 0xa6, 0xbb, 0xbe, 0x46, 0xbf, 0xf1, 0x7a, 0xea, 0x22, 0xf4, 0x63, 0xb7, 0xc9, 0xd7, 0x74, 0xd7, 0xd7, 0xe8, 0x37, 0x5e, 0x4f, 0x5d, 0x84, 0x1e, 0x0f, 0xf3,
0x78, 0x98, 0x9f, 0x1d, 0x4a, 0xf7, 0xd0, 0x41, 0xf7, 0x8f, 0x85, 0xad, 0x4f, 0x89, 0x7f, 0x41, 0xb3, 0x43, 0xe9, 0x1e, 0x3a, 0xe8, 0xfe, 0xb1, 0xb0, 0xf5, 0x29, 0xf1, 0x2f, 0xc8, 0x7b, 0xd8,
0xde, 0xc3, 0xd6, 0x9f, 0x00, 0xf0, 0xa5, 0xc9, 0x95, 0x4c, 0x55, 0xd6, 0x6c, 0x69, 0xe9, 0x3f, 0xfa, 0x13, 0x00, 0xbe, 0x34, 0xb9, 0x92, 0xa9, 0xca, 0x9a, 0x2d, 0x2d, 0xfd, 0xa7, 0x01, 0x37,
0x0d, 0xb8, 0x21, 0x84, 0x3c, 0xa6, 0x17, 0x61, 0x4a, 0x82, 0xf7, 0xb0, 0xf5, 0x4b, 0xa8, 0x0d, 0x84, 0x90, 0xc7, 0xf4, 0x22, 0x4c, 0x49, 0xf0, 0x1e, 0xb6, 0x7e, 0x09, 0xb5, 0xe1, 0xe2, 0x4a,
0x17, 0x57, 0xb2, 0x53, 0xf2, 0xdb, 0x4f, 0xa0, 0x23, 0xd5, 0x22, 0x59, 0x0c, 0x07, 0xdb, 0x88, 0x76, 0x4a, 0x7e, 0xfb, 0x09, 0x74, 0xa4, 0x5a, 0x24, 0x8b, 0xe1, 0x60, 0x1b, 0x11, 0xab, 0x0b,
0x58, 0x5d, 0xb8, 0xee, 0x6f, 0x75, 0x93, 0xbf, 0xff, 0x30, 0x60, 0x4f, 0x48, 0xfa, 0x69, 0x38, 0xd7, 0xfd, 0xad, 0x6e, 0xf2, 0xf7, 0x1f, 0x06, 0xec, 0x09, 0x49, 0x3f, 0x0d, 0xc7, 0xb3, 0x8f,
0x9e, 0x7d, 0x64, 0x77, 0x1f, 0xc1, 0xae, 0xd0, 0x7a, 0x65, 0x6f, 0x57, 0xd6, 0x6d, 0xe9, 0xec, 0xec, 0xee, 0x23, 0xd8, 0x15, 0x5a, 0xaf, 0xec, 0xed, 0xca, 0xba, 0x2d, 0x9d, 0xfd, 0x8f, 0x01,
0x7f, 0x0c, 0xb8, 0x9d, 0x27, 0x77, 0x12, 0x1f, 0x9d, 0xe3, 0x55, 0x57, 0x78, 0x8c, 0x53, 0x37, 0xb7, 0xf3, 0xe4, 0x4e, 0xe2, 0xa3, 0x73, 0xbc, 0xea, 0x0a, 0x8f, 0x71, 0xea, 0xe6, 0x24, 0x6f,
0x27, 0x79, 0x4b, 0x16, 0x23, 0x8e, 0x82, 0x5c, 0xc3, 0xc7, 0x1f, 0x41, 0xf3, 0x24, 0xa4, 0x7e, 0xc9, 0x62, 0xc4, 0x51, 0x90, 0x6b, 0xf8, 0xf8, 0x23, 0x68, 0x9e, 0x84, 0xd4, 0x8f, 0x94, 0x9b,
0xa4, 0xdc, 0xfc, 0xde, 0xbd, 0xb8, 0x5c, 0x82, 0x1d, 0x7c, 0x90, 0xc9, 0x1e, 0x2d, 0xdf, 0x83, 0xdf, 0xbb, 0x17, 0x97, 0x4b, 0xb0, 0x83, 0x0f, 0x32, 0xd9, 0xa3, 0xe5, 0x7b, 0x50, 0x4e, 0x97,
0x72, 0xba, 0xcc, 0x93, 0xb5, 0x45, 0x9e, 0xdc, 0xbf, 0x19, 0xb0, 0xc7, 0x7f, 0x89, 0xdb, 0xc4, 0x79, 0xb2, 0xb6, 0xc8, 0x93, 0xfb, 0x37, 0x03, 0xf6, 0xf8, 0x2f, 0x71, 0x9b, 0x78, 0x9f, 0x54,
0xfb, 0xa4, 0xfa, 0x01, 0xd4, 0xe5, 0x9b, 0xd9, 0xd6, 0x71, 0xc8, 0x17, 0xe0, 0x0e, 0x96, 0x2d, 0x3f, 0x80, 0xba, 0x7c, 0x33, 0xdb, 0x3a, 0x0e, 0xf9, 0x02, 0xdc, 0xc1, 0xb2, 0x05, 0x5c, 0x25,
0xe0, 0x2a, 0x89, 0x56, 0xd6, 0x6c, 0x99, 0xe4, 0x3f, 0x18, 0x70, 0xab, 0x30, 0x5c, 0xcd, 0x31, 0xd1, 0xca, 0x9a, 0x2d, 0x93, 0xfc, 0x07, 0x03, 0x6e, 0x15, 0x86, 0xab, 0x39, 0xc6, 0x29, 0x48,
0x4e, 0x41, 0x92, 0x2c, 0x93, 0xac, 0x42, 0x65, 0x30, 0xcc, 0xab, 0xd5, 0x7d, 0xe5, 0x6a, 0x35, 0x92, 0x65, 0x92, 0x55, 0xa8, 0x0c, 0x86, 0x79, 0xb5, 0xba, 0xaf, 0x5c, 0xad, 0x26, 0xdc, 0xaf,
0xe1, 0x7e, 0x6d, 0x80, 0xf3, 0x24, 0x0e, 0x29, 0xe7, 0xe9, 0x2d, 0x16, 0x91, 0x7c, 0x72, 0x7d, 0x0d, 0x70, 0x9e, 0xc4, 0x21, 0xe5, 0x3c, 0xbd, 0xc5, 0x22, 0x92, 0x4f, 0xae, 0xef, 0x91, 0x91,
0x8f, 0x8c, 0xfc, 0x00, 0x9a, 0x52, 0x00, 0x4d, 0xa5, 0xd9, 0x97, 0x3e, 0x2c, 0x94, 0xdc, 0xe2, 0x1f, 0x40, 0x53, 0x0a, 0xa0, 0xa9, 0x34, 0xfb, 0xd2, 0x87, 0x85, 0x92, 0x5b, 0xdc, 0x40, 0x7d,
0x06, 0xea, 0xb3, 0xe2, 0xf5, 0x57, 0x52, 0xee, 0x9f, 0x0d, 0x70, 0x14, 0xa3, 0x4e, 0x93, 0x78, 0x56, 0xbc, 0xfe, 0x4a, 0xca, 0xfd, 0xb3, 0x01, 0x8e, 0x62, 0xd4, 0x69, 0x12, 0x8f, 0x09, 0x63,
0x4c, 0x18, 0xfb, 0xc8, 0xad, 0x81, 0x1b, 0xa7, 0x5c, 0x9e, 0x6b, 0xea, 0xb5, 0x99, 0x1b, 0x5d, 0x1f, 0xb9, 0x35, 0x70, 0xe3, 0x94, 0xcb, 0x73, 0x4d, 0xbd, 0x36, 0x73, 0xa3, 0xab, 0x9a, 0xd1,
0xd5, 0x8c, 0x9e, 0xc1, 0x0d, 0x71, 0x7f, 0x57, 0x2c, 0xc7, 0x39, 0xaa, 0x17, 0x88, 0xe1, 0x47, 0x33, 0xb8, 0x21, 0xee, 0xef, 0x8a, 0xe5, 0x38, 0x47, 0xf5, 0x02, 0x31, 0xfc, 0x88, 0x39, 0x3d,
0xcc, 0xe9, 0x39, 0xa9, 0x3f, 0xa8, 0xc8, 0xd7, 0xf1, 0xf2, 0x41, 0xe5, 0x2e, 0x40, 0x2f, 0x08, 0x27, 0xf5, 0x07, 0x15, 0xf9, 0x3a, 0x5e, 0x3e, 0xa8, 0xdc, 0x05, 0xe8, 0x05, 0xc1, 0x2f, 0xe2,
0x7e, 0x11, 0x27, 0x41, 0x48, 0xa7, 0x32, 0x3a, 0x0a, 0xe2, 0x3e, 0x81, 0x36, 0x4e, 0x72, 0xc5, 0x24, 0x08, 0xe9, 0x54, 0x46, 0x47, 0x41, 0xdc, 0x27, 0xd0, 0xc6, 0x49, 0xae, 0xb8, 0xef, 0x5f,
0x7d, 0xff, 0x1a, 0x6f, 0x05, 0xee, 0x2f, 0xe1, 0xce, 0x9a, 0xe1, 0xbd, 0x20, 0x90, 0xe1, 0xfe, 0xe3, 0xad, 0xc0, 0xfd, 0x25, 0xdc, 0x59, 0x33, 0xbc, 0x17, 0x04, 0x32, 0xdc, 0x5f, 0xe9, 0x9a,
0x4a, 0xd7, 0x24, 0xa3, 0xae, 0x5f, 0x6a, 0x54, 0x06, 0x4f, 0x63, 0x77, 0x5f, 0xc0, 0xdd, 0x35, 0x64, 0xd4, 0xf5, 0x4b, 0x8d, 0xca, 0xe0, 0x69, 0xec, 0xee, 0x0b, 0xb8, 0xbb, 0x26, 0x5c, 0xcf,
0xe1, 0x7a, 0x3e, 0xaf, 0xa9, 0xe0, 0x77, 0x06, 0x74, 0xa4, 0x86, 0xc2, 0xe6, 0xcf, 0xa1, 0x26, 0xe7, 0x35, 0x15, 0xfc, 0xce, 0x80, 0x8e, 0xd4, 0x50, 0xd8, 0xfc, 0x39, 0xd4, 0x04, 0x24, 0x85,
0x20, 0x29, 0xec, 0x93, 0x15, 0x61, 0xf9, 0x7b, 0xa2, 0x27, 0xd9, 0xd6, 0xf7, 0xb5, 0xb9, 0x61, 0x7d, 0xb2, 0x22, 0x2c, 0x7f, 0x4f, 0xf4, 0x24, 0xdb, 0xfa, 0xbe, 0x36, 0x37, 0xec, 0x6b, 0xfb,
0x5f, 0xdb, 0x5f, 0xac, 0x6c, 0xb7, 0x4b, 0xcb, 0x3c, 0xdf, 0x69, 0x5e, 0x5e, 0x16, 0x7d, 0x12, 0x8b, 0x95, 0xed, 0x76, 0x69, 0x99, 0xe7, 0x3b, 0xcd, 0xcb, 0xcb, 0xa2, 0x4f, 0x22, 0x92, 0x7e,
0x91, 0xf4, 0xc3, 0xf8, 0x3c, 0x84, 0x5d, 0xfe, 0x3a, 0xf7, 0xc1, 0xb2, 0xf4, 0x33, 0xd8, 0xe3, 0x18, 0x9f, 0x87, 0xb0, 0xcb, 0x5f, 0xe7, 0x3e, 0x58, 0x96, 0x7e, 0x06, 0x7b, 0x5c, 0xe0, 0x07,
0x02, 0x3f, 0xa0, 0x8d, 0x3f, 0x87, 0xdb, 0x65, 0xa0, 0xd5, 0x26, 0x78, 0x4d, 0xb9, 0xdf, 0x83, 0xb4, 0xf1, 0xe7, 0x70, 0xbb, 0x0c, 0xb4, 0xda, 0x04, 0xaf, 0x29, 0xf7, 0x7b, 0x70, 0x73, 0x44,
0x9b, 0x23, 0x12, 0x4d, 0x50, 0xea, 0xf3, 0x45, 0x50, 0x9c, 0x22, 0x6f, 0x79, 0x38, 0x7c, 0x59, 0xa2, 0x09, 0x4a, 0x7d, 0xbe, 0x08, 0x8a, 0x53, 0xe4, 0x2d, 0x0f, 0x87, 0x2f, 0x6b, 0xfc, 0x0f,
0xe3, 0x7f, 0x60, 0x7d, 0xf1, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x0b, 0x22, 0x82, 0xd3, 0xac, 0x2f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x37, 0xf4, 0xcc, 0x45, 0xd3, 0x1a, 0x00, 0x00,
0x1a, 0x00, 0x00,
} }

@ -26,7 +26,7 @@ message GroupMemberFullInfo {
string UserID = 2 ; string UserID = 2 ;
int32 roleLevel = 3; int32 roleLevel = 3;
int64 JoinTime = 4; int64 JoinTime = 4;
string NickName = 5; string Nickname = 5;
string FaceUrl = 6; string FaceUrl = 6;
int32 AppMangerLevel = 7; //if >0 int32 AppMangerLevel = 7; //if >0
int32 JoinSource = 8; int32 JoinSource = 8;

Loading…
Cancel
Save