Commit f485969a authored by jiangpeng's avatar jiangpeng

dapp/vote:add vote status info

parent 5a906fb2
...@@ -68,15 +68,15 @@ func (v *vote) Query_GetVotes(in *vty.ReqStrings) (types.Message, error) { ...@@ -68,15 +68,15 @@ func (v *vote) Query_GetVotes(in *vty.ReqStrings) (types.Message, error) {
if in == nil { if in == nil {
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
infos := &vty.VoteInfos{VoteList: make([]*vty.VoteInfo, 0, len(in.GetItems()))} voteList := make([]*vty.VoteInfo, 0, len(in.GetItems()))
for _, id := range in.GetItems() { for _, id := range in.GetItems() {
info, err := v.getVote(id) info, err := v.getVote(id)
if err != nil { if err != nil {
return nil, err return nil, err
} }
infos.VoteList = append(infos.VoteList, info) voteList = append(voteList, info)
} }
return classifyVoteList(infos), nil return classifyVoteList(voteList), nil
} }
...@@ -163,13 +163,13 @@ func (v *vote) Query_ListVote(in *vty.ReqListVote) (types.Message, error) { ...@@ -163,13 +163,13 @@ func (v *vote) Query_ListVote(in *vty.ReqListVote) (types.Message, error) {
return nil, err return nil, err
} }
list := &vty.VoteInfos{VoteList: make([]*vty.VoteInfo, 0, len(rows))} list := make([]*vty.VoteInfo, 0, len(rows))
for _, row := range rows { for _, row := range rows {
info, ok := row.Data.(*vty.VoteInfo) info, ok := row.Data.(*vty.VoteInfo)
if !ok { if !ok {
return nil, types.ErrTypeAsset return nil, types.ErrTypeAsset
} }
list.VoteList = append(list.VoteList, info) list = append(list, info)
} }
return classifyVoteList(list), nil return classifyVoteList(list), nil
......
...@@ -7,8 +7,11 @@ import ( ...@@ -7,8 +7,11 @@ import (
) )
const ( const (
voteStatusNormal = iota voteStatusNormal = iota //非关闭常规状态
voteStatusClosed voteStatusPending //即将开始
voteStatusOngoing //正在进行
voteStatusFinished //已经结束
voteStatusClosed //已经关闭
) )
const ( const (
...@@ -88,22 +91,23 @@ func decodeCommitInfo(data []byte) *vty.CommitInfo { ...@@ -88,22 +91,23 @@ func decodeCommitInfo(data []byte) *vty.CommitInfo {
return info return info
} }
func classifyVoteList(infos *vty.VoteInfos) *vty.ReplyVoteList { func classifyVoteList(voteList []*vty.VoteInfo) *vty.ReplyVoteList {
reply := &vty.ReplyVoteList{} reply := &vty.ReplyVoteList{}
currentTime := types.Now().Unix() currentTime := types.Now().Unix()
for _, voteInfo := range infos.GetVoteList() { for _, voteInfo := range voteList {
if voteInfo.Status == voteStatusClosed { if voteInfo.Status == voteStatusClosed {
reply.ClosedList = append(reply.ClosedList, voteInfo) continue
} else if voteInfo.BeginTimestamp > currentTime { } else if voteInfo.BeginTimestamp > currentTime {
reply.PendingList = append(reply.PendingList, voteInfo) voteInfo.Status = voteStatusPending
} else if voteInfo.EndTimestamp > currentTime { } else if voteInfo.EndTimestamp > currentTime {
reply.OngoingList = append(reply.OngoingList, voteInfo) voteInfo.Status = voteStatusOngoing
} else { } else {
reply.FinishedList = append(reply.FinishedList, voteInfo) voteInfo.Status = voteStatusFinished
} }
} }
reply.CurrentTimestamp = currentTime reply.CurrentTimestamp = currentTime
reply.VoteList = voteList
return reply return reply
} }
...@@ -100,7 +100,7 @@ message VoteInfo { ...@@ -100,7 +100,7 @@ message VoteInfo {
int64 endTimestamp = 7; //投票结束时间戳 int64 endTimestamp = 7; //投票结束时间戳
repeated CommitInfo commitInfos = 8; //已投票的提交信息 repeated CommitInfo commitInfos = 8; //已投票的提交信息
string description = 9; //描述信息 string description = 9; //描述信息
uint32 status = 10; //状态,0正常,1关闭 uint32 status = 10; //状态,1即将开始,2正在进行,3已经结束,4已关闭
} }
message VoteInfos { message VoteInfos {
...@@ -134,9 +134,6 @@ message ReqListVote { ...@@ -134,9 +134,6 @@ message ReqListVote {
} }
message ReplyVoteList { message ReplyVoteList {
repeated VoteInfo pendingList = 1; //即将开始投票列表 repeated VoteInfo voteList = 1; //投票列表
repeated VoteInfo ongoingList = 2; //正在进行投票列表 int64 currentTimestamp = 2; //当前系统时间
repeated VoteInfo finishedList = 3; //已经完成投票列表
repeated VoteInfo closedList = 4; //已经关闭投票列表
int64 currentTimestamp = 5;
} }
...@@ -131,7 +131,7 @@ message VoteInfo { ...@@ -131,7 +131,7 @@ message VoteInfo {
int64 endTimestamp = 7; //投票结束时间戳 int64 endTimestamp = 7; //投票结束时间戳
repeated CommitInfo commitInfos = 8; //已投票的提交信息 repeated CommitInfo commitInfos = 8; //已投票的提交信息
string description = 9; //描述信息 string description = 9; //描述信息
uint32 status = 10; //状态,0正常,1关闭 uint32 status = 10; //状态,1即将开始,2正在进行,3已经结束,4已关闭
} }
//投票选项 //投票选项
...@@ -212,7 +212,7 @@ message VoteInfo { ...@@ -212,7 +212,7 @@ message VoteInfo {
int64 endTimestamp = 7; //投票结束时间戳 int64 endTimestamp = 7; //投票结束时间戳
repeated CommitInfo commitInfos = 8; //已投票的提交信息 repeated CommitInfo commitInfos = 8; //已投票的提交信息
string description = 9; //描述信息 string description = 9; //描述信息
uint32 status = 10; //状态,0正常,1关闭 uint32 status = 10; //状态,1即将开始,2正在进行,3已经结束,4已关闭
} }
``` ```
......
...@@ -1169,11 +1169,8 @@ func (m *ReqListVote) GetListReq() *ReqListItem { ...@@ -1169,11 +1169,8 @@ func (m *ReqListVote) GetListReq() *ReqListItem {
} }
type ReplyVoteList struct { type ReplyVoteList struct {
PendingList []*VoteInfo `protobuf:"bytes,1,rep,name=pendingList,proto3" json:"pendingList,omitempty"` VoteList []*VoteInfo `protobuf:"bytes,1,rep,name=voteList,proto3" json:"voteList,omitempty"`
OngoingList []*VoteInfo `protobuf:"bytes,2,rep,name=ongoingList,proto3" json:"ongoingList,omitempty"` CurrentTimestamp int64 `protobuf:"varint,2,opt,name=currentTimestamp,proto3" json:"currentTimestamp,omitempty"`
FinishedList []*VoteInfo `protobuf:"bytes,3,rep,name=finishedList,proto3" json:"finishedList,omitempty"`
ClosedList []*VoteInfo `protobuf:"bytes,4,rep,name=closedList,proto3" json:"closedList,omitempty"`
CurrentTimestamp int64 `protobuf:"varint,5,opt,name=currentTimestamp,proto3" json:"currentTimestamp,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1204,30 +1201,9 @@ func (m *ReplyVoteList) XXX_DiscardUnknown() { ...@@ -1204,30 +1201,9 @@ func (m *ReplyVoteList) XXX_DiscardUnknown() {
var xxx_messageInfo_ReplyVoteList proto.InternalMessageInfo var xxx_messageInfo_ReplyVoteList proto.InternalMessageInfo
func (m *ReplyVoteList) GetPendingList() []*VoteInfo { func (m *ReplyVoteList) GetVoteList() []*VoteInfo {
if m != nil { if m != nil {
return m.PendingList return m.VoteList
}
return nil
}
func (m *ReplyVoteList) GetOngoingList() []*VoteInfo {
if m != nil {
return m.OngoingList
}
return nil
}
func (m *ReplyVoteList) GetFinishedList() []*VoteInfo {
if m != nil {
return m.FinishedList
}
return nil
}
func (m *ReplyVoteList) GetClosedList() []*VoteInfo {
if m != nil {
return m.ClosedList
} }
return nil return nil
} }
...@@ -1267,63 +1243,60 @@ func init() { ...@@ -1267,63 +1243,60 @@ func init() {
} }
var fileDescriptor_21d31c94b62a6ac7 = []byte{ var fileDescriptor_21d31c94b62a6ac7 = []byte{
// 921 bytes of a gzipped FileDescriptorProto // 875 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x8e, 0xe3, 0x34, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
0x14, 0x6e, 0xd2, 0xa6, 0x6d, 0x4e, 0xda, 0x65, 0x30, 0x68, 0x15, 0xa1, 0x15, 0xaa, 0x0c, 0x42, 0x14, 0x8e, 0x9d, 0x38, 0x89, 0x8f, 0x9b, 0x52, 0x06, 0x54, 0x59, 0xa8, 0x42, 0xd1, 0x80, 0x50,
0x23, 0x58, 0x15, 0x76, 0x2b, 0xa1, 0x05, 0x71, 0xc1, 0xc0, 0x0a, 0x5a, 0x89, 0x01, 0x64, 0xd8, 0x05, 0x55, 0x04, 0x8d, 0x84, 0x0a, 0xe2, 0x82, 0x42, 0x05, 0x89, 0x44, 0x01, 0x0d, 0xb4, 0x7b,
0xe5, 0x3a, 0x93, 0x78, 0x3b, 0x91, 0x9a, 0x38, 0x13, 0xbb, 0xd5, 0xf6, 0x09, 0x10, 0xcf, 0xc5, 0xed, 0xda, 0xb3, 0xa9, 0xa5, 0xd8, 0x4e, 0x3d, 0x93, 0xa8, 0x79, 0x84, 0x7d, 0xae, 0xbd, 0xdb,
0x1d, 0x37, 0x48, 0x3c, 0x07, 0x0f, 0x81, 0x7c, 0x9c, 0x1f, 0xa7, 0x3f, 0x30, 0xdc, 0xf5, 0x1c, 0x9b, 0x95, 0xf6, 0x39, 0xf6, 0x21, 0x56, 0x73, 0xc6, 0x3f, 0xe3, 0xfc, 0x68, 0xdb, 0xbb, 0x9c,
0x7f, 0xdf, 0xf1, 0xf1, 0xf7, 0x1d, 0xbb, 0x01, 0xd8, 0x09, 0xc5, 0xe7, 0x45, 0x29, 0x94, 0x20, 0x33, 0xdf, 0x39, 0x73, 0xe6, 0xfb, 0xbe, 0x99, 0x18, 0x60, 0x95, 0x49, 0x3e, 0x5a, 0xe4, 0x99,
0x9e, 0xda, 0x17, 0x5c, 0xd2, 0xbf, 0x5d, 0x80, 0x97, 0x42, 0xf1, 0xab, 0x58, 0xa5, 0x22, 0x27, 0xcc, 0x88, 0x23, 0xd7, 0x0b, 0x2e, 0xe8, 0x7b, 0x1b, 0xe0, 0x36, 0x93, 0xfc, 0x32, 0x94, 0x71,
0x0f, 0xc0, 0x55, 0xfb, 0xd0, 0x99, 0x39, 0x97, 0x1e, 0x73, 0xd5, 0x9e, 0x7c, 0x0a, 0x41, 0x5c, 0x96, 0x92, 0x43, 0xb0, 0xe5, 0xda, 0xb7, 0x86, 0xd6, 0xa9, 0xc3, 0x6c, 0xb9, 0x26, 0x3f, 0x82,
0xf2, 0x48, 0xf1, 0x6f, 0x4b, 0xb1, 0x2d, 0x42, 0x77, 0xe6, 0x5c, 0x06, 0x4f, 0xc9, 0x1c, 0xb9, 0x17, 0xe6, 0x3c, 0x90, 0xfc, 0xcf, 0x3c, 0x5b, 0x2e, 0x7c, 0x7b, 0x68, 0x9d, 0x7a, 0xe7, 0x64,
0xf3, 0xaf, 0xdb, 0x95, 0x65, 0x8f, 0xd9, 0x40, 0xcd, 0xdb, 0x16, 0x49, 0xc3, 0xeb, 0x77, 0x78, 0x84, 0xb5, 0xa3, 0xdf, 0xeb, 0x95, 0x49, 0x8b, 0x99, 0x40, 0x55, 0xb7, 0x5c, 0x44, 0x55, 0x5d,
0x2f, 0xda, 0x15, 0xcd, 0xb3, 0x80, 0x64, 0x01, 0x60, 0xca, 0xe8, 0x9e, 0xc2, 0x01, 0xd2, 0xde, 0xbb, 0x51, 0x77, 0x53, 0xaf, 0xa8, 0x3a, 0x03, 0x48, 0xc6, 0x00, 0xba, 0x8d, 0x9a, 0xc9, 0xef,
0xec, 0x6c, 0xa7, 0x17, 0x96, 0x3d, 0x66, 0xc1, 0x90, 0x24, 0xb2, 0x2c, 0x55, 0x48, 0xf2, 0xba, 0x60, 0xd9, 0xa7, 0x8d, 0xed, 0xd4, 0xc2, 0xa4, 0xc5, 0x0c, 0x18, 0x16, 0x65, 0x49, 0x12, 0x4b,
0xa4, 0x66, 0x01, 0x49, 0x4d, 0x44, 0x3e, 0x01, 0x3f, 0xde, 0x08, 0x69, 0x36, 0x1a, 0x22, 0xe7, 0x2c, 0x72, 0x9a, 0x45, 0xd5, 0x02, 0x16, 0x55, 0x11, 0xf9, 0x1e, 0xdc, 0x70, 0x9e, 0x09, 0xbd,
0xa2, 0xe6, 0xd4, 0xf9, 0x65, 0x8f, 0xb5, 0x20, 0xf2, 0x19, 0x4c, 0x4c, 0xab, 0xd7, 0x3c, 0xbb, 0x51, 0x17, 0x6b, 0x8e, 0xca, 0x9a, 0x32, 0x3f, 0x69, 0xb1, 0x1a, 0x44, 0x7e, 0x82, 0x03, 0x3d,
0xe1, 0x65, 0x38, 0x42, 0xd2, 0x5b, 0x9d, 0x43, 0x99, 0xa5, 0x65, 0x8f, 0x75, 0xa0, 0x5f, 0x8d, 0xea, 0x35, 0x4f, 0xee, 0x78, 0xee, 0xf7, 0xb0, 0xe8, 0xb3, 0xc6, 0xa1, 0xf4, 0xd2, 0xa4, 0xc5,
0xc0, 0xdb, 0x45, 0x9b, 0x2d, 0xa7, 0x57, 0x10, 0xe0, 0x41, 0x4d, 0x9e, 0x10, 0x18, 0x44, 0x49, 0x1a, 0xd0, 0xdf, 0x7a, 0xe0, 0xac, 0x82, 0xf9, 0x92, 0xd3, 0x4b, 0xf0, 0xf0, 0xa0, 0x3a, 0x4f,
0x52, 0xa2, 0xe0, 0x3e, 0xc3, 0xdf, 0xe4, 0x5d, 0x63, 0xd3, 0x2f, 0x3c, 0x5d, 0xdf, 0x2a, 0x54, 0x08, 0x74, 0x82, 0x28, 0xca, 0x91, 0x70, 0x97, 0xe1, 0x6f, 0xf2, 0xa5, 0x96, 0xe9, 0x05, 0x8f,
0x7c, 0xca, 0xac, 0x0c, 0xfd, 0xcd, 0x81, 0xc0, 0x52, 0x5e, 0xd7, 0xc8, 0xa3, 0x8c, 0xd7, 0x35, 0x67, 0xf7, 0x12, 0x19, 0x1f, 0x30, 0x23, 0x43, 0x5f, 0x59, 0xe0, 0x19, 0xcc, 0xab, 0x1e, 0x69,
0xf4, 0x6f, 0xf2, 0x10, 0x86, 0x51, 0x92, 0xa5, 0xb9, 0x0c, 0xdd, 0x59, 0xff, 0xd2, 0x67, 0x55, 0x90, 0xf0, 0xb2, 0x87, 0xfa, 0x4d, 0x8e, 0xa1, 0x1b, 0x44, 0x49, 0x9c, 0x0a, 0xdf, 0x1e, 0xb6,
0x44, 0x1e, 0xc3, 0x28, 0xc3, 0x9d, 0x65, 0xd8, 0x9f, 0xf5, 0x2d, 0x4b, 0xac, 0xa6, 0x58, 0x0d, 0x4f, 0x5d, 0x56, 0x44, 0xe4, 0x0c, 0x7a, 0x09, 0xee, 0x2c, 0xfc, 0xf6, 0xb0, 0x6d, 0x48, 0x62,
0x21, 0x33, 0x08, 0x12, 0x2e, 0xe3, 0x32, 0x2d, 0xf4, 0x6c, 0xa0, 0x1b, 0x3e, 0xb3, 0x53, 0xf4, 0x0c, 0xc5, 0x4a, 0x08, 0x19, 0x82, 0x17, 0x71, 0x11, 0xe6, 0xf1, 0x42, 0x79, 0x03, 0xd5, 0x70,
0x77, 0x07, 0x02, 0xcb, 0x4d, 0x12, 0xc2, 0x68, 0xad, 0x7f, 0xac, 0x9e, 0x57, 0xed, 0xd4, 0x21, 0x99, 0x99, 0xa2, 0xaf, 0x2d, 0xf0, 0x0c, 0x35, 0x89, 0x0f, 0xbd, 0x99, 0xfa, 0x31, 0xbd, 0x2a,
0x79, 0x0a, 0x10, 0x25, 0xc9, 0x75, 0xb5, 0xb9, 0x7b, 0x76, 0x73, 0x0b, 0x45, 0xde, 0x87, 0x69, 0xc6, 0x29, 0x43, 0x72, 0x0e, 0x10, 0x44, 0xd1, 0x75, 0xb1, 0xb9, 0xbd, 0x77, 0x73, 0x03, 0x45,
0xc9, 0x33, 0xb1, 0xe3, 0xd7, 0x56, 0xcf, 0x3e, 0xeb, 0x26, 0xc9, 0x23, 0xf0, 0xa3, 0x24, 0xb9, 0xbe, 0x86, 0x41, 0xce, 0x93, 0x6c, 0xc5, 0xaf, 0x8d, 0x99, 0x5d, 0xd6, 0x4c, 0x92, 0x13, 0x70,
0x32, 0xc7, 0x1d, 0x20, 0xa2, 0x4d, 0x10, 0x0a, 0x13, 0x03, 0xaf, 0x00, 0x1e, 0x02, 0x3a, 0x39, 0x83, 0x28, 0xba, 0xd4, 0xc7, 0xed, 0x20, 0xa2, 0x4e, 0x10, 0x0a, 0x07, 0x1a, 0x5e, 0x00, 0x1c,
0xfa, 0xa7, 0x03, 0x3e, 0xf6, 0xb0, 0xca, 0x5f, 0x09, 0x7d, 0x05, 0x9a, 0xf6, 0xdd, 0xd5, 0xf3, 0x04, 0x34, 0x72, 0xf4, 0xad, 0x05, 0x2e, 0xce, 0x30, 0x4d, 0x5f, 0x66, 0xea, 0x0a, 0x54, 0xe3,
0x46, 0x5f, 0xd7, 0xd2, 0xf7, 0x11, 0xf8, 0x46, 0xa4, 0xef, 0xb7, 0x19, 0x0e, 0xf7, 0x94, 0xb5, 0xdb, 0xd3, 0xab, 0x8a, 0x5f, 0xdb, 0xe0, 0xf7, 0x04, 0x5c, 0x4d, 0xd2, 0xdf, 0xcb, 0x04, 0xcd,
0x09, 0xad, 0x02, 0x4e, 0xa7, 0x28, 0x2b, 0xcd, 0xea, 0xd0, 0xf2, 0xc5, 0x3b, 0xe7, 0xcb, 0xf0, 0x3d, 0x60, 0x75, 0x42, 0xb1, 0x80, 0xee, 0xcc, 0xf2, 0x82, 0xb3, 0x32, 0x34, 0x74, 0x71, 0xf6,
0x7f, 0xfb, 0x32, 0x3a, 0xf6, 0xe5, 0x0b, 0x80, 0xe6, 0x40, 0x92, 0xcc, 0xc1, 0x47, 0x1b, 0xbe, 0xe9, 0xd2, 0x7d, 0xb6, 0x2e, 0xbd, 0x6d, 0x5d, 0x7e, 0x01, 0xa8, 0x0e, 0x24, 0xc8, 0x08, 0x5c,
0x4b, 0xa5, 0x0a, 0x1d, 0xac, 0x7f, 0x61, 0xd7, 0xd7, 0x28, 0xd6, 0x42, 0xe8, 0xe7, 0xe6, 0x49, 0x94, 0xe1, 0xaf, 0x58, 0x48, 0xdf, 0xc2, 0xfe, 0x47, 0x66, 0x7f, 0x85, 0x62, 0x35, 0x84, 0xfe,
0xf8, 0x01, 0x6b, 0xe9, 0x9e, 0x85, 0xd9, 0xc8, 0x68, 0x52, 0x45, 0xe4, 0x6d, 0xf0, 0x64, 0x2c, 0xac, 0x9f, 0x84, 0x7f, 0xb0, 0x97, 0x9a, 0x39, 0xd3, 0x1b, 0x69, 0x4e, 0x8a, 0x88, 0x7c, 0x0e,
0x4a, 0x5e, 0x8d, 0xa8, 0x09, 0xe8, 0x1f, 0x0e, 0x40, 0x7b, 0x51, 0x4f, 0x0e, 0xa7, 0x35, 0x24, 0x8e, 0x08, 0xb3, 0x9c, 0x17, 0x16, 0xd5, 0x01, 0x7d, 0x63, 0x01, 0xd4, 0x17, 0x75, 0xa7, 0x39,
0x6e, 0x77, 0x48, 0x66, 0x10, 0xec, 0x9a, 0x8d, 0x6b, 0xbb, 0xed, 0x14, 0xf9, 0x00, 0x1e, 0xdc, 0x0d, 0x93, 0xd8, 0x4d, 0x93, 0x0c, 0xc1, 0x5b, 0x55, 0x1b, 0x97, 0x72, 0x9b, 0x29, 0xf2, 0x0d,
0xf0, 0x75, 0x9a, 0xff, 0x9c, 0x66, 0x5c, 0xaa, 0x28, 0x2b, 0x50, 0xe1, 0x3e, 0x3b, 0xc8, 0x6a, 0x1c, 0xde, 0xf1, 0x59, 0x9c, 0xfe, 0x1f, 0x27, 0x5c, 0xc8, 0x20, 0x59, 0x20, 0xc3, 0x6d, 0xb6,
0xdb, 0x79, 0x9e, 0xb4, 0x28, 0x0f, 0x51, 0x9d, 0xdc, 0xa1, 0x8c, 0xc3, 0x63, 0x19, 0xbf, 0x01, 0x91, 0x55, 0xb2, 0xf3, 0x34, 0xaa, 0x51, 0x0e, 0xa2, 0x1a, 0xb9, 0x4d, 0x1a, 0xbb, 0xdb, 0x34,
0x68, 0xdf, 0x0f, 0x2d, 0x84, 0x6e, 0xa5, 0x19, 0x8e, 0x2a, 0xd2, 0x75, 0x8c, 0x24, 0xab, 0x3c, 0xfe, 0x01, 0x50, 0xbf, 0x1f, 0x8a, 0x08, 0x35, 0x4a, 0x65, 0x8e, 0x22, 0x52, 0x7d, 0x34, 0x25,
0xe1, 0xaf, 0x2b, 0x39, 0xec, 0x14, 0x7d, 0x56, 0xd7, 0xc1, 0x01, 0x3b, 0x75, 0xe9, 0x1f, 0xc2, 0xd3, 0x34, 0xe2, 0x8f, 0x05, 0x1d, 0x66, 0x8a, 0x5e, 0x94, 0x7d, 0xd0, 0x60, 0xbb, 0x2e, 0xfd,
0x50, 0xbd, 0x5e, 0x46, 0xf2, 0xb6, 0x92, 0xa4, 0x8a, 0xe8, 0x7b, 0xe0, 0x37, 0xaf, 0xd1, 0xb9, 0x31, 0x74, 0xe5, 0xe3, 0x24, 0x10, 0xf7, 0x05, 0x25, 0x45, 0x44, 0xbf, 0x02, 0xb7, 0x7a, 0x8d,
0x06, 0x28, 0x85, 0x89, 0xfd, 0xfa, 0x9c, 0x12, 0x9d, 0xfe, 0xe5, 0xc2, 0x58, 0x17, 0xb9, 0xf7, 0xf6, 0x0d, 0x40, 0x29, 0x1c, 0x98, 0xaf, 0xcf, 0x2e, 0xd2, 0xe9, 0x3b, 0x1b, 0xfa, 0xaa, 0xc9,
0x88, 0x5b, 0x43, 0xdc, 0xef, 0x0e, 0xb1, 0xe5, 0xdf, 0xa0, 0xeb, 0xdf, 0xa2, 0xeb, 0x9f, 0x87, 0x93, 0x2d, 0x6e, 0x98, 0xb8, 0xdd, 0x34, 0xb1, 0xa1, 0x5f, 0xa7, 0xa9, 0xdf, 0xb8, 0xa9, 0x9f,
0xa3, 0x56, 0xbf, 0xc4, 0xed, 0x48, 0xfd, 0x97, 0xa5, 0xc3, 0x7b, 0x59, 0x3a, 0x3a, 0x61, 0xe9, 0x83, 0x56, 0x2b, 0x5f, 0xe2, 0xda, 0x52, 0x1f, 0x93, 0xb4, 0xfb, 0x24, 0x49, 0x7b, 0x3b, 0x24,
0x02, 0x82, 0xb8, 0x11, 0x5a, 0x86, 0xe3, 0x4e, 0x03, 0xad, 0x05, 0xcc, 0x46, 0x1d, 0xce, 0x81, 0x1d, 0x83, 0x17, 0x56, 0x44, 0x0b, 0xbf, 0xdf, 0x18, 0xa0, 0x96, 0x80, 0x99, 0xa8, 0x4d, 0x1f,
0x7f, 0x34, 0x07, 0x5a, 0x78, 0xa9, 0x22, 0xb5, 0x95, 0x21, 0xa0, 0xb9, 0x55, 0x44, 0x9f, 0x81, 0xb8, 0x5b, 0x3e, 0x50, 0xc4, 0x0b, 0x19, 0xc8, 0xa5, 0xf0, 0x01, 0xc5, 0x2d, 0x22, 0x7a, 0x01,
0x5f, 0x6b, 0x2a, 0xc9, 0x47, 0x30, 0xd6, 0xc7, 0xb2, 0x2e, 0xd9, 0x1b, 0xd6, 0xc9, 0x71, 0xdb, 0x6e, 0xc9, 0xa9, 0x20, 0xdf, 0x41, 0x5f, 0x1d, 0xcb, 0xb8, 0x64, 0x9f, 0x18, 0x27, 0xc7, 0x6d,
0x06, 0x40, 0x7f, 0x04, 0x30, 0x66, 0x9d, 0x9d, 0x88, 0x53, 0x9e, 0xbc, 0x03, 0xe3, 0x4a, 0xea, 0x2b, 0x00, 0xfd, 0x17, 0x40, 0x8b, 0xb5, 0xd7, 0x11, 0xbb, 0x34, 0xf9, 0x02, 0xfa, 0x05, 0xd5,
0xfa, 0x72, 0x34, 0x31, 0xfd, 0x12, 0x82, 0xb6, 0xa2, 0x24, 0x4f, 0x00, 0xcc, 0x73, 0x61, 0xf5, 0xe5, 0xe5, 0xa8, 0x62, 0xfa, 0x2b, 0x78, 0x75, 0x47, 0x41, 0x7e, 0x00, 0xd0, 0xcf, 0x85, 0x31,
0x53, 0x0b, 0xd1, 0xe2, 0x98, 0x05, 0xa2, 0x14, 0x80, 0xf1, 0xbb, 0x9f, 0x54, 0x99, 0xe6, 0x6b, 0x4f, 0x49, 0x44, 0x8d, 0x63, 0x06, 0x88, 0x52, 0x00, 0xc6, 0x1f, 0xfe, 0x93, 0x79, 0x9c, 0xce,
0xa9, 0xaf, 0x77, 0xaa, 0x78, 0x26, 0x91, 0xeb, 0x33, 0x13, 0xd0, 0x18, 0x02, 0xc6, 0xef, 0x34, 0x84, 0xba, 0xde, 0xb1, 0xe4, 0x89, 0xc0, 0x5a, 0x97, 0xe9, 0x80, 0x86, 0xe0, 0x31, 0xfe, 0xa0,
0x7c, 0xa5, 0x78, 0xa6, 0xa5, 0x93, 0x2a, 0x2a, 0x31, 0x68, 0x26, 0xca, 0x4e, 0xe9, 0x32, 0xb1, 0xe0, 0x53, 0xc9, 0x13, 0x45, 0x9d, 0x90, 0x41, 0x8e, 0x41, 0xe5, 0x28, 0x33, 0xa5, 0xda, 0x84,
0xd8, 0xe6, 0xe6, 0x8f, 0xcc, 0x63, 0x26, 0xd0, 0xef, 0x67, 0x92, 0x96, 0x1c, 0xbf, 0x39, 0x70, 0xd9, 0x32, 0xd5, 0x7f, 0x64, 0x0e, 0xd3, 0x81, 0x7a, 0x3f, 0xa3, 0x38, 0xe7, 0xf8, 0xcd, 0x81,
0xbc, 0x3c, 0xd6, 0x26, 0xe8, 0x8b, 0x66, 0x13, 0x1c, 0xfb, 0xf3, 0x7f, 0x2a, 0x8f, 0x61, 0xb4, 0xf6, 0x72, 0x58, 0x9d, 0xa0, 0x37, 0xd5, 0x26, 0x68, 0xfb, 0xfd, 0x7f, 0x2a, 0x67, 0xd0, 0x9b,
0x49, 0xa5, 0x62, 0xfc, 0xee, 0xe0, 0xcb, 0xc4, 0xea, 0x91, 0xd5, 0x10, 0xfa, 0xab, 0x0b, 0x53, 0xc7, 0x42, 0x32, 0xfe, 0xb0, 0xf1, 0x65, 0x62, 0xcc, 0xc8, 0x4a, 0x08, 0xbd, 0x87, 0x01, 0xe3,
0xc6, 0x8b, 0xcd, 0xfe, 0x65, 0xe5, 0x02, 0x79, 0x02, 0x41, 0xc1, 0xf3, 0x24, 0xcd, 0xd7, 0xff, 0x8b, 0xf9, 0xfa, 0xb6, 0x10, 0xe1, 0x59, 0x8a, 0x91, 0x6f, 0xe1, 0x28, 0x5c, 0xe6, 0x39, 0x4f,
0xe6, 0x9a, 0x8d, 0xd1, 0x14, 0x91, 0xaf, 0x45, 0x4d, 0x71, 0xcf, 0x50, 0x2c, 0x0c, 0x59, 0xc0, 0x65, 0x6d, 0x41, 0x1b, 0x2d, 0xb8, 0x95, 0xbf, 0xeb, 0xe2, 0x27, 0xd6, 0xf8, 0x43, 0x00, 0x00,
0xe4, 0x55, 0x9a, 0xa7, 0xf2, 0x96, 0x27, 0xc8, 0xe9, 0x9f, 0xe6, 0x74, 0x40, 0xe4, 0x63, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xf1, 0x16, 0x30, 0x70, 0x09, 0x00, 0x00,
0xfc, 0xf2, 0x30, 0x94, 0xc1, 0x69, 0x8a, 0x05, 0x21, 0x1f, 0xc2, 0x45, 0xbc, 0x2d, 0x4b, 0x9e,
0xab, 0xc3, 0x57, 0xef, 0x28, 0x7f, 0x33, 0xc4, 0x4f, 0xc0, 0xc5, 0x3f, 0x01, 0x00, 0x00, 0xff,
0xff, 0xa6, 0x1a, 0xe7, 0xfd, 0x10, 0x0a, 0x00, 0x00,
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment