diff --git a/internal/api_to_rpc/copy.go b/internal/api_to_rpc/copy.go index 60e9cc94a..d6bfdc802 100644 --- a/internal/api_to_rpc/copy.go +++ b/internal/api_to_rpc/copy.go @@ -7,18 +7,7 @@ import ( ) func CopyAny(from, to interface{}) { - t := reflect.ValueOf(to) - if t.Kind() == reflect.Ptr { - t = t.Elem() - } - if !t.CanSet() { - return - } - f := reflect.ValueOf(from) - if isBaseNil(f) { - return - } - copyAny(f, t) + copyAny(reflect.ValueOf(from), reflect.Indirect(reflect.ValueOf(to))) } func copyAny(from, to reflect.Value) { @@ -97,13 +86,19 @@ func getBaseZeroValue(t reflect.Type) reflect.Value { l++ t = t.Elem() } - v := reflect.Zero(t) - for i := 0; i < l; i++ { - t := reflect.New(v.Type()) - t.Elem().Set(v) - v = t + v := reflect.New(t) + if l == 0 { + v = v.Elem() + } else { + for i := 1; i < l; i++ { + t := reflect.New(v.Type()) + t.Elem().Set(v) + v = t + } } - return v + r := reflect.New(v.Type()).Elem() + r.Set(v) + return r } func isBaseNil(v reflect.Value) bool { @@ -163,15 +158,35 @@ func copySlice(from, to reflect.Value) { temp := reflect.MakeSlice(to.Type(), 0, size) elemTo := to.Type().Elem() for i := 0; i < size; i++ { - itemTo := getBaseZeroValue(elemTo) - copyAny(from.Index(i), itemTo) + var itemTo reflect.Value + if item := from.Index(i); isBaseNil(item) { + itemTo = reflect.Zero(elemTo) + } else { + itemTo = getBaseZeroValue(elemTo) + copyAny(from.Index(i), itemTo) + } temp = reflect.Append(temp, itemTo) } to.Set(temp) } func copyMap(from, to reflect.Value) { - // todo copy map + to.Set(reflect.MakeMap(to.Type())) + toTypeKey := to.Type().Key() + toTypeVal := to.Type().Elem() + for r := from.MapRange(); r.Next(); { + key := getBaseZeroValue(toTypeKey) + copyAny(r.Key(), key) + var val reflect.Value + fVal := r.Value() + if isBaseNil(fVal) { + val = reflect.Zero(toTypeVal) + } else { + val = getBaseZeroValue(toTypeVal) + copyAny(fVal, val) + } + to.SetMapIndex(key, val) + } } func toString(value reflect.Value) string { diff --git a/internal/utils/convert.go b/internal/utils/convert.go index 9ba43c73f..3d6ccf549 100644 --- a/internal/utils/convert.go +++ b/internal/utils/convert.go @@ -206,7 +206,33 @@ func (db *DBGroupRequest) convert() (*sdk.GroupRequest, error) { return dst, nil } -func UserOpenIMCopyDB(dst *imdb.User, src *open_im_sdk.UserInfo) { +type DBUser struct { + *imdb +} + +type PBUser struct { + *sdk.UserInfo +} + +func (pb *PBUser) convert() (*DBUser, error) { + dst := &DBUser{} + utils.CopyStructFields(dst, pb) + + utils.CopyStructFields(dst, src) + dst.Birth, _ = utils.TimeStringToTime(src.BirthStr) + dst.CreateTime = utils.UnixSecondToTime(int64(src.CreateTime)) + + return dst, nil +} +func (db *DBUser) convert() (*PBUser, error) { + dst := &sdk.GroupRequest{} + utils.CopyStructFields(dst, db) + dst.ReqTime = uint32(db.ReqTime.Unix()) + dst.HandleTime = uint32(db.HandledTime.Unix()) + return dst, nil +} + +func UserOpenIMCopyDB(dst *imdb.User, src *sdk.UserInfo) { utils.CopyStructFields(dst, src) dst.Birth, _ = utils.TimeStringToTime(src.BirthStr) dst.CreateTime = utils.UnixSecondToTime(int64(src.CreateTime)) diff --git a/pkg/common/db/model/user.go b/pkg/common/db/model/user.go new file mode 100644 index 000000000..8a88b99cf --- /dev/null +++ b/pkg/common/db/model/user.go @@ -0,0 +1,23 @@ +package model + +import ( + "Open_IM/pkg/common/db/mysql" + "context" +) + +type UserModel struct { + db *mysql.User +} + +func NewGroupUser(ctx context.Context) { + var userModel UserModel + userModel.db = mysql.NewUserDB() +} + +func (u *UserModel) Find(ctx context.Context, userIDs []string) (users []*mysql.User, err error) { + return u.db.Find(ctx, userIDs) +} + +func (u *UserModel) Create(ctx context.Context, users []*mysql.User) error { + return u.db.Create(ctx, users) +} diff --git a/pkg/common/db/mysql/user_model_k.go b/pkg/common/db/mysql/user_model_k.go index bb93c13c1..f529ea414 100644 --- a/pkg/common/db/mysql/user_model_k.go +++ b/pkg/common/db/mysql/user_model_k.go @@ -8,8 +8,6 @@ import ( "time" ) -var userDB *gorm.DB - type User struct { UserID string `gorm:"column:user_id;primary_key;size:64"` Nickname string `gorm:"column:name;size:255"` @@ -23,44 +21,51 @@ type User struct { AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` - status int32 `gorm:"column:status"` + status int32 `gorm:"column:status"` + DB *gorm.DB `gorm:"-" json:"-"` } -func (*User) Create(ctx context.Context, users []*User) (err error) { +func NewUserDB() *User { + var user User + user.DB = initMysqlDB(&user) + return &user +} + +func (u *User) Create(ctx context.Context, users []*User) (err error) { defer func() { trace_log.SetCtxDebug(ctx, utils.GetFuncName(1), err, "users", users) }() - err = utils.Wrap(userDB.Create(&users).Error, "") + err = utils.Wrap(u.DB.Create(&users).Error, "") return err } -func (*User) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) { +func (u *User) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) { defer func() { trace_log.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID, "args", args) }() - return utils.Wrap(userDB.Where("user_id = ?", userID).Updates(args).Error, "") + return utils.Wrap(u.DB.Where("user_id = ?", userID).Updates(args).Error, "") } -func (*User) Update(ctx context.Context, users []*User) (err error) { +func (u *User) Update(ctx context.Context, users []*User) (err error) { defer func() { trace_log.SetCtxDebug(ctx, utils.GetFuncName(1), err, "users", users) }() - return utils.Wrap(userDB.Updates(&users).Error, "") + return utils.Wrap(u.DB.Updates(&users).Error, "") } -func (*User) Find(ctx context.Context, userIDs []string) (users []*User, err error) { +func (u *User) Find(ctx context.Context, userIDs []string) (users []*User, err error) { defer func() { trace_log.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userIDs", userIDs, "users", users) }() - err = utils.Wrap(userDB.Where("user_id in (?)", userIDs).Find(&users).Error, "") + err = utils.Wrap(u.DB.Where("user_id in (?)", userIDs).Find(&users).Error, "") return users, err } -func (*User) Take(ctx context.Context, userID string) (user *User, err error) { +func (u *User) Take(ctx context.Context, userID string) (user *User, err error) { user = &User{} defer func() { trace_log.SetCtxDebug(ctx, utils.GetFuncName(1), err, "userID", userID, "user", *user) }() - err = utils.Wrap(userDB.Where("user_id = ?", userID).Take(&user).Error, "") + err = utils.Wrap(u.DB.Where("user_id = ?", userID).Take(&user).Error, "") return user, err } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index b049ac507..0ad75caa8 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -33,7 +33,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{0} + return fileDescriptor_ws_3742fee9e21f6bba, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -101,7 +101,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{1} + return fileDescriptor_ws_3742fee9e21f6bba, []int{1} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -259,7 +259,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{2} + return fileDescriptor_ws_3742fee9e21f6bba, []int{2} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -364,7 +364,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{3} + return fileDescriptor_ws_3742fee9e21f6bba, []int{3} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -483,7 +483,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{4} + return fileDescriptor_ws_3742fee9e21f6bba, []int{4} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -550,7 +550,7 @@ type UserInfo struct { CreateTime uint32 `protobuf:"varint,9,opt,name=createTime" json:"createTime,omitempty"` AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` - BirthStr string `protobuf:"bytes,12,opt,name=birthStr" json:"birthStr,omitempty"` + Birthday int64 `protobuf:"varint,13,opt,name=birthday" json:"birthday,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -560,7 +560,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{5} + return fileDescriptor_ws_3742fee9e21f6bba, []int{5} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -657,11 +657,11 @@ func (m *UserInfo) GetGlobalRecvMsgOpt() int32 { return 0 } -func (m *UserInfo) GetBirthStr() string { +func (m *UserInfo) GetBirthday() int64 { if m != nil { - return m.BirthStr + return m.Birthday } - return "" + return 0 } type FriendInfo struct { @@ -681,7 +681,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{6} + return fileDescriptor_ws_3742fee9e21f6bba, []int{6} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -766,7 +766,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{7} + return fileDescriptor_ws_3742fee9e21f6bba, []int{7} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -849,7 +849,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{8} + return fileDescriptor_ws_3742fee9e21f6bba, []int{8} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -971,7 +971,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{9} + return fileDescriptor_ws_3742fee9e21f6bba, []int{9} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1116,7 +1116,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{10} + return fileDescriptor_ws_3742fee9e21f6bba, []int{10} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1228,7 +1228,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{11} + return fileDescriptor_ws_3742fee9e21f6bba, []int{11} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1349,7 +1349,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{12} + return fileDescriptor_ws_3742fee9e21f6bba, []int{12} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1430,7 +1430,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{13} + return fileDescriptor_ws_3742fee9e21f6bba, []int{13} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1476,7 +1476,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{14} + return fileDescriptor_ws_3742fee9e21f6bba, []int{14} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1525,7 +1525,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{15} + return fileDescriptor_ws_3742fee9e21f6bba, []int{15} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1584,7 +1584,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{16} + return fileDescriptor_ws_3742fee9e21f6bba, []int{16} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1622,7 +1622,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{17} + return fileDescriptor_ws_3742fee9e21f6bba, []int{17} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1663,7 +1663,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{18} + return fileDescriptor_ws_3742fee9e21f6bba, []int{18} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1724,7 +1724,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{19} + return fileDescriptor_ws_3742fee9e21f6bba, []int{19} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1777,7 +1777,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{20} + return fileDescriptor_ws_3742fee9e21f6bba, []int{20} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1826,7 +1826,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{21} + return fileDescriptor_ws_3742fee9e21f6bba, []int{21} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1894,7 +1894,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{22} + return fileDescriptor_ws_3742fee9e21f6bba, []int{22} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1967,7 +1967,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{23} + return fileDescriptor_ws_3742fee9e21f6bba, []int{23} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2156,7 +2156,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{24} + return fileDescriptor_ws_3742fee9e21f6bba, []int{24} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2224,7 +2224,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{25} + return fileDescriptor_ws_3742fee9e21f6bba, []int{25} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2265,7 +2265,7 @@ func (m *TipsComm) GetJsonDetail() string { return "" } -// OnGroupCreated() +// OnGroupCreated() type GroupCreatedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2281,7 +2281,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{26} + return fileDescriptor_ws_3742fee9e21f6bba, []int{26} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2336,7 +2336,7 @@ func (m *GroupCreatedTips) GetGroupOwnerUser() *GroupMemberFullInfo { return nil } -// OnGroupInfoSet() +// OnGroupInfoSet() type GroupInfoSetTips struct { OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser" json:"opUser,omitempty"` MuteTime int64 `protobuf:"varint,2,opt,name=muteTime" json:"muteTime,omitempty"` @@ -2350,7 +2350,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{27} + return fileDescriptor_ws_3742fee9e21f6bba, []int{27} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2391,7 +2391,7 @@ func (m *GroupInfoSetTips) GetGroup() *GroupInfo { return nil } -// OnJoinGroupApplication() +// OnJoinGroupApplication() type JoinGroupApplicationTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant" json:"applicant,omitempty"` @@ -2405,7 +2405,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{28} + return fileDescriptor_ws_3742fee9e21f6bba, []int{28} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2446,7 +2446,8 @@ func (m *JoinGroupApplicationTips) GetReqMsg() string { return "" } -// OnQuitGroup() +// OnQuitGroup() +// // Actively leave the group type MemberQuitTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` @@ -2461,7 +2462,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{29} + return fileDescriptor_ws_3742fee9e21f6bba, []int{29} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2502,7 +2503,7 @@ func (m *MemberQuitTips) GetOperationTime() int64 { return 0 } -// OnApplicationGroupAccepted() +// OnApplicationGroupAccepted() type GroupApplicationAcceptedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2517,7 +2518,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{30} + return fileDescriptor_ws_3742fee9e21f6bba, []int{30} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2565,7 +2566,7 @@ func (m *GroupApplicationAcceptedTips) GetReceiverAs() int32 { return 0 } -// OnApplicationGroupRejected() +// OnApplicationGroupRejected() type GroupApplicationRejectedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2580,7 +2581,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{31} + return fileDescriptor_ws_3742fee9e21f6bba, []int{31} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2628,7 +2629,7 @@ func (m *GroupApplicationRejectedTips) GetReceiverAs() int32 { return 0 } -// OnTransferGroupOwner() +// OnTransferGroupOwner() type GroupOwnerTransferredTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2643,7 +2644,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{32} + return fileDescriptor_ws_3742fee9e21f6bba, []int{32} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2691,7 +2692,7 @@ func (m *GroupOwnerTransferredTips) GetOperationTime() int64 { return 0 } -// OnMemberKicked() +// OnMemberKicked() type MemberKickedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2706,7 +2707,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{33} + return fileDescriptor_ws_3742fee9e21f6bba, []int{33} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2754,7 +2755,7 @@ func (m *MemberKickedTips) GetOperationTime() int64 { return 0 } -// OnMemberInvited() +// OnMemberInvited() type MemberInvitedTips struct { Group *GroupInfo `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"` OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser" json:"opUser,omitempty"` @@ -2769,7 +2770,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{34} + return fileDescriptor_ws_3742fee9e21f6bba, []int{34} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2831,7 +2832,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{35} + return fileDescriptor_ws_3742fee9e21f6bba, []int{35} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2885,7 +2886,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{36} + return fileDescriptor_ws_3742fee9e21f6bba, []int{36} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2941,7 +2942,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{37} + return fileDescriptor_ws_3742fee9e21f6bba, []int{37} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -3010,7 +3011,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{38} + return fileDescriptor_ws_3742fee9e21f6bba, []int{38} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3071,7 +3072,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{39} + return fileDescriptor_ws_3742fee9e21f6bba, []int{39} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3125,7 +3126,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{40} + return fileDescriptor_ws_3742fee9e21f6bba, []int{40} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3180,7 +3181,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{41} + return fileDescriptor_ws_3742fee9e21f6bba, []int{41} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3240,7 +3241,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{42} + return fileDescriptor_ws_3742fee9e21f6bba, []int{42} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3287,7 +3288,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{43} + return fileDescriptor_ws_3742fee9e21f6bba, []int{43} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3340,7 +3341,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{44} + return fileDescriptor_ws_3742fee9e21f6bba, []int{44} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3386,7 +3387,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{45} + return fileDescriptor_ws_3742fee9e21f6bba, []int{45} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3426,7 +3427,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{46} + return fileDescriptor_ws_3742fee9e21f6bba, []int{46} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3473,7 +3474,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{47} + return fileDescriptor_ws_3742fee9e21f6bba, []int{47} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3521,7 +3522,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{48} + return fileDescriptor_ws_3742fee9e21f6bba, []int{48} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3574,7 +3575,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{49} + return fileDescriptor_ws_3742fee9e21f6bba, []int{49} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3612,7 +3613,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{50} + return fileDescriptor_ws_3742fee9e21f6bba, []int{50} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3650,7 +3651,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{51} + return fileDescriptor_ws_3742fee9e21f6bba, []int{51} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3688,7 +3689,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{52} + return fileDescriptor_ws_3742fee9e21f6bba, []int{52} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3727,7 +3728,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{53} + return fileDescriptor_ws_3742fee9e21f6bba, []int{53} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3768,7 +3769,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{54} + return fileDescriptor_ws_3742fee9e21f6bba, []int{54} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3822,7 +3823,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{55} + return fileDescriptor_ws_3742fee9e21f6bba, []int{55} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3877,7 +3878,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{56} + return fileDescriptor_ws_3742fee9e21f6bba, []int{56} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3931,7 +3932,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{57} + return fileDescriptor_ws_3742fee9e21f6bba, []int{57} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3965,52 +3966,6 @@ func (m *RequestPagination) GetShowNumber() int32 { return 0 } -type ResponsePagination struct { - CurrentPage int32 `protobuf:"varint,5,opt,name=CurrentPage" json:"CurrentPage,omitempty"` - ShowNumber int32 `protobuf:"varint,6,opt,name=ShowNumber" json:"ShowNumber,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } -func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } -func (*ResponsePagination) ProtoMessage() {} -func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{58} -} -func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) -} -func (m *ResponsePagination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResponsePagination.Marshal(b, m, deterministic) -} -func (dst *ResponsePagination) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResponsePagination.Merge(dst, src) -} -func (m *ResponsePagination) XXX_Size() int { - return xxx_messageInfo_ResponsePagination.Size(m) -} -func (m *ResponsePagination) XXX_DiscardUnknown() { - xxx_messageInfo_ResponsePagination.DiscardUnknown(m) -} - -var xxx_messageInfo_ResponsePagination proto.InternalMessageInfo - -func (m *ResponsePagination) GetCurrentPage() int32 { - if m != nil { - return m.CurrentPage - } - return 0 -} - -func (m *ResponsePagination) GetShowNumber() int32 { - if m != nil { - return m.ShowNumber - } - return 0 -} - // /////////////////signal////////////// type SignalReq struct { // Types that are valid to be assigned to Payload: @@ -4034,7 +3989,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{59} + return fileDescriptor_ws_3742fee9e21f6bba, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4423,7 +4378,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{60} + return fileDescriptor_ws_3742fee9e21f6bba, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4753,7 +4708,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{61} + return fileDescriptor_ws_3742fee9e21f6bba, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4863,7 +4818,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{62} + return fileDescriptor_ws_3742fee9e21f6bba, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4918,7 +4873,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{63} + return fileDescriptor_ws_3742fee9e21f6bba, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4980,7 +4935,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{64} + return fileDescriptor_ws_3742fee9e21f6bba, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -5042,7 +4997,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{65} + return fileDescriptor_ws_3742fee9e21f6bba, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5104,7 +5059,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{66} + return fileDescriptor_ws_3742fee9e21f6bba, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5166,7 +5121,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{67} + return fileDescriptor_ws_3742fee9e21f6bba, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5224,7 +5179,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{68} + return fileDescriptor_ws_3742fee9e21f6bba, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5259,7 +5214,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{69} + return fileDescriptor_ws_3742fee9e21f6bba, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5327,7 +5282,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{70} + return fileDescriptor_ws_3742fee9e21f6bba, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5381,7 +5336,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{71} + return fileDescriptor_ws_3742fee9e21f6bba, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5432,7 +5387,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{72} + return fileDescriptor_ws_3742fee9e21f6bba, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5467,7 +5422,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{73} + return fileDescriptor_ws_3742fee9e21f6bba, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5532,7 +5487,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{74} + return fileDescriptor_ws_3742fee9e21f6bba, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5565,7 +5520,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{75} + return fileDescriptor_ws_3742fee9e21f6bba, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5619,7 +5574,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{76} + return fileDescriptor_ws_3742fee9e21f6bba, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5673,7 +5628,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{77} + return fileDescriptor_ws_3742fee9e21f6bba, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5729,7 +5684,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{78} + return fileDescriptor_ws_3742fee9e21f6bba, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5784,7 +5739,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{79} + return fileDescriptor_ws_3742fee9e21f6bba, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5844,7 +5799,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{80} + return fileDescriptor_ws_3742fee9e21f6bba, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5892,7 +5847,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{81} + return fileDescriptor_ws_3742fee9e21f6bba, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5952,7 +5907,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{82} + return fileDescriptor_ws_3742fee9e21f6bba, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5998,7 +5953,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{83} + return fileDescriptor_ws_3742fee9e21f6bba, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -6044,7 +5999,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{84} + return fileDescriptor_ws_3742fee9e21f6bba, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6094,7 +6049,7 @@ func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } func (*ExtendMsgSet) ProtoMessage() {} func (*ExtendMsgSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{85} + return fileDescriptor_ws_3742fee9e21f6bba, []int{84} } func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) @@ -6171,7 +6126,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{86} + return fileDescriptor_ws_3742fee9e21f6bba, []int{85} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -6239,7 +6194,7 @@ func (m *KeyValue) Reset() { *m = KeyValue{} } func (m *KeyValue) String() string { return proto.CompactTextString(m) } func (*KeyValue) ProtoMessage() {} func (*KeyValue) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_4a3641e8ee2a146d, []int{87} + return fileDescriptor_ws_3742fee9e21f6bba, []int{86} } func (m *KeyValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValue.Unmarshal(m, b) @@ -6343,7 +6298,6 @@ func init() { proto.RegisterType((*ConversationSetPrivateTips)(nil), "server_api_params.ConversationSetPrivateTips") proto.RegisterType((*DeleteMessageTips)(nil), "server_api_params.DeleteMessageTips") proto.RegisterType((*RequestPagination)(nil), "server_api_params.RequestPagination") - proto.RegisterType((*ResponsePagination)(nil), "server_api_params.ResponsePagination") proto.RegisterType((*SignalReq)(nil), "server_api_params.SignalReq") proto.RegisterType((*SignalResp)(nil), "server_api_params.SignalResp") proto.RegisterType((*InvitationInfo)(nil), "server_api_params.InvitationInfo") @@ -6377,10 +6331,10 @@ func init() { proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_4a3641e8ee2a146d) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_3742fee9e21f6bba) } -var fileDescriptor_ws_4a3641e8ee2a146d = []byte{ - // 4131 bytes of a gzipped FileDescriptorProto +var fileDescriptor_ws_3742fee9e21f6bba = []byte{ + // 4106 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0xc9, 0x5a, 0xdb, 0x3d, 0x17, 0x7b, 0xbe, 0xf1, 0x65, 0xdc, 0x49, 0xbc, 0xb3, 0x3e, 0xd9, 0x60, 0x7a, 0xa3, 0xb0, 0x84, 0xac, 0x03, 0xd9, 0x73, 0x0e, 0x9c, 0x3d, 0x7b, 0x82, 0x7c, 0x49, 0x1c, 0x9f, @@ -6432,212 +6386,210 @@ var fileDescriptor_ws_4a3641e8ee2a146d = []byte{ 0x3a, 0x62, 0xde, 0x9f, 0x37, 0x10, 0xa0, 0x58, 0x32, 0x30, 0x6d, 0x74, 0x79, 0xc3, 0x40, 0x80, 0x2b, 0x34, 0x9b, 0x7a, 0x48, 0x5e, 0x0a, 0x1a, 0x85, 0xa5, 0xa0, 0x18, 0x41, 0x50, 0x1a, 0x41, 0xd7, 0xa1, 0xd5, 0x77, 0xbc, 0x03, 0xd3, 0x31, 0x48, 0xef, 0xb4, 0x13, 0xf6, 0xf7, 0xfc, 0x88, - 0xb9, 0xbb, 0x66, 0x14, 0xf0, 0xd4, 0x3e, 0x4c, 0xc4, 0x6e, 0x14, 0x70, 0x77, 0xa7, 0xb0, 0xfe, - 0x3f, 0x0a, 0x00, 0xa6, 0x1d, 0x33, 0x71, 0x6e, 0x2d, 0x53, 0x8a, 0x6b, 0xd9, 0x32, 0xd4, 0x03, - 0x32, 0x30, 0x83, 0xe3, 0x24, 0xd5, 0x10, 0xca, 0x29, 0x56, 0x29, 0x28, 0xf6, 0x5d, 0x80, 0x43, - 0x36, 0x0f, 0xe5, 0xc3, 0x4c, 0x4e, 0x0b, 0x43, 0xa1, 0x13, 0x59, 0x4b, 0xbc, 0x6d, 0x08, 0xc3, - 0x69, 0x1e, 0x9b, 0x96, 0xc5, 0xd3, 0xa5, 0x86, 0x79, 0x9c, 0x22, 0x4a, 0xb2, 0xa5, 0x3e, 0x22, - 0x5b, 0x66, 0xd2, 0xe0, 0xfa, 0x6f, 0x05, 0x1a, 0x1b, 0x8e, 0xd9, 0x3b, 0x9e, 0x50, 0x75, 0x59, - 0x45, 0xb5, 0xa0, 0xe2, 0x36, 0xcc, 0x1f, 0x50, 0x76, 0x89, 0x0a, 0xcc, 0x0a, 0xcd, 0x5b, 0x3f, - 0x58, 0xa2, 0xa5, 0x9c, 0x5c, 0x86, 0x4c, 0x27, 0xab, 0x5b, 0x1d, 0xaf, 0x6e, 0x6d, 0x84, 0xba, - 0xe9, 0x7a, 0xa1, 0xff, 0x76, 0x05, 0xe6, 0x58, 0x59, 0x35, 0xc8, 0x49, 0x4c, 0xc2, 0x48, 0xfb, - 0x1e, 0xcc, 0xc6, 0x89, 0xa8, 0xca, 0xa4, 0xa2, 0xa6, 0x24, 0xda, 0x07, 0x7c, 0x3d, 0x64, 0xf4, - 0x2a, 0xa3, 0xbf, 0x5c, 0x42, 0x9f, 0x2e, 0xb0, 0x46, 0x36, 0x9c, 0xae, 0x84, 0x47, 0xa6, 0x6b, - 0x39, 0xc4, 0x20, 0x61, 0xec, 0x44, 0xbc, 0x36, 0x4b, 0x38, 0x8c, 0xb4, 0x13, 0xda, 0x1d, 0x56, - 0x93, 0x48, 0xa3, 0x10, 0xb5, 0x0e, 0x8e, 0xa3, 0x9f, 0x50, 0xf5, 0x0c, 0x41, 0x13, 0x3e, 0x20, - 0x27, 0xcc, 0x43, 0x98, 0x9e, 0x09, 0x98, 0xcd, 0xc9, 0xad, 0x86, 0x81, 0x20, 0xe1, 0xa8, 0x8b, - 0x11, 0x66, 0x0c, 0xb0, 0x11, 0x13, 0x30, 0x85, 0x3e, 0x4c, 0x2e, 0xe4, 0x50, 0x28, 0xe4, 0x85, - 0x72, 0xdb, 0x2c, 0x2b, 0xb7, 0xff, 0x5c, 0x81, 0x79, 0x4c, 0xc2, 0xc4, 0x35, 0x57, 0x68, 0xb6, - 0x78, 0x03, 0x29, 0x16, 0x05, 0x0c, 0xd5, 0x85, 0x42, 0xbb, 0x72, 0xd9, 0x93, 0x70, 0x34, 0xa0, - 0x29, 0x7c, 0x57, 0x2a, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x5b, 0x2c, 0x83, 0x02, 0x86, 0x16, 0x8e, - 0xc8, 0x93, 0x62, 0x2c, 0x85, 0x29, 0x6d, 0xe4, 0xa5, 0xf3, 0x63, 0x94, 0x09, 0x18, 0xea, 0xa5, - 0xc8, 0x4b, 0xe6, 0x46, 0x53, 0x67, 0x08, 0xe4, 0xcc, 0xe7, 0xc5, 0xe5, 0x2f, 0x85, 0x0b, 0xb1, - 0xd1, 0x18, 0x19, 0x1b, 0x20, 0xc5, 0x86, 0x9c, 0xa2, 0xcd, 0x42, 0x8a, 0x5e, 0x85, 0x79, 0xe4, - 0x93, 0x5b, 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xf3, 0xf9, 0x08, 0x93, 0x63, 0x64, 0x61, 0x48, 0x8c, - 0x2c, 0xa6, 0x79, 0xf7, 0x27, 0x2a, 0xc0, 0x16, 0xf1, 0xcd, 0x20, 0x1a, 0x10, 0x37, 0xc2, 0xad, - 0x4f, 0x02, 0xa5, 0xce, 0x95, 0x70, 0xe2, 0xaa, 0xa5, 0xca, 0xab, 0x96, 0x06, 0x55, 0x66, 0x70, - 0xf4, 0x26, 0xfb, 0x9b, 0x1a, 0xd3, 0x37, 0x03, 0xe4, 0x86, 0xa9, 0x92, 0xc2, 0x74, 0x55, 0xf2, - 0x02, 0x8b, 0xaf, 0x63, 0x35, 0x03, 0x01, 0x5a, 0x42, 0xb2, 0xf9, 0xd8, 0x2e, 0xa0, 0x8e, 0xab, - 0x8c, 0x8c, 0x1d, 0xbb, 0x71, 0xb9, 0x0e, 0xad, 0x30, 0x3e, 0xc8, 0x94, 0xdb, 0x8d, 0x07, 0x3c, - 0x69, 0x0a, 0x78, 0x6a, 0x54, 0xdc, 0xd1, 0xd0, 0x41, 0xb8, 0xf0, 0x65, 0x88, 0x7c, 0x27, 0xa3, - 0xff, 0xbd, 0x0a, 0xad, 0xbd, 0xa0, 0x6f, 0xba, 0xf6, 0xcf, 0xa4, 0x1d, 0xfb, 0x54, 0x0d, 0xc0, - 0x2a, 0x34, 0x89, 0xdb, 0x77, 0xec, 0xf0, 0x68, 0x37, 0xb3, 0x9b, 0x88, 0x12, 0x8d, 0x5d, 0x1d, - 0xd6, 0x22, 0xd4, 0xa4, 0x16, 0x61, 0x19, 0xea, 0x03, 0xef, 0xc0, 0x76, 0x92, 0xb8, 0xe7, 0x10, - 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, 0xb2, 0xb6, 0x61, 0xb6, 0xb4, 0x6d, - 0x68, 0x88, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, 0xd5, 0x4c, 0xeb, 0xd0, 0xa8, 0x25, - 0xfe, 0x6f, 0x14, 0x68, 0x65, 0xae, 0xc0, 0x9e, 0x7a, 0xa8, 0x29, 0xf3, 0xd1, 0xa9, 0x96, 0x44, - 0x67, 0x1a, 0x53, 0x15, 0x31, 0xa6, 0x68, 0x14, 0x7a, 0xa1, 0x2d, 0x6c, 0x6c, 0x52, 0x98, 0xce, - 0xe6, 0x10, 0x53, 0x30, 0x24, 0x42, 0xc2, 0x36, 0xb6, 0x2e, 0x6d, 0x63, 0xf3, 0x2b, 0xf5, 0x5f, - 0x28, 0x70, 0x91, 0x46, 0x40, 0x41, 0x8d, 0x3d, 0x68, 0x79, 0xb9, 0x28, 0xe1, 0x4b, 0xd9, 0x3b, - 0x25, 0x4b, 0x51, 0x3e, 0xa0, 0x8c, 0x02, 0x31, 0x65, 0x68, 0xe5, 0x26, 0xe1, 0x6b, 0x5b, 0x19, - 0xc3, 0xbc, 0x3c, 0x46, 0x81, 0x58, 0xff, 0x2b, 0x05, 0x5a, 0xb8, 0x78, 0x0a, 0x35, 0xe0, 0xdc, - 0xc5, 0x7e, 0x0c, 0x17, 0xf3, 0x33, 0x3f, 0xb0, 0xc3, 0xa8, 0xad, 0xae, 0x56, 0x26, 0x15, 0xbd, - 0x94, 0x81, 0xfe, 0x47, 0x2a, 0xbc, 0xb9, 0x1f, 0x3b, 0x4e, 0x87, 0x84, 0xa1, 0xd9, 0x27, 0x1b, - 0x67, 0x5d, 0x72, 0x42, 0x3f, 0x18, 0xe4, 0x64, 0x68, 0x0c, 0xd1, 0x4e, 0x8a, 0xb5, 0x22, 0xb6, - 0xe7, 0xa6, 0x21, 0x24, 0xa2, 0x68, 0xca, 0x85, 0xc8, 0xa7, 0x5d, 0x59, 0xad, 0xd0, 0x45, 0x9a, - 0x83, 0xda, 0x4f, 0xc3, 0x1c, 0xeb, 0x12, 0xf8, 0x34, 0xed, 0x2a, 0x53, 0xe0, 0xc3, 0xd2, 0xbe, - 0xa4, 0x54, 0x2a, 0xec, 0x37, 0x38, 0x7c, 0xc7, 0x8d, 0x82, 0x33, 0x43, 0xe2, 0xb8, 0xf2, 0x29, - 0x2c, 0x15, 0x86, 0x68, 0x2d, 0xa8, 0x1c, 0x93, 0x33, 0xae, 0x07, 0xfd, 0x53, 0xfb, 0x51, 0xa8, - 0x9d, 0xd2, 0x0d, 0x2a, 0xf7, 0xfe, 0x4a, 0x89, 0x04, 0x5c, 0x66, 0x03, 0x07, 0x7e, 0xa0, 0xfe, - 0x84, 0xa2, 0xbf, 0x93, 0x2a, 0x26, 0xea, 0xa8, 0x48, 0x3a, 0xea, 0xf7, 0xa1, 0xd9, 0x09, 0xfb, - 0x5b, 0x66, 0x64, 0xb2, 0x81, 0x1f, 0x42, 0x73, 0x90, 0x81, 0x6c, 0x70, 0xf9, 0x7c, 0x9c, 0xc8, - 0x10, 0x87, 0xeb, 0x5f, 0xaa, 0xd0, 0x2e, 0x37, 0xc5, 0x54, 0x07, 0x73, 0x6b, 0x50, 0x75, 0x12, - 0xb7, 0x8c, 0x96, 0x82, 0x8d, 0xd3, 0x06, 0xd0, 0x62, 0xd6, 0x15, 0x14, 0xe2, 0x3e, 0x5b, 0x9f, - 0xd8, 0x67, 0xa1, 0x8f, 0x4e, 0x13, 0x78, 0xa0, 0xe3, 0x0a, 0xac, 0x57, 0x7a, 0x70, 0xa9, 0x74, - 0x68, 0x89, 0x03, 0xbf, 0x29, 0x3b, 0xf0, 0xca, 0x70, 0x55, 0xf2, 0x4e, 0xf4, 0x41, 0xdb, 0x26, - 0x51, 0xc7, 0x7c, 0xb6, 0xee, 0x5a, 0x1d, 0xdb, 0xed, 0x92, 0x13, 0x1a, 0xed, 0xab, 0xd0, 0xe4, - 0xc7, 0x0d, 0xa9, 0x9b, 0x1a, 0x86, 0x88, 0x1a, 0x7a, 0x0a, 0x91, 0xcb, 0x87, 0x4a, 0x21, 0x1f, - 0xf4, 0xdb, 0x30, 0x27, 0x4e, 0xc7, 0x16, 0x18, 0xf3, 0x59, 0x97, 0x9c, 0x30, 0x85, 0xe6, 0x0d, - 0x0e, 0x31, 0x3c, 0x1b, 0xc1, 0x77, 0x1f, 0x1c, 0xd2, 0xff, 0x41, 0x85, 0x0b, 0x05, 0x91, 0x43, - 0xff, 0x79, 0xf9, 0x88, 0xf1, 0x52, 0x19, 0x16, 0x2f, 0x55, 0x29, 0x5e, 0x8e, 0x61, 0x09, 0x9d, - 0x24, 0x4c, 0xdd, 0xae, 0xb1, 0x00, 0xf8, 0x5e, 0xd9, 0x66, 0xa0, 0x28, 0x24, 0xf7, 0xbd, 0x80, - 0x45, 0xe7, 0x17, 0xf9, 0xae, 0x10, 0x58, 0x2e, 0x1f, 0x5c, 0xe2, 0xfe, 0x6f, 0xc9, 0xee, 0xff, - 0x81, 0x32, 0xf7, 0x8b, 0x92, 0x08, 0xfe, 0x3f, 0x81, 0x45, 0x5a, 0x54, 0xbb, 0xc4, 0xb5, 0x3a, - 0x61, 0x9f, 0x19, 0x72, 0x15, 0x9a, 0x48, 0xdf, 0x09, 0xfb, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, - 0x3d, 0xc7, 0xa6, 0xc5, 0x93, 0x8d, 0xe0, 0x45, 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, - 0x86, 0x5a, 0xb7, 0x62, 0xa4, 0xb0, 0xfe, 0xe7, 0x75, 0x98, 0xe1, 0xd1, 0xc8, 0x16, 0x45, 0xba, - 0x1f, 0x4f, 0xcb, 0x2a, 0x42, 0xd8, 0xf3, 0xf6, 0x4e, 0xb3, 0xf0, 0x42, 0x48, 0x3c, 0x16, 0xab, - 0xc8, 0xc7, 0x62, 0x39, 0x99, 0xaa, 0x45, 0x99, 0x72, 0x7a, 0xd5, 0x8a, 0x7a, 0xd1, 0x16, 0x8f, - 0x75, 0x3d, 0xfb, 0x8e, 0x19, 0x1d, 0x7a, 0xc1, 0x80, 0x6f, 0xaf, 0x6b, 0x46, 0x01, 0x4f, 0xdb, - 0x4a, 0xc4, 0xa5, 0xfb, 0x02, 0x5c, 0xc2, 0x73, 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, - 0xf9, 0x88, 0x8c, 0x44, 0xd9, 0xc2, 0xd0, 0xf6, 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, - 0xcd, 0x07, 0x61, 0xff, 0x6e, 0xe0, 0x0d, 0xf8, 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, - 0xdd, 0x2d, 0x9e, 0x8c, 0x88, 0x28, 0x4a, 0xcb, 0x41, 0xd6, 0x30, 0xcd, 0x19, 0x09, 0x48, 0x63, - 0x29, 0x24, 0x27, 0xbc, 0xb1, 0xa7, 0x7f, 0x4a, 0x9e, 0x5b, 0x94, 0x3d, 0x97, 0xeb, 0xd4, 0x5a, - 0xec, 0xab, 0xd8, 0xa9, 0x65, 0x2d, 0xce, 0x92, 0xd4, 0xe2, 0xac, 0xc3, 0x8c, 0xe7, 0xd3, 0xf4, - 0x0f, 0xdb, 0x1a, 0x4b, 0x97, 0x1f, 0x1a, 0x5e, 0xa0, 0xd6, 0xf6, 0x70, 0x24, 0x26, 0x46, 0x42, - 0xa7, 0x3d, 0x80, 0x45, 0xef, 0xf0, 0xd0, 0xb1, 0x5d, 0xb2, 0x1f, 0x87, 0x47, 0x6c, 0x1b, 0x7e, - 0x81, 0x05, 0xbb, 0x5e, 0xd6, 0x44, 0xc8, 0x23, 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, - 0x40, 0xac, 0xc0, 0x5d, 0x64, 0x05, 0x4e, 0xc2, 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x5f, 0x62, 0x86, - 0x13, 0x51, 0xc8, 0x25, 0x32, 0x7b, 0x47, 0x84, 0x1d, 0x28, 0xb5, 0x97, 0xb1, 0x7f, 0x14, 0x71, - 0xbc, 0xbb, 0x7b, 0x33, 0xe9, 0xee, 0x56, 0x3e, 0x80, 0x39, 0x51, 0xc1, 0x92, 0x64, 0xbe, 0x28, - 0x26, 0xf3, 0xac, 0x98, 0xab, 0xbf, 0xa9, 0xc0, 0x62, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, - 0x70, 0x0e, 0x08, 0xd0, 0x9d, 0x93, 0x45, 0xc2, 0x1e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, - 0xb6, 0xd1, 0x3a, 0xcc, 0xd9, 0x7b, 0x5d, 0xca, 0xa8, 0xeb, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, - 0x38, 0xb6, 0xa5, 0xdf, 0xeb, 0x6e, 0x98, 0x56, 0x9f, 0xe0, 0x75, 0x4d, 0x8d, 0xc9, 0x24, 0x23, - 0x75, 0x0b, 0x66, 0x1f, 0xda, 0x7e, 0xb8, 0xe9, 0x0d, 0x06, 0x34, 0x04, 0xf0, 0x62, 0x8b, 0x09, - 0x34, 0x67, 0x70, 0x88, 0x5a, 0xd3, 0x22, 0x87, 0x66, 0xec, 0x44, 0x74, 0x68, 0x52, 0x32, 0x04, - 0x14, 0x3b, 0x5e, 0x08, 0x3d, 0x77, 0x0b, 0xa9, 0x51, 0x4e, 0x01, 0xa3, 0xff, 0x9d, 0x0a, 0x2d, - 0x56, 0x11, 0x37, 0x59, 0xc0, 0x59, 0x8c, 0xe8, 0x16, 0xd4, 0x58, 0x01, 0xe0, 0x1d, 0xe5, 0xe8, - 0x33, 0x19, 0x1c, 0xaa, 0xdd, 0x86, 0xba, 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xb5, 0x61, 0x44, - 0xf2, 0x91, 0xbc, 0xc1, 0xa9, 0xb4, 0xbb, 0x00, 0x83, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x52, 0x1e, - 0x02, 0x25, 0x35, 0x6e, 0xba, 0x2e, 0xa6, 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0xbb, 0xb0, 0xc0, - 0xc4, 0xde, 0x4b, 0x0e, 0xe7, 0x98, 0x0f, 0x26, 0x9f, 0x31, 0x47, 0xad, 0xff, 0x9e, 0xc2, 0xcd, - 0x48, 0xbf, 0x76, 0x09, 0xda, 0x3e, 0x33, 0x89, 0x32, 0x95, 0x49, 0x56, 0x60, 0x76, 0x10, 0x0b, - 0x67, 0x85, 0x15, 0x23, 0x85, 0x33, 0x17, 0x55, 0x26, 0x76, 0x91, 0xfe, 0xfb, 0x0a, 0xb4, 0xbf, - 0xef, 0xd9, 0x2e, 0xfb, 0xb0, 0xee, 0xfb, 0x0e, 0xbf, 0xbe, 0x99, 0xda, 0xe7, 0x3f, 0x09, 0x0d, - 0x13, 0xd9, 0xb8, 0x11, 0x77, 0xfb, 0x04, 0xe7, 0x7f, 0x19, 0x8d, 0x70, 0x08, 0x53, 0x11, 0x0f, - 0x61, 0xf4, 0x2f, 0x14, 0x58, 0x40, 0xa3, 0x7c, 0x14, 0xdb, 0xd1, 0xd4, 0xf2, 0x6d, 0xc0, 0xec, - 0x49, 0x6c, 0x47, 0x53, 0x44, 0x65, 0x4a, 0x57, 0x8c, 0xa7, 0x4a, 0x49, 0x3c, 0xe9, 0x5f, 0x2a, - 0x70, 0x39, 0x6f, 0xd6, 0xf5, 0x5e, 0x8f, 0xf8, 0x2f, 0x32, 0xa5, 0xa4, 0x43, 0xa8, 0x6a, 0xc9, - 0x21, 0x54, 0x40, 0x7a, 0xc4, 0x3e, 0x25, 0xc1, 0x7a, 0xc8, 0x77, 0xd5, 0x02, 0xa6, 0x54, 0x25, - 0x83, 0x7c, 0x4e, 0x7a, 0xaf, 0xae, 0x4a, 0xbf, 0xa0, 0xc2, 0x5b, 0xdb, 0x69, 0xe2, 0x3e, 0x0c, - 0x4c, 0x37, 0x3c, 0x24, 0x41, 0xf0, 0x02, 0xf5, 0x79, 0x00, 0xf3, 0x2e, 0x79, 0x9a, 0xc9, 0xc4, - 0xd3, 0x79, 0x52, 0x36, 0x32, 0xf1, 0x64, 0xb5, 0x4f, 0xff, 0x5f, 0x05, 0x5a, 0xc8, 0xe7, 0xbe, - 0xdd, 0x3b, 0x7e, 0x81, 0xca, 0xef, 0xc2, 0xc2, 0x31, 0x93, 0x80, 0x42, 0x53, 0x94, 0xfd, 0x1c, - 0xf5, 0x84, 0xea, 0x7f, 0xa5, 0xc0, 0x52, 0x72, 0xeb, 0x7c, 0x6a, 0xbf, 0xc8, 0x60, 0xde, 0x87, - 0x45, 0x3c, 0xc5, 0x9f, 0xd6, 0x00, 0x79, 0xf2, 0x09, 0x2d, 0xf0, 0x67, 0x0a, 0x2c, 0x22, 0xa7, - 0x3b, 0x6e, 0x44, 0x82, 0xa9, 0xf5, 0xbf, 0x07, 0x4d, 0xe2, 0x46, 0x81, 0xe9, 0x4e, 0x53, 0x61, - 0x45, 0xd2, 0x09, 0x8b, 0xec, 0x17, 0x0a, 0x68, 0x8c, 0xd5, 0x96, 0x1d, 0x0e, 0xec, 0x30, 0x7c, - 0x81, 0xae, 0x9b, 0x4c, 0xe0, 0xdf, 0x51, 0xe1, 0xa2, 0xc0, 0xa5, 0x13, 0x47, 0x2f, 0xbb, 0xc8, - 0xda, 0x16, 0x34, 0x68, 0x8f, 0x21, 0xde, 0xb1, 0x4e, 0x3a, 0x51, 0x46, 0x48, 0xbb, 0x60, 0x06, - 0x74, 0x49, 0xcf, 0x73, 0x2d, 0x2c, 0xc5, 0xf3, 0x86, 0x84, 0xa3, 0x65, 0x68, 0x45, 0x60, 0xb3, - 0x69, 0xba, 0x3d, 0xe2, 0xbc, 0x36, 0x26, 0xd2, 0xff, 0x50, 0x81, 0x05, 0x1c, 0xf2, 0xf2, 0xab, - 0xac, 0xff, 0xb1, 0xc2, 0x03, 0xf9, 0x95, 0xf1, 0x12, 0x0d, 0xaf, 0x65, 0x81, 0x8b, 0xd8, 0x97, - 0xbf, 0xbc, 0xa1, 0x75, 0x0f, 0x9a, 0xbd, 0x23, 0xd3, 0xed, 0x4f, 0x15, 0x5c, 0x22, 0xa9, 0x1e, - 0xc1, 0x9b, 0xe2, 0xa1, 0xff, 0x26, 0x7e, 0x62, 0xea, 0xbf, 0x9f, 0x53, 0x65, 0xe4, 0x1b, 0x8a, - 0xe7, 0x33, 0xfa, 0x31, 0x2c, 0xe1, 0x2d, 0xb4, 0xd0, 0x33, 0x6a, 0x6d, 0x98, 0x31, 0x2d, 0x3c, - 0xfa, 0x50, 0x18, 0x51, 0x02, 0xca, 0xaf, 0x14, 0xf8, 0x7b, 0xb8, 0xec, 0x95, 0xc2, 0x15, 0x00, - 0xd3, 0xb2, 0x1e, 0x7b, 0x81, 0x65, 0xbb, 0xc9, 0x06, 0x41, 0xc0, 0xe8, 0xdf, 0x87, 0xb9, 0xbb, - 0x81, 0x37, 0x78, 0x28, 0xdc, 0x27, 0x8f, 0xbc, 0xf1, 0x16, 0xef, 0xa2, 0x55, 0xf9, 0x2e, 0x5a, - 0xff, 0x0c, 0x2e, 0x15, 0x04, 0x67, 0xc6, 0xda, 0xc4, 0x6b, 0xf2, 0x64, 0x12, 0x1e, 0x32, 0x65, - 0x67, 0x81, 0xa2, 0x2c, 0x86, 0x44, 0xa4, 0xff, 0xbc, 0x02, 0x6f, 0x17, 0xd8, 0xaf, 0xfb, 0x7e, - 0xe0, 0x9d, 0x72, 0x9f, 0x9c, 0xc7, 0x34, 0x72, 0x73, 0xac, 0xe6, 0x9a, 0xe3, 0x72, 0x21, 0xa4, - 0x86, 0xfe, 0x6b, 0x10, 0xe2, 0x0f, 0x14, 0x58, 0xe4, 0x42, 0x58, 0x16, 0x9f, 0xf6, 0x5b, 0x50, - 0xc7, 0x87, 0x3a, 0x7c, 0xc2, 0xb7, 0x4b, 0x27, 0x4c, 0x1e, 0x18, 0x19, 0x7c, 0x70, 0x31, 0x22, - 0xd5, 0xb2, 0x8c, 0xfa, 0x4e, 0x1a, 0xec, 0x13, 0x3f, 0xa5, 0xe1, 0x04, 0xfa, 0x4f, 0x25, 0xc1, - 0xbc, 0x45, 0x1c, 0x72, 0x9e, 0x36, 0xd2, 0x1f, 0xc1, 0x02, 0x7b, 0x35, 0x94, 0xd9, 0xe0, 0x5c, - 0xd8, 0x3e, 0x86, 0x16, 0x63, 0x7b, 0xee, 0xf2, 0xa6, 0xd9, 0x41, 0xed, 0x23, 0x96, 0x92, 0x73, - 0xe1, 0xfe, 0x1e, 0x5c, 0x48, 0x6c, 0x8f, 0x2f, 0x71, 0x91, 0xf7, 0x90, 0xbb, 0x41, 0xfd, 0xb7, - 0x14, 0x58, 0xde, 0xf4, 0xdc, 0x53, 0x12, 0x84, 0xd2, 0xeb, 0x5d, 0x24, 0x91, 0xb2, 0x9f, 0x43, - 0xda, 0x1a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, 0xaa, 0xec, 0x78, 0xb2, 0xe4, 0x8b, 0xf6, 0x4d, - 0xb8, 0x14, 0x33, 0xae, 0x8f, 0xdc, 0x80, 0x98, 0x16, 0x3b, 0x8f, 0x13, 0x8a, 0x5e, 0xf9, 0x47, - 0xfd, 0x73, 0x58, 0x11, 0xe5, 0xea, 0x92, 0x68, 0x3f, 0xb0, 0x4f, 0x05, 0xd9, 0xf8, 0xd9, 0xbb, - 0x22, 0x9d, 0xbd, 0x67, 0x67, 0xf5, 0xaa, 0x74, 0x56, 0x7f, 0x19, 0x1a, 0x76, 0xc8, 0x19, 0xb0, - 0x79, 0x67, 0x8d, 0x0c, 0xa1, 0x9b, 0xb0, 0x84, 0x5e, 0xe6, 0x77, 0x61, 0x6c, 0x8a, 0x15, 0x98, - 0xc5, 0xd0, 0x4d, 0x27, 0x49, 0xe1, 0xa1, 0x37, 0x4b, 0x43, 0xef, 0x51, 0xf5, 0x2e, 0x2c, 0xf1, - 0xb7, 0x44, 0xfb, 0x66, 0xdf, 0x76, 0xb1, 0x96, 0x5f, 0x01, 0xf0, 0xcd, 0x7e, 0xf2, 0xb2, 0x11, - 0x6f, 0x04, 0x05, 0x0c, 0xfd, 0x1e, 0x1e, 0x79, 0x4f, 0xf9, 0x77, 0x15, 0xbf, 0x67, 0x18, 0xfd, - 0x63, 0xd0, 0x0c, 0x12, 0xfa, 0x9e, 0x1b, 0x12, 0x81, 0xeb, 0x2a, 0x34, 0x37, 0xe3, 0x20, 0x20, - 0x2e, 0x9d, 0x2a, 0x79, 0x9e, 0x27, 0xa2, 0x28, 0xdf, 0x6e, 0xc6, 0x17, 0x6f, 0x0f, 0x04, 0x8c, - 0xfe, 0x6f, 0x75, 0x68, 0x74, 0xed, 0xbe, 0x6b, 0x3a, 0x06, 0x39, 0xd1, 0x3e, 0x84, 0x3a, 0xee, - 0x8c, 0x78, 0x40, 0x96, 0x9d, 0x66, 0xe3, 0x68, 0xdc, 0x02, 0x1a, 0xe4, 0xe4, 0xde, 0x1b, 0x06, - 0xa7, 0xd1, 0x3e, 0x4a, 0x5e, 0x5c, 0xed, 0xe0, 0x49, 0x19, 0x5f, 0x26, 0x7f, 0x78, 0x0c, 0x13, - 0x3e, 0x1a, 0x79, 0xc9, 0x1c, 0xa8, 0x40, 0x3d, 0xd6, 0x39, 0xf1, 0x2a, 0x34, 0x5c, 0x20, 0x6c, - 0xb0, 0xb8, 0x40, 0x48, 0x43, 0xa9, 0x4d, 0x76, 0x96, 0xc4, 0x1b, 0x82, 0xe1, 0xd4, 0x78, 0xe4, - 0xc4, 0xa9, 0x91, 0x86, 0x52, 0x1f, 0xc5, 0x6e, 0xff, 0x91, 0xcf, 0x8f, 0x38, 0x87, 0x53, 0xdf, - 0x63, 0xc3, 0x38, 0x35, 0xd2, 0x50, 0xea, 0x80, 0xad, 0x11, 0xcc, 0xe8, 0xa3, 0xa8, 0x71, 0x29, - 0xe1, 0xd4, 0x48, 0xa3, 0x7d, 0x02, 0xad, 0x3e, 0x89, 0x0c, 0xcf, 0x1b, 0x6c, 0x9c, 0x6d, 0xf3, - 0x1b, 0x26, 0x7c, 0x60, 0x7e, 0x63, 0x28, 0x9f, 0xed, 0x1c, 0x01, 0x72, 0x2c, 0xf0, 0xd1, 0x7e, - 0x16, 0xde, 0xf6, 0x5c, 0x8a, 0xda, 0x37, 0x83, 0xc8, 0xee, 0xd9, 0xbe, 0xe9, 0x46, 0x9b, 0x9e, - 0xeb, 0xb2, 0xf5, 0xcc, 0x20, 0x27, 0xfc, 0x09, 0xfa, 0xb7, 0x87, 0x4e, 0xb4, 0x37, 0x8a, 0xfa, - 0xde, 0x1b, 0xc6, 0x68, 0xf6, 0xda, 0x2f, 0x2b, 0xb0, 0x5a, 0x18, 0xb1, 0x65, 0x87, 0x3d, 0x51, - 0x06, 0x7c, 0xbe, 0xfe, 0x9d, 0xc9, 0x65, 0xc8, 0x31, 0xb8, 0xf7, 0x86, 0x31, 0x76, 0x12, 0x6e, - 0xe5, 0x87, 0xde, 0x31, 0x71, 0x37, 0xce, 0xe8, 0xd8, 0x9d, 0x2d, 0x76, 0x9b, 0x35, 0xc6, 0xca, - 0x12, 0x41, 0x66, 0x65, 0x09, 0xbd, 0xd1, 0x80, 0x19, 0xdf, 0x3c, 0x73, 0x3c, 0xd3, 0xd2, 0xff, - 0xb3, 0x0a, 0x90, 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x57, 0xc7, 0x26, 0x99, 0xef, 0x9c, - 0x09, 0x69, 0xd6, 0x2d, 0x4f, 0xb3, 0x1f, 0x99, 0x34, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0x6e, 0xe7, - 0x12, 0xed, 0xea, 0xd8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9d, 0x4b, 0xb5, 0xab, 0x63, 0x53, - 0x8d, 0xd3, 0xf3, 0x64, 0xbb, 0x9d, 0x4b, 0xb6, 0xab, 0x63, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, - 0x9d, 0x4b, 0xb7, 0xab, 0x63, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0xfb, 0x6c, 0x68, 0xc2, 0xad, 0x3d, - 0x47, 0xc2, 0x21, 0xcf, 0x62, 0xca, 0x7d, 0x56, 0x12, 0x68, 0xb3, 0xe3, 0xb9, 0xe7, 0x02, 0x2d, - 0xe3, 0x3e, 0x34, 0xd4, 0x7e, 0xb1, 0x02, 0x0b, 0xcc, 0xdd, 0xb8, 0x2a, 0xbb, 0x87, 0x5e, 0xf1, - 0x1d, 0xac, 0x52, 0xf2, 0x0e, 0x56, 0xbb, 0x01, 0x4b, 0x88, 0x20, 0xc2, 0x3d, 0x24, 0x2e, 0xf4, - 0xc5, 0x0f, 0xec, 0xe6, 0x35, 0x0e, 0x23, 0x6f, 0xb0, 0x65, 0x46, 0x66, 0xb2, 0xc3, 0xc8, 0x30, - 0xe2, 0xbd, 0x78, 0xb5, 0xf0, 0x73, 0x91, 0x00, 0xf5, 0xaf, 0xf1, 0xd5, 0x9c, 0x41, 0x94, 0x22, - 0xb2, 0x07, 0xc4, 0x8b, 0x23, 0xbe, 0x48, 0x25, 0x20, 0x3e, 0x5e, 0xb4, 0x6c, 0x93, 0xdd, 0x26, - 0xf3, 0x97, 0x7d, 0x29, 0x82, 0xad, 0xab, 0xd9, 0xed, 0x38, 0xff, 0x39, 0x47, 0x86, 0x99, 0xe0, - 0x26, 0x9b, 0xfd, 0x32, 0xc8, 0x8e, 0x6c, 0xf1, 0xc5, 0x5f, 0xcd, 0x90, 0x70, 0xb4, 0x0f, 0x3a, - 0x88, 0xc3, 0xb3, 0x07, 0xb6, 0x2b, 0x9a, 0xa7, 0x89, 0x7d, 0x50, 0xf1, 0x8b, 0xfe, 0xef, 0x0a, - 0x5c, 0x10, 0xea, 0x4e, 0x87, 0x44, 0x26, 0xb3, 0x8b, 0xf4, 0x6e, 0x5b, 0x79, 0xbe, 0x77, 0xdb, - 0xfb, 0xb0, 0xd8, 0x97, 0xb7, 0xe5, 0xcf, 0xb9, 0xa3, 0xce, 0x93, 0x4b, 0x8f, 0xd0, 0x2b, 0xcf, - 0xfd, 0x08, 0x5d, 0xff, 0x15, 0x15, 0x16, 0x73, 0xcd, 0xc0, 0xc8, 0x4e, 0x6a, 0x1d, 0xc0, 0x4e, - 0x43, 0x73, 0xc4, 0xad, 0x97, 0x1c, 0xbf, 0x86, 0x40, 0x54, 0x76, 0xed, 0x5e, 0x99, 0xfe, 0xda, - 0xfd, 0x1e, 0x34, 0xfd, 0xcc, 0x49, 0x23, 0x0e, 0x0d, 0x4a, 0x5c, 0x69, 0x88, 0xa4, 0xfa, 0xaf, - 0x2a, 0xb0, 0x54, 0x28, 0xd9, 0xec, 0x32, 0x9c, 0x26, 0x6a, 0x7a, 0x19, 0x4e, 0x01, 0x21, 0x03, - 0xd4, 0x7c, 0x06, 0x38, 0xf6, 0xa9, 0xf8, 0x73, 0x19, 0x0e, 0x0e, 0x89, 0xbe, 0xea, 0xd0, 0xe8, - 0xfb, 0x35, 0x15, 0x96, 0xcb, 0x1b, 0xac, 0xd7, 0xd5, 0x3f, 0xbf, 0xae, 0x40, 0x7b, 0xd8, 0x5a, - 0xf8, 0xc2, 0xdc, 0x94, 0xe5, 0x4f, 0xda, 0xbb, 0xbe, 0xae, 0xfe, 0xb9, 0x90, 0xa4, 0x8f, 0xd0, - 0x5c, 0xe8, 0x7f, 0x9a, 0xda, 0x27, 0xed, 0xce, 0x5f, 0x53, 0xfb, 0x68, 0xd7, 0xa1, 0x85, 0x6a, - 0x0a, 0x2f, 0xc1, 0x70, 0xb3, 0x57, 0xc0, 0xeb, 0x9f, 0x26, 0xb6, 0x14, 0x1a, 0xad, 0xf3, 0x8a, - 0x71, 0xfd, 0xaf, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x95, 0xf2, 0x49, 0x16, 0x69, 0x42, 0x1b, - 0x29, 0x44, 0x5a, 0xba, 0x17, 0xfb, 0xff, 0x48, 0x1b, 0x1f, 0x69, 0xa9, 0x2d, 0x85, 0x96, 0x5a, - 0xff, 0x5d, 0x05, 0xde, 0x1a, 0xba, 0x1f, 0x1d, 0x69, 0x55, 0xa1, 0x69, 0x54, 0xe5, 0xa6, 0x31, - 0xa7, 0x5e, 0x65, 0xfa, 0x42, 0xf3, 0xb7, 0x0a, 0x7c, 0x63, 0x44, 0xf3, 0x9e, 0xf3, 0xac, 0x32, - 0x8d, 0x67, 0x73, 0xc2, 0xaa, 0x43, 0x2f, 0xa6, 0xc7, 0xfa, 0x22, 0x4b, 0xcf, 0x8a, 0x98, 0x9e, - 0xfa, 0x3f, 0x2a, 0xf0, 0xce, 0x04, 0x3b, 0xf1, 0x97, 0x4b, 0x99, 0xa1, 0x4f, 0x65, 0xf5, 0x7f, - 0x52, 0xe0, 0xda, 0x64, 0x9b, 0xfa, 0x57, 0x45, 0xa3, 0xbf, 0x14, 0x73, 0x20, 0x7f, 0x5a, 0x20, - 0xb8, 0x55, 0x91, 0xaa, 0xae, 0x98, 0x1b, 0x6a, 0x2e, 0x37, 0xce, 0x2d, 0x03, 0xf2, 0x2f, 0xe2, - 0xab, 0xc5, 0x17, 0xf1, 0x1d, 0x21, 0x45, 0x8a, 0x3b, 0xd0, 0x21, 0x4b, 0x89, 0xb0, 0x64, 0xa8, - 0xf2, 0x92, 0xf1, 0x73, 0x30, 0xbf, 0x45, 0x9c, 0x4e, 0xd8, 0x4f, 0x7e, 0xbb, 0x72, 0xae, 0xa7, - 0xad, 0x13, 0xe8, 0xb3, 0x01, 0x0b, 0xa2, 0x00, 0xd3, 0xfc, 0x36, 0x43, 0x7f, 0x0c, 0x6f, 0x75, - 0x49, 0xb4, 0xee, 0xfb, 0x1b, 0x66, 0xef, 0x98, 0xba, 0xd9, 0xb5, 0xba, 0xec, 0x31, 0xf1, 0xa8, - 0x1f, 0xe3, 0xd0, 0x9d, 0x65, 0x98, 0x11, 0xf0, 0x17, 0xb4, 0x12, 0x4e, 0xdf, 0x85, 0x95, 0x61, - 0x8c, 0xa7, 0x12, 0xf4, 0xbf, 0x54, 0x98, 0xbb, 0xf3, 0x2c, 0xc2, 0xf7, 0xf3, 0x5d, 0xc2, 0x7e, - 0x81, 0x1e, 0xb2, 0x6b, 0xc1, 0xcc, 0xda, 0x09, 0x9c, 0xdf, 0x1c, 0xab, 0xc5, 0xcd, 0xf1, 0x1e, - 0x00, 0x49, 0xb8, 0x85, 0xfc, 0x91, 0xcd, 0xcd, 0x92, 0xb0, 0x13, 0xa7, 0xcc, 0x00, 0xfe, 0x6a, - 0x5a, 0x60, 0x41, 0xd7, 0x97, 0x8e, 0xf9, 0xac, 0x13, 0xf6, 0x85, 0xff, 0x2c, 0x82, 0x6f, 0x6d, - 0x0a, 0x78, 0x6a, 0xbf, 0x94, 0x72, 0x37, 0x1e, 0xf0, 0x75, 0x48, 0xc2, 0xe5, 0xde, 0x80, 0xd7, - 0xf3, 0x6f, 0xc0, 0x57, 0x3e, 0x85, 0xc5, 0x9c, 0x38, 0x25, 0x6f, 0x9c, 0x6f, 0xc9, 0x3f, 0x58, - 0xb8, 0x3c, 0x4a, 0x41, 0xf1, 0x05, 0xf4, 0x7f, 0xa8, 0xd0, 0x48, 0x3f, 0x68, 0x03, 0xb8, 0x14, - 0x10, 0x93, 0xfd, 0x2b, 0x11, 0x86, 0xa4, 0x46, 0x14, 0x7e, 0x56, 0xf4, 0xe3, 0xa3, 0xb8, 0xae, - 0x19, 0x65, 0x94, 0x68, 0xbe, 0x72, 0xae, 0x13, 0xfc, 0xea, 0x61, 0x0d, 0xb4, 0x41, 0xd8, 0xbf, - 0x6b, 0x07, 0x61, 0xd4, 0xf1, 0x2c, 0xfb, 0xf0, 0x4c, 0xb8, 0x8a, 0x29, 0xf9, 0x52, 0x78, 0x40, - 0x5e, 0x1d, 0xfa, 0x80, 0x3c, 0xfd, 0x2f, 0x11, 0x2b, 0x04, 0x56, 0x86, 0x8b, 0x5e, 0x62, 0xea, - 0x1f, 0x93, 0x4d, 0x5d, 0x76, 0x85, 0x7e, 0x9f, 0x9c, 0xe1, 0xff, 0x27, 0x11, 0x2c, 0x7d, 0x08, - 0xb3, 0x09, 0x9a, 0x1d, 0x15, 0x9d, 0xf9, 0xe4, 0x7e, 0xca, 0x38, 0x01, 0xe5, 0xb7, 0xea, 0x0d, - 0x4e, 0x4f, 0x43, 0xce, 0x31, 0x23, 0x12, 0x46, 0x42, 0xc8, 0xa1, 0x11, 0x0a, 0xf8, 0x8d, 0x1b, - 0x9f, 0x5c, 0xdf, 0xf3, 0x89, 0xfb, 0x64, 0xa7, 0x53, 0xf8, 0x3f, 0x4c, 0xdf, 0x2d, 0x48, 0x7a, - 0x50, 0x67, 0xdf, 0xdf, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0x27, 0x60, 0xfc, 0xe7, - 0x49, 0x00, 0x00, + 0xb9, 0xbb, 0x66, 0x14, 0xf0, 0xd4, 0x3e, 0x4c, 0x44, 0xcb, 0x3c, 0x63, 0x85, 0xbc, 0x62, 0xa4, + 0xb0, 0xfe, 0x3f, 0x0a, 0x00, 0xa6, 0x1d, 0x33, 0x71, 0x6e, 0x2d, 0x53, 0x8a, 0x6b, 0xd9, 0x32, + 0xd4, 0x03, 0x32, 0x30, 0x83, 0xe3, 0x24, 0xd5, 0x10, 0xca, 0x29, 0x56, 0x29, 0x28, 0xf6, 0x5d, + 0x80, 0x43, 0x36, 0x0f, 0xe5, 0xc3, 0x4c, 0x4e, 0x0b, 0x43, 0xa1, 0x13, 0x59, 0x4b, 0xbc, 0x6d, + 0x08, 0xc3, 0x69, 0x1e, 0x9b, 0x96, 0xc5, 0xd3, 0xa5, 0x86, 0x79, 0x9c, 0x22, 0x4a, 0xb2, 0xa5, + 0x3e, 0x22, 0x5b, 0x66, 0xd2, 0xe0, 0xfa, 0x6f, 0x05, 0x1a, 0x1b, 0x8e, 0xd9, 0x3b, 0x9e, 0x50, + 0x75, 0x59, 0x45, 0xb5, 0xa0, 0xe2, 0x36, 0xcc, 0x1f, 0x50, 0x76, 0x89, 0x0a, 0xcc, 0x0a, 0xcd, + 0x5b, 0x3f, 0x58, 0xa2, 0xa5, 0x9c, 0x5c, 0x86, 0x4c, 0x27, 0xab, 0x5b, 0x1d, 0xaf, 0x6e, 0x6d, + 0x84, 0xba, 0xe9, 0x7a, 0xa1, 0xff, 0x76, 0x05, 0xe6, 0x58, 0x59, 0x35, 0xc8, 0x49, 0x4c, 0xc2, + 0x48, 0xfb, 0x1e, 0xcc, 0xc6, 0x89, 0xa8, 0xca, 0xa4, 0xa2, 0xa6, 0x24, 0xda, 0x07, 0x7c, 0x3d, + 0x64, 0xf4, 0x2a, 0xa3, 0xbf, 0x5c, 0x42, 0x9f, 0x2e, 0xb0, 0x46, 0x36, 0x9c, 0xae, 0x84, 0x47, + 0xa6, 0x6b, 0x39, 0xc4, 0x20, 0x61, 0xec, 0x44, 0xbc, 0x36, 0x4b, 0x38, 0x8c, 0xb4, 0x13, 0xda, + 0x1d, 0x56, 0x93, 0x48, 0xa3, 0x10, 0xb5, 0x0e, 0x8e, 0xa3, 0x9f, 0x50, 0xf5, 0x0c, 0x41, 0x13, + 0x3e, 0x20, 0x27, 0xcc, 0x43, 0x98, 0x9e, 0x09, 0x98, 0xcd, 0xc9, 0xad, 0x86, 0x81, 0x20, 0xe1, + 0xa8, 0x8b, 0x11, 0x66, 0x0c, 0xb0, 0x11, 0x13, 0x30, 0x85, 0x3e, 0x4c, 0x2e, 0xe4, 0x50, 0x28, + 0xe4, 0x85, 0x72, 0xdb, 0x2c, 0x2b, 0xb7, 0xff, 0x5c, 0x81, 0x79, 0x4c, 0xc2, 0xc4, 0x35, 0x57, + 0x68, 0xb6, 0x78, 0x03, 0x29, 0x16, 0x05, 0x0c, 0xd5, 0x85, 0x42, 0xbb, 0x72, 0xd9, 0x93, 0x70, + 0x34, 0xa0, 0x29, 0x7c, 0x57, 0x2a, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x5b, 0x2c, 0x83, 0x02, 0x86, + 0x16, 0x8e, 0xc8, 0x93, 0x62, 0x2c, 0x85, 0x29, 0x6d, 0xe4, 0xa5, 0xf3, 0x63, 0x94, 0x09, 0x18, + 0xea, 0xa5, 0xc8, 0x4b, 0xe6, 0x46, 0x53, 0x67, 0x08, 0xe4, 0xcc, 0xe7, 0xc5, 0xe5, 0x2f, 0x85, + 0x0b, 0xb1, 0xd1, 0x18, 0x19, 0x1b, 0x20, 0xc5, 0x86, 0x9c, 0xa2, 0xcd, 0x42, 0x8a, 0x5e, 0x85, + 0x79, 0xe4, 0x93, 0x5b, 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xf3, 0xf9, 0x08, 0x93, 0x63, 0x64, 0x61, + 0x48, 0x8c, 0x2c, 0xa6, 0x79, 0xf7, 0x27, 0x2a, 0xc0, 0x16, 0xf1, 0xcd, 0x20, 0x1a, 0x10, 0x37, + 0xc2, 0xad, 0x4f, 0x02, 0xa5, 0xce, 0x95, 0x70, 0xe2, 0xaa, 0xa5, 0xca, 0xab, 0x96, 0x06, 0x55, + 0x66, 0x70, 0xf4, 0x26, 0xfb, 0x9b, 0x1a, 0xd3, 0x37, 0x03, 0xe4, 0x86, 0xa9, 0x92, 0xc2, 0x74, + 0x55, 0xf2, 0x02, 0x8b, 0xaf, 0x63, 0x35, 0x03, 0x01, 0x5a, 0x42, 0xb2, 0xf9, 0xd8, 0x2e, 0xa0, + 0x8e, 0xab, 0x8c, 0x8c, 0x1d, 0xbb, 0x71, 0xb9, 0x0e, 0xad, 0x30, 0x3e, 0xc8, 0x94, 0xdb, 0x8d, + 0x07, 0x3c, 0x69, 0x0a, 0x78, 0x6a, 0x54, 0xdc, 0xd1, 0xd0, 0x41, 0xb8, 0xf0, 0x65, 0x88, 0x7c, + 0x27, 0xa3, 0xff, 0xbd, 0x0a, 0xad, 0xbd, 0xa0, 0x6f, 0xba, 0xf6, 0xcf, 0xa4, 0x1d, 0xfb, 0x54, + 0x0d, 0xc0, 0x2a, 0x34, 0x89, 0xdb, 0x77, 0xec, 0xf0, 0x68, 0x37, 0xb3, 0x9b, 0x88, 0x12, 0x8d, + 0x5d, 0x1d, 0xd6, 0x22, 0xd4, 0xa4, 0x16, 0x61, 0x19, 0xea, 0x03, 0xef, 0xc0, 0x76, 0x92, 0xb8, + 0xe7, 0x10, 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, 0xb2, 0xb6, 0x61, 0xb6, + 0xb4, 0x6d, 0x68, 0x88, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, 0xd5, 0x4c, 0xeb, 0x50, + 0xb2, 0xc4, 0x77, 0xa3, 0x80, 0x87, 0x74, 0x0a, 0xeb, 0x7f, 0xa3, 0x40, 0x2b, 0x73, 0x05, 0xf6, + 0xd4, 0x43, 0x4d, 0x99, 0x8f, 0x4e, 0xb5, 0x24, 0x3a, 0xd3, 0x98, 0xaa, 0x88, 0x31, 0x45, 0xa3, + 0xd0, 0x0b, 0x6d, 0x61, 0x63, 0x93, 0xc2, 0x74, 0x36, 0x87, 0x98, 0x82, 0x21, 0x11, 0x12, 0xb6, + 0xb1, 0x75, 0x69, 0x1b, 0x9b, 0x5f, 0xa9, 0xff, 0x42, 0x81, 0x8b, 0x34, 0x02, 0x0a, 0x6a, 0xec, + 0x41, 0xcb, 0xcb, 0x45, 0x09, 0x5f, 0xca, 0xde, 0x29, 0x59, 0x8a, 0xf2, 0x01, 0x65, 0x14, 0x88, + 0x29, 0x43, 0x2b, 0x37, 0x09, 0x5f, 0xdb, 0xca, 0x18, 0xe6, 0xe5, 0x31, 0x0a, 0xc4, 0xfa, 0x5f, + 0x29, 0xd0, 0xc2, 0xc5, 0x53, 0xa8, 0x01, 0xe7, 0x2e, 0xf6, 0x63, 0xb8, 0x98, 0x9f, 0xf9, 0x81, + 0x1d, 0x46, 0x6d, 0x75, 0xb5, 0x32, 0xa9, 0xe8, 0xa5, 0x0c, 0xf4, 0x3f, 0x52, 0xe1, 0xcd, 0xfd, + 0xd8, 0x71, 0x3a, 0x24, 0x0c, 0xcd, 0x3e, 0xd9, 0x38, 0xeb, 0x92, 0x13, 0xfa, 0xc1, 0x20, 0x27, + 0x43, 0x63, 0x88, 0x76, 0x52, 0xac, 0x15, 0xb1, 0x3d, 0x37, 0x0d, 0x21, 0x11, 0x45, 0x53, 0x2e, + 0x44, 0x3e, 0xed, 0xca, 0x6a, 0x85, 0x2e, 0xd2, 0x1c, 0xd4, 0x7e, 0x1a, 0xe6, 0x58, 0x97, 0xc0, + 0xa7, 0x69, 0x57, 0x99, 0x02, 0x1f, 0x96, 0xf6, 0x25, 0xa5, 0x52, 0x61, 0xbf, 0xc1, 0xe1, 0x3b, + 0x6e, 0x14, 0x9c, 0x19, 0x12, 0xc7, 0x95, 0x4f, 0x61, 0xa9, 0x30, 0x44, 0x6b, 0x41, 0xe5, 0x98, + 0x9c, 0x71, 0x3d, 0xe8, 0x9f, 0xda, 0x8f, 0x42, 0xed, 0x94, 0x6e, 0x50, 0xb9, 0xf7, 0x57, 0x4a, + 0x24, 0xe0, 0x32, 0x1b, 0x38, 0xf0, 0x03, 0xf5, 0x27, 0x14, 0xfd, 0x9d, 0x54, 0x31, 0x51, 0x47, + 0x45, 0xd2, 0x51, 0xbf, 0x0f, 0xcd, 0x4e, 0xd8, 0xdf, 0x32, 0x23, 0x93, 0x0d, 0xfc, 0x10, 0x9a, + 0x83, 0x0c, 0x64, 0x83, 0xcb, 0xe7, 0xe3, 0x44, 0x86, 0x38, 0x5c, 0xff, 0x52, 0x85, 0x76, 0xb9, + 0x29, 0xa6, 0x3a, 0x98, 0x5b, 0x83, 0xaa, 0x93, 0xb8, 0x65, 0xb4, 0x14, 0x6c, 0x9c, 0x36, 0x80, + 0x16, 0xb3, 0xae, 0xa0, 0x10, 0xf7, 0xd9, 0xfa, 0xc4, 0x3e, 0x0b, 0x7d, 0x74, 0x9a, 0xc0, 0x03, + 0x1d, 0x57, 0x60, 0xbd, 0xd2, 0x83, 0x4b, 0xa5, 0x43, 0x4b, 0x1c, 0xf8, 0x4d, 0xd9, 0x81, 0x57, + 0x86, 0xab, 0x92, 0x77, 0xa2, 0x0f, 0xda, 0x36, 0x89, 0x3a, 0xe6, 0xb3, 0x75, 0xd7, 0xea, 0xd8, + 0x6e, 0x97, 0x9c, 0xd0, 0x68, 0x5f, 0x85, 0x26, 0x3f, 0x6e, 0x48, 0xdd, 0xd4, 0x30, 0x44, 0xd4, + 0xd0, 0x53, 0x88, 0x5c, 0x3e, 0x54, 0x0a, 0xf9, 0xa0, 0xdf, 0x86, 0x39, 0x71, 0x3a, 0xb6, 0xc0, + 0x98, 0xcf, 0xba, 0xe4, 0x84, 0x29, 0x34, 0x6f, 0x70, 0x88, 0xe1, 0xd9, 0x08, 0xbe, 0xfb, 0xe0, + 0x90, 0xfe, 0x0f, 0x2a, 0x5c, 0x28, 0x88, 0x1c, 0xfa, 0xcf, 0xcb, 0x47, 0x8c, 0x97, 0xca, 0xb0, + 0x78, 0xa9, 0x4a, 0xf1, 0x72, 0x0c, 0x4b, 0xe8, 0x24, 0x61, 0xea, 0x76, 0x8d, 0x05, 0xc0, 0xf7, + 0xca, 0x36, 0x03, 0x45, 0x21, 0xb9, 0xef, 0x05, 0x2c, 0x3a, 0xbf, 0xc8, 0x77, 0x85, 0xc0, 0x72, + 0xf9, 0xe0, 0x12, 0xf7, 0x7f, 0x4b, 0x76, 0xff, 0x0f, 0x94, 0xb9, 0x5f, 0x94, 0x44, 0xf0, 0xff, + 0x09, 0x2c, 0xd2, 0xa2, 0xda, 0x25, 0xae, 0xd5, 0x09, 0xfb, 0xcc, 0x90, 0xab, 0xd0, 0x44, 0xfa, + 0x4e, 0xd8, 0xcf, 0x36, 0x87, 0x02, 0x8a, 0x8e, 0xe8, 0x39, 0x36, 0x2d, 0x9e, 0x6c, 0x04, 0x2f, + 0x7a, 0x02, 0x8a, 0x2e, 0x90, 0x21, 0xe1, 0x27, 0x33, 0x15, 0xdc, 0x86, 0x27, 0xb0, 0xfe, 0xe7, + 0x75, 0x98, 0xe1, 0xd1, 0xc8, 0x16, 0x45, 0xba, 0x1f, 0x4f, 0xcb, 0x2a, 0x42, 0xd8, 0xf3, 0xf6, + 0x4e, 0xb3, 0xf0, 0x42, 0x48, 0x3c, 0x16, 0xab, 0xc8, 0xc7, 0x62, 0x39, 0x99, 0xaa, 0x45, 0x99, + 0x72, 0x7a, 0xd5, 0x8a, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0xfb, 0x8e, 0x19, 0x1d, 0x7a, 0xc1, + 0x80, 0x6f, 0xaf, 0x6b, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, 0x5c, 0xc2, 0x73, + 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, 0xc2, 0xd0, 0xf6, + 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0x07, 0x61, 0xff, 0x6e, 0xe0, 0x0d, 0xf8, + 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, 0x28, 0x4a, 0xcb, + 0x41, 0xd6, 0x30, 0xcd, 0x19, 0x09, 0x48, 0x63, 0x29, 0x24, 0x27, 0xbc, 0xb1, 0xa7, 0x7f, 0x4a, + 0x9e, 0x5b, 0x94, 0x3d, 0x97, 0xeb, 0xd4, 0x5a, 0xec, 0xab, 0xd8, 0xa9, 0x65, 0x2d, 0xce, 0x92, + 0xd4, 0xe2, 0xac, 0xc3, 0x8c, 0xe7, 0xd3, 0xf4, 0x0f, 0xdb, 0x1a, 0x4b, 0x97, 0x1f, 0x1a, 0x5e, + 0xa0, 0xd6, 0xf6, 0x70, 0x24, 0x26, 0x46, 0x42, 0xa7, 0x3d, 0x80, 0x45, 0xef, 0xf0, 0xd0, 0xb1, + 0x5d, 0xb2, 0x1f, 0x87, 0x47, 0x6c, 0x1b, 0x7e, 0x81, 0x05, 0xbb, 0x5e, 0xd6, 0x44, 0xc8, 0x23, + 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, 0x40, 0xac, 0xc0, 0x5d, 0x64, 0x05, 0x4e, 0xc2, + 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x5f, 0x62, 0x86, 0x13, 0x51, 0xc8, 0x25, 0x32, 0x7b, 0x47, 0x84, + 0x1d, 0x28, 0xb5, 0x97, 0xb1, 0x7f, 0x14, 0x71, 0xbc, 0xbb, 0x7b, 0x33, 0xe9, 0xee, 0x56, 0x3e, + 0x80, 0x39, 0x51, 0xc1, 0x92, 0x64, 0xbe, 0x28, 0x26, 0xf3, 0xac, 0x98, 0xab, 0xbf, 0xa9, 0xc0, + 0x62, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, 0x93, 0x45, 0xc2, + 0x1e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0xcc, 0xd9, 0x7b, 0x5d, 0xca, + 0xa8, 0xeb, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xeb, 0x6e, 0x98, 0x56, + 0x9f, 0xe0, 0x75, 0x4d, 0x8d, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0x66, 0x1f, 0xda, 0x7e, 0xb8, 0xe9, + 0x0d, 0x06, 0x34, 0x04, 0xf0, 0x62, 0x8b, 0x09, 0x34, 0x67, 0x70, 0x88, 0x5a, 0xd3, 0x22, 0x87, + 0x66, 0xec, 0x44, 0x74, 0x68, 0x52, 0x32, 0x04, 0x14, 0x3b, 0x5e, 0x08, 0x3d, 0x77, 0x0b, 0xa9, + 0x51, 0x4e, 0x01, 0xa3, 0xff, 0x9d, 0x0a, 0x2d, 0x56, 0x11, 0x37, 0x59, 0xc0, 0x59, 0x8c, 0xe8, + 0x16, 0xd4, 0x58, 0x01, 0xe0, 0x1d, 0xe5, 0xe8, 0x33, 0x19, 0x1c, 0xaa, 0xdd, 0x86, 0xba, 0xe7, + 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xb5, 0x61, 0x44, 0xf2, 0x91, 0xbc, 0xc1, 0xa9, 0xb4, 0xbb, 0x00, + 0x83, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x52, 0x1e, 0x02, 0x25, 0x35, 0x6e, 0xba, 0x2e, 0xa6, 0xe7, + 0xf2, 0x15, 0x43, 0x46, 0x6a, 0xbb, 0xb0, 0xc0, 0xc4, 0xde, 0x4b, 0x0e, 0xe7, 0x98, 0x0f, 0x26, + 0x9f, 0x31, 0x47, 0xad, 0xff, 0x9e, 0xc2, 0xcd, 0x48, 0xbf, 0x76, 0x09, 0xda, 0x3e, 0x33, 0x89, + 0x32, 0x95, 0x49, 0x56, 0x60, 0x76, 0x10, 0x0b, 0x67, 0x85, 0x15, 0x23, 0x85, 0x33, 0x17, 0x55, + 0x26, 0x76, 0x91, 0xfe, 0xfb, 0x0a, 0xb4, 0xbf, 0xef, 0xd9, 0x2e, 0xfb, 0xb0, 0xee, 0xfb, 0x0e, + 0xbf, 0xbe, 0x99, 0xda, 0xe7, 0x3f, 0x09, 0x0d, 0x13, 0xd9, 0xb8, 0x11, 0x77, 0xfb, 0x04, 0xe7, + 0x7f, 0x19, 0x8d, 0x70, 0x08, 0x53, 0x11, 0x0f, 0x61, 0xf4, 0x2f, 0x14, 0x58, 0x40, 0xa3, 0x7c, + 0x14, 0xdb, 0xd1, 0xd4, 0xf2, 0x6d, 0xc0, 0xec, 0x49, 0x6c, 0x47, 0x53, 0x44, 0x65, 0x4a, 0x57, + 0x8c, 0xa7, 0x4a, 0x49, 0x3c, 0xe9, 0x5f, 0x2a, 0x70, 0x39, 0x6f, 0xd6, 0xf5, 0x5e, 0x8f, 0xf8, + 0x2f, 0x32, 0xa5, 0xa4, 0x43, 0xa8, 0x6a, 0xc9, 0x21, 0x54, 0x40, 0x7a, 0xc4, 0x3e, 0x25, 0xc1, + 0x7a, 0xc8, 0x77, 0xd5, 0x02, 0xa6, 0x54, 0x25, 0x83, 0x7c, 0x4e, 0x7a, 0xaf, 0xae, 0x4a, 0xbf, + 0xa0, 0xc2, 0x5b, 0xdb, 0x69, 0xe2, 0x3e, 0x0c, 0x4c, 0x37, 0x3c, 0x24, 0x41, 0xf0, 0x02, 0xf5, + 0x79, 0x00, 0xf3, 0x2e, 0x79, 0x9a, 0xc9, 0xc4, 0xd3, 0x79, 0x52, 0x36, 0x32, 0xf1, 0x64, 0xb5, + 0x4f, 0xff, 0x5f, 0x05, 0x5a, 0xc8, 0xe7, 0xbe, 0xdd, 0x3b, 0x7e, 0x81, 0xca, 0xef, 0xc2, 0xc2, + 0x31, 0x93, 0x80, 0x42, 0x53, 0x94, 0xfd, 0x1c, 0xf5, 0x84, 0xea, 0x7f, 0xa5, 0xc0, 0x52, 0x72, + 0xeb, 0x7c, 0x6a, 0xbf, 0xc8, 0x60, 0xde, 0x87, 0x45, 0x3c, 0xc5, 0x9f, 0xd6, 0x00, 0x79, 0xf2, + 0x09, 0x2d, 0xf0, 0x67, 0x0a, 0x2c, 0x22, 0xa7, 0x3b, 0x6e, 0x44, 0x82, 0xa9, 0xf5, 0xbf, 0x07, + 0x4d, 0xe2, 0x46, 0x81, 0xe9, 0x4e, 0x53, 0x61, 0x45, 0xd2, 0x09, 0x8b, 0xec, 0x17, 0x0a, 0x68, + 0x8c, 0xd5, 0x96, 0x1d, 0x0e, 0xec, 0x30, 0x7c, 0x81, 0xae, 0x9b, 0x4c, 0xe0, 0xdf, 0x51, 0xe1, + 0xa2, 0xc0, 0xa5, 0x13, 0x47, 0x2f, 0xbb, 0xc8, 0xda, 0x16, 0x34, 0x68, 0x8f, 0x21, 0xde, 0xb1, + 0x4e, 0x3a, 0x51, 0x46, 0x48, 0xbb, 0x60, 0x06, 0x74, 0x49, 0xcf, 0x73, 0x2d, 0x2c, 0xc5, 0xf3, + 0x86, 0x84, 0xa3, 0x65, 0x68, 0x45, 0x60, 0xb3, 0x69, 0xba, 0x3d, 0xe2, 0xbc, 0x36, 0x26, 0xd2, + 0xff, 0x50, 0x81, 0x05, 0x1c, 0xf2, 0xf2, 0xab, 0xac, 0xff, 0xb1, 0xc2, 0x03, 0xf9, 0x95, 0xf1, + 0x12, 0x0d, 0xaf, 0x65, 0x81, 0x8b, 0xd8, 0x97, 0xbf, 0xbc, 0xa1, 0x75, 0x0f, 0x9a, 0xbd, 0x23, + 0xd3, 0xed, 0x4f, 0x15, 0x5c, 0x22, 0xa9, 0x1e, 0xc1, 0x9b, 0xe2, 0xa1, 0xff, 0x26, 0x7e, 0x62, + 0xea, 0xbf, 0x9f, 0x53, 0x65, 0xe4, 0x1b, 0x8a, 0xe7, 0x33, 0xfa, 0x31, 0x2c, 0xe1, 0x2d, 0xb4, + 0xd0, 0x33, 0x6a, 0x6d, 0x98, 0x31, 0x2d, 0x3c, 0xfa, 0x50, 0x18, 0x51, 0x02, 0xca, 0xaf, 0x14, + 0xf8, 0x7b, 0xb8, 0xec, 0x95, 0xc2, 0x15, 0x00, 0xd3, 0xb2, 0x1e, 0x7b, 0x81, 0x65, 0xbb, 0xc9, + 0x06, 0x41, 0xc0, 0xe8, 0xdf, 0x87, 0xb9, 0xbb, 0x81, 0x37, 0x78, 0x28, 0xdc, 0x27, 0x8f, 0xbc, + 0xf1, 0x16, 0xef, 0xa2, 0x55, 0xf9, 0x2e, 0x5a, 0xff, 0x0c, 0x2e, 0x15, 0x04, 0x67, 0xc6, 0xda, + 0xc4, 0x6b, 0xf2, 0x64, 0x12, 0x1e, 0x32, 0x65, 0x67, 0x81, 0xa2, 0x2c, 0x86, 0x44, 0xa4, 0xff, + 0xbc, 0x02, 0x6f, 0x17, 0xd8, 0xaf, 0xfb, 0x7e, 0xe0, 0x9d, 0x72, 0x9f, 0x9c, 0xc7, 0x34, 0x72, + 0x73, 0xac, 0xe6, 0x9a, 0xe3, 0x72, 0x21, 0xa4, 0x86, 0xfe, 0x6b, 0x10, 0xe2, 0x0f, 0x14, 0x58, + 0xe4, 0x42, 0x58, 0x16, 0x9f, 0xf6, 0x5b, 0x50, 0xc7, 0x87, 0x3a, 0x7c, 0xc2, 0xb7, 0x4b, 0x27, + 0x4c, 0x1e, 0x18, 0x19, 0x7c, 0x70, 0x31, 0x22, 0xd5, 0xb2, 0x8c, 0xfa, 0x4e, 0x1a, 0xec, 0x13, + 0x3f, 0xa5, 0xe1, 0x04, 0xfa, 0x4f, 0x25, 0xc1, 0xbc, 0x45, 0x1c, 0x72, 0x9e, 0x36, 0xd2, 0x1f, + 0xc1, 0x02, 0x7b, 0x35, 0x94, 0xd9, 0xe0, 0x5c, 0xd8, 0x3e, 0x86, 0x16, 0x63, 0x7b, 0xee, 0xf2, + 0xa6, 0xd9, 0x41, 0xed, 0x23, 0x96, 0x92, 0x73, 0xe1, 0xfe, 0x1e, 0x5c, 0x48, 0x6c, 0x8f, 0x2f, + 0x71, 0x91, 0xf7, 0x90, 0xbb, 0x41, 0xfd, 0xb7, 0x14, 0x58, 0xde, 0xf4, 0xdc, 0x53, 0x12, 0x84, + 0xd2, 0xeb, 0x5d, 0x24, 0x91, 0xb2, 0x9f, 0x43, 0xda, 0x1a, 0x68, 0x3d, 0x81, 0x82, 0x1f, 0x4f, + 0xaa, 0xec, 0x78, 0xb2, 0xe4, 0x8b, 0xf6, 0x4d, 0xb8, 0x14, 0x33, 0xae, 0x8f, 0xdc, 0x80, 0x98, + 0x16, 0x3b, 0x8f, 0x13, 0x8a, 0x5e, 0xf9, 0x47, 0xfd, 0x73, 0x58, 0x11, 0xe5, 0xea, 0x92, 0x68, + 0x3f, 0xb0, 0x4f, 0x05, 0xd9, 0xf8, 0xd9, 0xbb, 0x22, 0x9d, 0xbd, 0x67, 0x67, 0xf5, 0xaa, 0x74, + 0x56, 0x7f, 0x19, 0x1a, 0x76, 0xc8, 0x19, 0xb0, 0x79, 0x67, 0x8d, 0x0c, 0xa1, 0x9b, 0xb0, 0x84, + 0x5e, 0xe6, 0x77, 0x61, 0x6c, 0x8a, 0x15, 0x98, 0xc5, 0xd0, 0x4d, 0x27, 0x49, 0xe1, 0xa1, 0x37, + 0x4b, 0x43, 0xef, 0x51, 0xf5, 0x2e, 0x2c, 0xf1, 0xb7, 0x44, 0xfb, 0x66, 0xdf, 0x76, 0xb1, 0x96, + 0x5f, 0x01, 0xf0, 0xcd, 0x7e, 0xf2, 0xb2, 0x11, 0x6f, 0x04, 0x05, 0x0c, 0xfd, 0x1e, 0x1e, 0x79, + 0x4f, 0xf9, 0x77, 0x15, 0xbf, 0x67, 0x18, 0xfd, 0xdf, 0xea, 0xd0, 0xe8, 0xda, 0x7d, 0xd7, 0x74, + 0x0c, 0x72, 0xa2, 0x7d, 0x08, 0x75, 0xdc, 0xc1, 0xf0, 0xc0, 0x29, 0x3b, 0x75, 0xc6, 0xd1, 0xb8, + 0x55, 0x33, 0xc8, 0xc9, 0xbd, 0x37, 0x0c, 0x4e, 0xa3, 0x7d, 0x94, 0xbc, 0x8c, 0xda, 0xc1, 0x13, + 0x2d, 0xbe, 0x9c, 0xfd, 0xf0, 0x18, 0x26, 0x7c, 0x34, 0xf2, 0x92, 0x39, 0x50, 0x81, 0x7a, 0xac, + 0xc3, 0xe1, 0xd5, 0x62, 0xb8, 0x40, 0xd8, 0x08, 0x71, 0x81, 0x90, 0x86, 0x52, 0x9b, 0xec, 0xcc, + 0x87, 0x2f, 0xdc, 0xc3, 0xa9, 0xf1, 0x68, 0x88, 0x53, 0x23, 0x0d, 0xa5, 0x3e, 0x8a, 0xdd, 0xfe, + 0x23, 0x9f, 0x1f, 0x45, 0x0e, 0xa7, 0xbe, 0xc7, 0x86, 0x71, 0x6a, 0xa4, 0xa1, 0xd4, 0x01, 0xab, + 0xe5, 0xec, 0x6a, 0x65, 0x14, 0x35, 0x96, 0x7c, 0x4e, 0x8d, 0x34, 0xda, 0x27, 0xd0, 0xea, 0x93, + 0xc8, 0xf0, 0xbc, 0xc1, 0xc6, 0xd9, 0x36, 0xbf, 0x09, 0xc2, 0x87, 0xe0, 0x37, 0x86, 0xf2, 0xd9, + 0xce, 0x11, 0x20, 0xc7, 0x02, 0x1f, 0xed, 0x67, 0xe1, 0x6d, 0xcf, 0xa5, 0xa8, 0x7d, 0x33, 0x88, + 0xec, 0x9e, 0xed, 0x9b, 0x6e, 0xb4, 0xe9, 0xb9, 0x2e, 0x5b, 0x77, 0x0c, 0x72, 0xc2, 0x9f, 0x8a, + 0x7f, 0x7b, 0xe8, 0x44, 0x7b, 0xa3, 0xa8, 0xef, 0xbd, 0x61, 0x8c, 0x66, 0xaf, 0xfd, 0xb2, 0x02, + 0xab, 0x85, 0x11, 0x5b, 0x76, 0xd8, 0x13, 0x65, 0xc0, 0x67, 0xe6, 0xdf, 0x99, 0x5c, 0x86, 0x1c, + 0x83, 0x7b, 0x6f, 0x18, 0x63, 0x27, 0xe1, 0x56, 0x7e, 0xe8, 0x1d, 0x13, 0x77, 0xe3, 0x8c, 0x8e, + 0xdd, 0xd9, 0x62, 0xb7, 0x4e, 0x63, 0xac, 0x2c, 0x11, 0x64, 0x56, 0x96, 0xd0, 0x1b, 0x0d, 0x98, + 0xf1, 0xcd, 0x33, 0xc7, 0x33, 0x2d, 0xfd, 0x3f, 0xab, 0x00, 0x89, 0xab, 0x43, 0xd6, 0xb9, 0x4a, + 0x49, 0x76, 0x75, 0x6c, 0x92, 0xf9, 0xce, 0x99, 0x90, 0x66, 0xdd, 0xf2, 0x34, 0xfb, 0x91, 0x49, + 0xd3, 0x0c, 0xb9, 0xe5, 0x12, 0xed, 0x76, 0x2e, 0xd1, 0xae, 0x8e, 0x4d, 0x34, 0x2e, 0x14, 0x4f, + 0xb5, 0xdb, 0xb9, 0x54, 0xbb, 0x3a, 0x36, 0xd5, 0x38, 0x3d, 0x4f, 0xb6, 0xdb, 0xb9, 0x64, 0xbb, + 0x3a, 0x36, 0xd9, 0x38, 0x3d, 0x4f, 0xb7, 0xdb, 0xb9, 0x74, 0xbb, 0x3a, 0x36, 0xdd, 0x38, 0x3d, + 0x4f, 0xb8, 0xcf, 0x86, 0x26, 0xdc, 0xda, 0x73, 0x24, 0x1c, 0xf2, 0x2c, 0xa6, 0xdc, 0x67, 0x25, + 0x81, 0x36, 0x3b, 0x9e, 0x7b, 0x2e, 0xd0, 0x32, 0xee, 0x43, 0x43, 0xed, 0x17, 0x2b, 0xb0, 0xc0, + 0xdc, 0x8d, 0xab, 0xa7, 0x7b, 0xe8, 0x15, 0xdf, 0xab, 0x2a, 0x25, 0xef, 0x55, 0xb5, 0x1b, 0xb0, + 0x84, 0x08, 0x22, 0xdc, 0x17, 0xe2, 0x82, 0x5c, 0xfc, 0xc0, 0x6e, 0x48, 0xe3, 0x30, 0xf2, 0x06, + 0x5b, 0x66, 0x64, 0x26, 0x3b, 0x81, 0x0c, 0x23, 0xde, 0x5f, 0x57, 0x0b, 0x3f, 0xeb, 0x08, 0x50, + 0xff, 0x1a, 0x5f, 0x75, 0x19, 0x44, 0x29, 0x22, 0x7b, 0x40, 0xbc, 0x38, 0xe2, 0x57, 0xd1, 0x09, + 0x88, 0x8f, 0x0c, 0x2d, 0xdb, 0x64, 0xb7, 0xbe, 0xfc, 0x05, 0x5e, 0x8a, 0x60, 0xeb, 0x5f, 0x76, + 0x8b, 0xcd, 0x7f, 0x76, 0x91, 0x61, 0x26, 0xb8, 0x71, 0x66, 0xbf, 0xe0, 0xb1, 0x23, 0x5b, 0x7c, + 0x99, 0x57, 0x33, 0x24, 0x1c, 0xed, 0x57, 0x0e, 0xe2, 0xf0, 0xec, 0x81, 0xed, 0x8a, 0xe6, 0x69, + 0x62, 0xbf, 0x52, 0xfc, 0xa2, 0xff, 0xbb, 0x02, 0x17, 0x84, 0xba, 0xd3, 0x21, 0x91, 0xc9, 0xec, + 0x22, 0xbd, 0xaf, 0x56, 0x9e, 0xef, 0x7d, 0xf5, 0x3e, 0x2c, 0xf6, 0xe5, 0xed, 0xf3, 0x73, 0xee, + 0x7c, 0xf3, 0xe4, 0xd2, 0x63, 0xf1, 0xca, 0x73, 0x3f, 0x16, 0xd7, 0x7f, 0x45, 0x85, 0xc5, 0x5c, + 0x33, 0x30, 0xb2, 0xe3, 0x59, 0x07, 0xb0, 0xd3, 0xd0, 0x1c, 0x71, 0x3b, 0x25, 0xc7, 0xaf, 0x21, + 0x10, 0x95, 0x5d, 0x8f, 0x57, 0xa6, 0xbf, 0x1e, 0xbf, 0x07, 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0xcd, + 0x7d, 0x89, 0x2b, 0x0d, 0x91, 0x54, 0xff, 0x55, 0x05, 0x96, 0x0a, 0x25, 0x9b, 0x5d, 0x5a, 0xd3, + 0x44, 0x4d, 0x2f, 0xad, 0x29, 0x20, 0x64, 0x80, 0x9a, 0xcf, 0x00, 0xc7, 0x3e, 0x15, 0x7f, 0xd6, + 0xc2, 0xc1, 0x21, 0xd1, 0x57, 0x1d, 0x1a, 0x7d, 0xbf, 0xa6, 0xc2, 0x72, 0x79, 0x83, 0xf5, 0xba, + 0xfa, 0xe7, 0xd7, 0x15, 0x68, 0x0f, 0x5b, 0x0b, 0x5f, 0x98, 0x9b, 0xb2, 0xfc, 0x49, 0x7b, 0xd7, + 0xd7, 0xd5, 0x3f, 0x17, 0x92, 0xf4, 0x11, 0x9a, 0x0b, 0xfd, 0x4f, 0x53, 0xfb, 0xa4, 0xdd, 0xf9, + 0x6b, 0x6a, 0x1f, 0xed, 0x3a, 0xb4, 0x50, 0x4d, 0xe1, 0xc5, 0x16, 0xde, 0xa6, 0x16, 0xf0, 0xfa, + 0xa7, 0x89, 0x2d, 0x85, 0x46, 0xeb, 0xbc, 0x62, 0x5c, 0xff, 0x6b, 0x25, 0xf1, 0x49, 0xba, 0xe7, + 0x79, 0xa5, 0x7c, 0x92, 0x45, 0x9a, 0xd0, 0x46, 0x0a, 0x91, 0x96, 0xee, 0xc5, 0xfe, 0x3f, 0xd2, + 0xc6, 0x47, 0x5a, 0x6a, 0x4b, 0xa1, 0xa5, 0xd6, 0x7f, 0x57, 0x81, 0xb7, 0x86, 0xee, 0x47, 0x47, + 0x5a, 0x55, 0x68, 0x1a, 0x55, 0xb9, 0x69, 0xcc, 0xa9, 0x57, 0x99, 0xbe, 0xd0, 0xfc, 0xad, 0x02, + 0xdf, 0x18, 0xd1, 0xbc, 0xe7, 0x3c, 0xab, 0x4c, 0xe3, 0xd9, 0x9c, 0xb0, 0xea, 0xd0, 0x0b, 0xe4, + 0xb1, 0xbe, 0xc8, 0xd2, 0xb3, 0x22, 0xa6, 0xa7, 0xfe, 0x8f, 0x0a, 0xbc, 0x33, 0xc1, 0x4e, 0xfc, + 0xe5, 0x52, 0x66, 0xe8, 0x93, 0x56, 0xfd, 0x9f, 0x14, 0xb8, 0x36, 0xd9, 0xa6, 0xfe, 0x55, 0xd1, + 0xe8, 0x2f, 0xc5, 0x1c, 0xc8, 0x9f, 0x16, 0x08, 0x6e, 0x55, 0xa4, 0xaa, 0x2b, 0xe6, 0x86, 0x9a, + 0xcb, 0x8d, 0x73, 0xcb, 0x80, 0xfc, 0xcb, 0xf5, 0x6a, 0xf1, 0xe5, 0x7a, 0x47, 0x48, 0x91, 0xe2, + 0x0e, 0x74, 0xc8, 0x52, 0x22, 0x2c, 0x19, 0xaa, 0xbc, 0x64, 0xfc, 0x1c, 0xcc, 0x6f, 0x11, 0xa7, + 0x13, 0xf6, 0x93, 0xdf, 0x98, 0x9c, 0xeb, 0xa9, 0xe8, 0x04, 0xfa, 0x6c, 0xc0, 0x82, 0x28, 0xc0, + 0x34, 0xbf, 0xa1, 0xd0, 0x1f, 0xc3, 0x5b, 0x5d, 0x12, 0xad, 0xfb, 0xfe, 0x86, 0xd9, 0x3b, 0xa6, + 0x6e, 0x76, 0xad, 0x2e, 0x7b, 0xf4, 0x3b, 0xea, 0x47, 0x33, 0x74, 0x67, 0x19, 0x66, 0x04, 0xfc, + 0xa5, 0xab, 0x84, 0xd3, 0x77, 0x61, 0x65, 0x18, 0xe3, 0xa9, 0x04, 0xfd, 0x2f, 0x15, 0xe6, 0xee, + 0x3c, 0x8b, 0xf0, 0x9d, 0x7b, 0x97, 0xb0, 0x5f, 0x8a, 0x87, 0xec, 0xfa, 0x2e, 0xb3, 0x76, 0x02, + 0xe7, 0x37, 0xc7, 0x6a, 0x71, 0x73, 0xbc, 0x07, 0x40, 0x12, 0x6e, 0x21, 0x7f, 0x0c, 0x73, 0xb3, + 0x24, 0xec, 0xc4, 0x29, 0x33, 0x80, 0xbf, 0x6e, 0x16, 0x58, 0xd0, 0xf5, 0xa5, 0x63, 0x3e, 0xeb, + 0x84, 0x7d, 0xe1, 0x3f, 0x80, 0xe0, 0x9b, 0x98, 0x02, 0x9e, 0xda, 0x2f, 0xa5, 0xdc, 0x8d, 0x07, + 0x7c, 0x1d, 0x92, 0x70, 0xb9, 0xb7, 0xda, 0xf5, 0xfc, 0x5b, 0xed, 0x95, 0x4f, 0x61, 0x31, 0x27, + 0x4e, 0xc9, 0x5b, 0xe4, 0x5b, 0xf2, 0x0f, 0x0b, 0x2e, 0x8f, 0x52, 0x50, 0x7c, 0xa9, 0xfc, 0x1f, + 0x2a, 0x34, 0xd2, 0x0f, 0xda, 0x00, 0x2e, 0x05, 0xc4, 0x64, 0xff, 0xf2, 0x83, 0x21, 0xa9, 0x11, + 0x85, 0x9f, 0xff, 0xfc, 0xf8, 0x28, 0xae, 0x6b, 0x46, 0x19, 0x25, 0x9a, 0xaf, 0x9c, 0xeb, 0x04, + 0xbf, 0x4e, 0x58, 0x03, 0x6d, 0x10, 0xf6, 0xef, 0xda, 0x41, 0x18, 0x75, 0x3c, 0xcb, 0x3e, 0x3c, + 0x13, 0xae, 0x4c, 0x4a, 0xbe, 0x14, 0x1e, 0x7a, 0x57, 0x87, 0x3e, 0xf4, 0x4e, 0xff, 0x9b, 0xc3, + 0x0a, 0x81, 0x95, 0xe1, 0xa2, 0x97, 0x98, 0xfa, 0xc7, 0x64, 0x53, 0x97, 0x5d, 0x75, 0xdf, 0x27, + 0x67, 0xf8, 0x7f, 0x44, 0x04, 0x4b, 0x1f, 0xc2, 0x6c, 0x82, 0x66, 0x47, 0x45, 0x67, 0x3e, 0xb9, + 0x9f, 0x32, 0x4e, 0x40, 0xf9, 0x4d, 0x79, 0x83, 0xd3, 0xd3, 0x90, 0x73, 0xcc, 0x88, 0x84, 0x91, + 0x10, 0x72, 0x68, 0x84, 0x02, 0x7e, 0xe3, 0xc6, 0x27, 0xd7, 0xf7, 0x7c, 0xe2, 0x3e, 0xd9, 0xe9, + 0x14, 0xfe, 0x5f, 0xd2, 0x77, 0x0b, 0x92, 0x1e, 0xd4, 0xd9, 0xf7, 0xf7, 0xff, 0x2f, 0x00, 0x00, + 0xff, 0xff, 0x6f, 0x89, 0x77, 0xca, 0x8f, 0x49, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 2ab391df5..9cb7a7b2e 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -79,7 +79,7 @@ message UserInfo{ uint32 createTime = 9; int32 appMangerLevel = 10; int32 globalRecvMsgOpt = 11; - string birthStr = 12; + int64 birthday = 13; } message FriendInfo{