Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
f485969a
Commit
f485969a
authored
Jan 28, 2021
by
jiangpeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dapp/vote:add vote status info
parent
5a906fb2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
82 additions
and
108 deletions
+82
-108
query.go
plugin/dapp/vote/executor/query.go
+5
-5
util.go
plugin/dapp/vote/executor/util.go
+12
-8
vote.proto
plugin/dapp/vote/proto/vote.proto
+3
-6
readme.md
plugin/dapp/vote/readme.md
+2
-2
vote.pb.go
plugin/dapp/vote/types/vote.pb.go
+60
-87
No files found.
plugin/dapp/vote/executor/query.go
View file @
f485969a
...
@@ -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
.
V
oteList
,
info
)
voteList
=
append
(
v
oteList
,
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
.
VoteL
ist
,
info
)
list
=
append
(
l
ist
,
info
)
}
}
return
classifyVoteList
(
list
),
nil
return
classifyVoteList
(
list
),
nil
...
...
plugin/dapp/vote/executor/util.go
View file @
f485969a
...
@@ -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
}
}
plugin/dapp/vote/proto/vote.proto
View file @
f485969a
...
@@ -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
;
}
}
plugin/dapp/vote/readme.md
View file @
f485969a
...
@@ -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已
关闭
}
}
```
```
...
...
plugin/dapp/vote/types/vote.pb.go
View file @
f485969a
...
@@ -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
)
Get
Pending
List
()
[]
*
VoteInfo
{
func
(
m
*
ReplyVoteList
)
Get
Vote
List
()
[]
*
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
,
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment