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
172ed60e
Commit
172ed60e
authored
Nov 09, 2019
by
pengjun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#627 add price query api
parent
f4596d49
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
316 additions
and
154 deletions
+316
-154
cmd.go
plugin/dapp/collateralize/commands/cmd.go
+22
-0
collateralizedb.go
plugin/dapp/collateralize/executor/collateralizedb.go
+3
-3
query.go
plugin/dapp/collateralize/executor/query.go
+11
-0
collateralize.proto
plugin/dapp/collateralize/proto/collateralize.proto
+6
-0
collateralize.pb.go
plugin/dapp/collateralize/types/collateralize.pb.go
+119
-79
cmd.go
plugin/dapp/issuance/commands/cmd.go
+24
-0
issuancedb.go
plugin/dapp/issuance/executor/issuancedb.go
+2
-2
query.go
plugin/dapp/issuance/executor/query.go
+11
-0
issuance.proto
plugin/dapp/issuance/proto/issuance.proto
+6
-0
issuance.pb.go
plugin/dapp/issuance/types/issuance.pb.go
+112
-70
No files found.
plugin/dapp/collateralize/commands/cmd.go
View file @
172ed60e
...
@@ -335,6 +335,27 @@ func CollateralizeQueryConfig(cmd *cobra.Command, args []string) {
...
@@ -335,6 +335,27 @@ func CollateralizeQueryConfig(cmd *cobra.Command, args []string) {
ctx
.
Run
()
ctx
.
Run
()
}
}
func
CollateralizeQueryPriceCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"price"
,
Short
:
"Query latest price"
,
Run
:
CollateralizeQueryPrice
,
}
return
cmd
}
func
CollateralizeQueryPrice
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pkt
.
CollateralizeX
params
.
FuncName
=
"CollateralizePrice"
var
res
pkt
.
RepCollateralizePrice
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
// CollateralizeQueryCmd 查询命令行
// CollateralizeQueryCmd 查询命令行
func
CollateralizeQueryCmd
()
*
cobra
.
Command
{
func
CollateralizeQueryCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
...
@@ -345,6 +366,7 @@ func CollateralizeQueryCmd() *cobra.Command {
...
@@ -345,6 +366,7 @@ func CollateralizeQueryCmd() *cobra.Command {
addCollateralizeQueryFlags
(
cmd
)
addCollateralizeQueryFlags
(
cmd
)
cmd
.
AddCommand
(
cmd
.
AddCommand
(
CollateralizeQueryCfgCmd
(),
CollateralizeQueryCfgCmd
(),
CollateralizeQueryPriceCmd
(),
)
)
return
cmd
return
cmd
}
}
...
...
plugin/dapp/collateralize/executor/collateralizedb.go
View file @
172ed60e
...
@@ -457,7 +457,7 @@ func calcLiquidationPrice(value int64, colValue int64) float32 {
...
@@ -457,7 +457,7 @@ func calcLiquidationPrice(value int64, colValue int64) float32 {
}
}
// 获取最近抵押物价格
// 获取最近抵押物价格
func
(
action
*
Action
)
getLatestPrice
(
db
dbm
.
KV
)
(
float32
,
error
)
{
func
getLatestPrice
(
db
dbm
.
KV
)
(
float32
,
error
)
{
data
,
err
:=
db
.
Get
(
PriceKey
())
data
,
err
:=
db
.
Get
(
PriceKey
())
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"getLatestPrice"
,
"get"
,
err
)
clog
.
Error
(
"getLatestPrice"
,
"get"
,
err
)
...
@@ -537,7 +537,7 @@ func (action *Action) CollateralizeBorrow(borrow *pty.CollateralizeBorrow) (*typ
...
@@ -537,7 +537,7 @@ func (action *Action) CollateralizeBorrow(borrow *pty.CollateralizeBorrow) (*typ
clog
.
Debug
(
"CollateralizeBorrow"
,
"value"
,
borrow
.
GetValue
())
clog
.
Debug
(
"CollateralizeBorrow"
,
"value"
,
borrow
.
GetValue
())
// 获取抵押物价格
// 获取抵押物价格
lastPrice
,
err
:=
action
.
getLatestPrice
(
action
.
db
)
lastPrice
,
err
:=
getLatestPrice
(
action
.
db
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"CollateralizeBorrow"
,
"CollID"
,
coll
.
CollateralizeId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
clog
.
Error
(
"CollateralizeBorrow"
,
"CollID"
,
coll
.
CollateralizeId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
return
nil
,
err
return
nil
,
err
...
@@ -740,7 +740,7 @@ func (action *Action) CollateralizeAppend(cAppend *pty.CollateralizeAppend) (*ty
...
@@ -740,7 +740,7 @@ func (action *Action) CollateralizeAppend(cAppend *pty.CollateralizeAppend) (*ty
clog
.
Debug
(
"CollateralizeAppend"
,
"value"
,
cAppend
.
CollateralValue
)
clog
.
Debug
(
"CollateralizeAppend"
,
"value"
,
cAppend
.
CollateralValue
)
// 获取抵押物价格
// 获取抵押物价格
lastPrice
,
err
:=
action
.
getLatestPrice
(
action
.
db
)
lastPrice
,
err
:=
getLatestPrice
(
action
.
db
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"CollateralizeBorrow"
,
"CollID"
,
coll
.
CollateralizeId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
clog
.
Error
(
"CollateralizeBorrow"
,
"CollID"
,
coll
.
CollateralizeId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
return
nil
,
err
return
nil
,
err
...
...
plugin/dapp/collateralize/executor/query.go
View file @
172ed60e
...
@@ -157,4 +157,14 @@ func (c *Collateralize) Query_CollateralizeConfig(req *pty.ReqCollateralizeRecor
...
@@ -157,4 +157,14 @@ func (c *Collateralize) Query_CollateralizeConfig(req *pty.ReqCollateralizeRecor
}
}
return
ret
,
nil
return
ret
,
nil
}
func
(
c
*
Collateralize
)
Query_CollateralizePrice
(
req
*
pty
.
ReqCollateralizeRecordByAddr
)
(
types
.
Message
,
error
)
{
price
,
err
:=
getLatestPrice
(
c
.
GetStateDB
())
if
err
!=
nil
{
clog
.
Error
(
"Query_CollateralizePrice"
,
"error"
,
err
)
return
nil
,
err
}
return
&
pty
.
RepCollateralizePrice
{
Price
:
price
},
nil
}
}
\ No newline at end of file
plugin/dapp/collateralize/proto/collateralize.proto
View file @
172ed60e
...
@@ -223,4 +223,9 @@ message RepCollateralizeConfig {
...
@@ -223,4 +223,9 @@ message RepCollateralizeConfig {
int64
collTotalBalance
=
5
;
//放贷总量
int64
collTotalBalance
=
5
;
//放贷总量
int64
collBalance
=
6
;
//剩余放贷额度
int64
collBalance
=
6
;
//剩余放贷额度
int64
currentTime
=
7
;
//设置时间
int64
currentTime
=
7
;
//设置时间
}
// 返回最新抵押物价格
message
RepCollateralizePrice
{
float
price
=
1
;
//当前抵押物最新价格
}
}
\ No newline at end of file
plugin/dapp/collateralize/types/collateralize.pb.go
View file @
172ed60e
...
@@ -1878,6 +1878,45 @@ func (m *RepCollateralizeConfig) GetCurrentTime() int64 {
...
@@ -1878,6 +1878,45 @@ func (m *RepCollateralizeConfig) GetCurrentTime() int64 {
return
0
return
0
}
}
type
RepCollateralizePrice
struct
{
Price
float32
`protobuf:"fixed32,1,opt,name=price,proto3" json:"price,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RepCollateralizePrice
)
Reset
()
{
*
m
=
RepCollateralizePrice
{}
}
func
(
m
*
RepCollateralizePrice
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepCollateralizePrice
)
ProtoMessage
()
{}
func
(
*
RepCollateralizePrice
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_a988fb4a61381972
,
[]
int
{
28
}
}
func
(
m
*
RepCollateralizePrice
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepCollateralizePrice
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RepCollateralizePrice
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RepCollateralizePrice
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RepCollateralizePrice
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepCollateralizePrice
.
Merge
(
m
,
src
)
}
func
(
m
*
RepCollateralizePrice
)
XXX_Size
()
int
{
return
xxx_messageInfo_RepCollateralizePrice
.
Size
(
m
)
}
func
(
m
*
RepCollateralizePrice
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_RepCollateralizePrice
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_RepCollateralizePrice
proto
.
InternalMessageInfo
func
(
m
*
RepCollateralizePrice
)
GetPrice
()
float32
{
if
m
!=
nil
{
return
m
.
Price
}
return
0
}
func
init
()
{
func
init
()
{
proto
.
RegisterType
((
*
Collateralize
)(
nil
),
"types.Collateralize"
)
proto
.
RegisterType
((
*
Collateralize
)(
nil
),
"types.Collateralize"
)
proto
.
RegisterType
((
*
BorrowRecord
)(
nil
),
"types.BorrowRecord"
)
proto
.
RegisterType
((
*
BorrowRecord
)(
nil
),
"types.BorrowRecord"
)
...
@@ -1907,88 +1946,89 @@ func init() {
...
@@ -1907,88 +1946,89 @@ func init() {
proto
.
RegisterType
((
*
ReqCollateralizeRecord
)(
nil
),
"types.ReqCollateralizeRecord"
)
proto
.
RegisterType
((
*
ReqCollateralizeRecord
)(
nil
),
"types.ReqCollateralizeRecord"
)
proto
.
RegisterType
((
*
RepCollateralizeRecord
)(
nil
),
"types.RepCollateralizeRecord"
)
proto
.
RegisterType
((
*
RepCollateralizeRecord
)(
nil
),
"types.RepCollateralizeRecord"
)
proto
.
RegisterType
((
*
RepCollateralizeConfig
)(
nil
),
"types.RepCollateralizeConfig"
)
proto
.
RegisterType
((
*
RepCollateralizeConfig
)(
nil
),
"types.RepCollateralizeConfig"
)
proto
.
RegisterType
((
*
RepCollateralizePrice
)(
nil
),
"types.RepCollateralizePrice"
)
}
}
func
init
()
{
proto
.
RegisterFile
(
"collateralize.proto"
,
fileDescriptor_a988fb4a61381972
)
}
func
init
()
{
proto
.
RegisterFile
(
"collateralize.proto"
,
fileDescriptor_a988fb4a61381972
)
}
var
fileDescriptor_a988fb4a61381972
=
[]
byte
{
var
fileDescriptor_a988fb4a61381972
=
[]
byte
{
// 12
34
bytes of a gzipped FileDescriptorProto
// 12
48
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xdc
,
0x58
,
0x5
d
,
0x6b
,
0xdc
,
0x46
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xdc
,
0x58
,
0x5
f
,
0x6f
,
0xdc
,
0x44
,
0x1
7
,
0x8e
,
0xa4
,
0xd5
,
0xae
,
0xf7
,
0xac
,
0xed
,
0x38
,
0x63
,
0xbf
,
0x7e
,
0x55
,
0xd7
,
0x98
,
0x45
,
0x1
0
,
0xaf
,
0xed
,
0xfb
,
0x93
,
0x9b
,
0x4b
,
0xd2
,
0x74
,
0x13
,
0x8a
,
0x29
,
0x55
,
0x74
,
0xb2
,
0x90
,
0x
14
,
0xba
,
0xf4
,
0xc3
,
0x50
,
0x27
,
0x94
,
0x86
,
0x42
,
0xa9
,
0xbd
,
0x49
,
0xf0
,
0x42
,
0x0a
,
0x41
,
0x
38
,
0x01
,
0x8d
,
0x44
,
0x5a
,
0x21
,
0x2a
,
0x24
,
0x44
,
0x72
,
0x6d
,
0x95
,
0x93
,
0x8a
,
0x54
,
0x99
,
0x
4d
,
0x4b
,
0x09
,
0xb4
,
0xa0
,
0x95
,
0xc6
,
0xae
,
0x40
,
0x96
,
0x64
,
0x69
,
0xd6
,
0xf5
,
0xf6
,
0xbe
,
0x
82
,
0x50
,
0x25
,
0x90
,
0x7c
,
0xf6
,
0x26
,
0x58
,
0x72
,
0x6c
,
0xc7
,
0xde
,
0x0b
,
0x39
,
0xde
,
0xe9
,
0x
b9
,
0xe8
,
0x6f
,
0x48
,
0xff
,
0x5b
,
0xff
,
0x43
,
0x2e
,
0x7a
,
0x5b
,
0xe6
,
0xcc
,
0xe8
,
0x6b
,
0x24
,
0x
03
,
0x9f
,
0xa1
,
0x7c
,
0x37
,
0xbe
,
0x43
,
0x1f
,
0x78
,
0x45
,
0x3b
,
0xbb
,
0xfe
,
0xb3
,
0x6b
,
0x3b
,
0x
99
,
0xdd
,
0xb6
,
0x57
,
0xb9
,
0x09
,
0x3b
,
0x67
,
0x9e
,
0x73
,
0x74
,
0x3e
,
0x9e
,
0x39
,
0xe7
,
0xc4
,
0x
ca
,
0x01
,
0x4f
,
0x7d
,
0xa9
,
0xb2
,
0xb3
,
0xbf
,
0x19
,
0xcf
,
0x9f
,
0xdf
,
0xce
,
0xcc
,
0x15
,
0x76
,
0x
b0
,
0xeb
,
0xc5
,
0x61
,
0xe8
,
0x32
,
0x9a
,
0xba
,
0x61
,
0xf0
,
0x2b
,
0x3d
,
0x4e
,
0xd2
,
0x98
,
0xc5
,
0x
fd
,
0x24
,
0x8a
,
0x3c
,
0x46
,
0x33
,
0x2f
,
0x0a
,
0x7f
,
0xa3
,
0x07
,
0x69
,
0x96
,
0xb0
,
0x84
,
0xf4
,
0x
c4
,
0x64
,
0xcb
,
0x84
,
0x66
,
0xf6
,
0xdb
,
0x1e
,
0x6c
,
0x4d
,
0xab
,
0xd7
,
0x64
,
0x02
,
0xf7
,
0x6b
,
0x
d9
,
0x2a
,
0xa5
,
0xb9
,
0xf3
,
0xb6
,
0x07
,
0x5b
,
0xb3
,
0xfa
,
0x35
,
0x99
,
0xc2
,
0x6d
,
0x05
,
0x3f
,
0x
f8
,
0x99
,
0x6f
,
0x69
,
0x63
,
0x6d
,
0x32
,
0x74
,
0x54
,
0x31
,
0xb1
,
0x61
,
0x93
,
0xc5
,
0xcc
,
0x0d
,
0x
0f
,
0x6c
,
0x63
,
0x62
,
0x4c
,
0x47
,
0xae
,
0x2e
,
0x26
,
0x0e
,
0x6c
,
0xb2
,
0x84
,
0x79
,
0xd1
,
0xb1
,
0x
cf
,
0xdc
,
0xd0
,
0x8d
,
0x3c
,
0x6a
,
0xe9
,
0x63
,
0x6d
,
0x62
,
0x38
,
0x35
,
0x19
,
0x19
,
0xc3
,
0xc8
,
0x
17
,
0x79
,
0xb1
,
0x4f
,
0x6d
,
0x73
,
0x62
,
0x4c
,
0x2d
,
0x57
,
0x91
,
0x91
,
0x09
,
0x8c
,
0x03
,
0xba
,
0x
a7
,
0x73
,
0x36
,
0xa5
,
0x41
,
0x18
,
0x44
,
0x97
,
0x96
,
0x81
,
0x90
,
0xaa
,
0x88
,
0x7c
,
0x04
,
0x3b
,
0x
60
,
0x33
,
0x1a
,
0x46
,
0x61
,
0x7c
,
0x66
,
0x5b
,
0x08
,
0xa9
,
0x8b
,
0xc8
,
0x27
,
0xb0
,
0x13
,
0x85
,
0x
61
,
0x70
,
0xbd
,
0x08
,
0x7c
,
0x97
,
0x05
,
0x71
,
0xe4
,
0xf0
,
0x7f
,
0xad
,
0xde
,
0x58
,
0x9b
,
0xe8
,
0x
17
,
0xcb
,
0x30
,
0xf0
,
0x58
,
0x98
,
0xc4
,
0x2e
,
0xff
,
0xd7
,
0xee
,
0x4d
,
0x8c
,
0xa9
,
0xe9
,
0x36
,
0x
4e
,
0x43
,
0x4e
,
0x3e
,
0x81
,
0x07
,
0x19
,
0x73
,
0xe7
,
0x41
,
0x18
,
0xb0
,
0xe5
,
0x33
,
0x4a
,
0x05
,
0x
e4
,
0xe4
,
0x33
,
0xb8
,
0x93
,
0x33
,
0x6f
,
0x11
,
0x46
,
0x21
,
0x5b
,
0x3d
,
0xa3
,
0x54
,
0x80
,
0xfb
,
0x
d8
,
0x44
,
0x70
,
0xf3
,
0x82
,
0x1c
,
0x01
,
0x78
,
0x29
,
0x75
,
0x19
,
0x3d
,
0xf5
,
0xfd
,
0xd4
,
0xea
,
0x
08
,
0x6e
,
0x5e
,
0x90
,
0x7d
,
0x00
,
0x3f
,
0xa3
,
0x1e
,
0xa3
,
0x47
,
0x41
,
0x90
,
0xd9
,
0x03
,
0x0c
,
0x
63
,
0x10
,
0x15
,
0x09
,
0xb1
,
0x60
,
0x30
,
0x97
,
0xae
,
0x0f
,
0xd0
,
0xaf
,
0xfc
,
0x48
,
0x1e
,
0xc3
,
0x
a2
,
0x26
,
0x21
,
0x36
,
0x0c
,
0x17
,
0xd2
,
0xf5
,
0x21
,
0xfa
,
0x55
,
0x1c
,
0xc9
,
0x63
,
0xd8
,
0x5a
,
0x
d6
,
0x3c
,
0x4e
,
0xd3
,
0xf8
,
0x17
,
0x87
,
0x7a
,
0x71
,
0xea
,
0x67
,
0xd6
,
0xc6
,
0xd8
,
0x98
,
0x8c
,
0x
24
,
0x59
,
0x96
,
0xfc
,
0xea
,
0x52
,
0x3f
,
0xc9
,
0x82
,
0xdc
,
0xde
,
0x98
,
0x58
,
0xd3
,
0xf1
,
0xe1
,
0x
4e
,
0x76
,
0x8f
,
0x31
,
0x69
,
0xc7
,
0x67
,
0x95
,
0x3b
,
0xa7
,
0x8e
,
0x24
,
0x5f
,
0xc2
,
0xf6
,
0x2c
,
0x
ee
,
0x01
,
0x26
,
0xed
,
0xe0
,
0xb8
,
0x76
,
0xe7
,
0xaa
,
0x48
,
0xf2
,
0x15
,
0x6c
,
0xcf
,
0xe3
,
0x4b
,
0x
ba
,
0x71
,
0xc3
,
0xc0
,
0xcf
,
0x75
,
0x87
,
0xdd
,
0xba
,
0x0a
,
0x94
,
0xec
,
0x43
,
0x3f
,
0x63
,
0x2e
,
0x
2f
,
0x0a
,
0x83
,
0x42
,
0x77
,
0xd4
,
0xad
,
0xab
,
0x41
,
0xc9
,
0x5d
,
0x18
,
0xe4
,
0xcc
,
0x63
,
0xcb
,
0x
5b
,
0x64
,
0x16
,
0x8c
,
0xb5
,
0x89
,
0xe9
,
0xc8
,
0x13
,
0xf9
,
0x1c
,
0xf6
,
0x79
,
0xe6
,
0x33
,
0xf6
,
0x
dc
,
0x86
,
0x89
,
0x31
,
0xed
,
0xbb
,
0xf2
,
0x44
,
0xbe
,
0x80
,
0xbb
,
0x3c
,
0xf3
,
0x39
,
0x7b
,
0x5e
,
0x
bc
,
0xcc
,
0xc8
,
0x8b
,
0x34
,
0xf0
,
0xa8
,
0x35
,
0xc2
,
0xe0
,
0x3b
,
0x6e
,
0xb9
,
0xbd
,
0x84
,
0xa6
,
0x
65
,
0xe4
,
0x45
,
0x16
,
0xfa
,
0xd4
,
0x1e
,
0x63
,
0xf0
,
0x1d
,
0xb7
,
0xdc
,
0x5e
,
0x4a
,
0xb3
,
0x30
,
0x
41
,
0xec
,
0x5b
,
0x9b
,
0x18
,
0xa0
,
0x3c
,
0x61
,
0xce
,
0x51
,
0xe3
,
0xe9
,
0x6d
,
0x12
,
0xa4
,
0xf4
,
0x
09
,
0xec
,
0x4d
,
0x0c
,
0x50
,
0x9e
,
0x30
,
0xe7
,
0xa8
,
0xf1
,
0xf4
,
0x2a
,
0x0d
,
0x33
,
0xfa
,
0x32
,
0x
65
,
0x70
,
0x45
,
0xad
,
0x2d
,
0x44
,
0x34
,
0xe4
,
0x64
,
0x0f
,
0xcc
,
0x20
,
0xf2
,
0xe9
,
0xad
,
0xb5
,
0x
3c
,
0xa7
,
0xf6
,
0x16
,
0x22
,
0x1a
,
0x72
,
0xb2
,
0x07
,
0xfd
,
0x30
,
0x0e
,
0xe8
,
0x95
,
0xbd
,
0x8d
,
0x
8d
,
0x00
,
0x71
,
0x20
,
0x07
,
0xb0
,
0x91
,
0xa4
,
0x74
,
0x86
,
0x17
,
0xf7
,
0xf1
,
0xa2
,
0x38
,
0xf3
,
0x
00
,
0x71
,
0x20
,
0xf7
,
0x60
,
0x23
,
0xcd
,
0xe8
,
0x1c
,
0x2f
,
0x6e
,
0xe3
,
0x45
,
0x79
,
0xe6
,
0x35
,
0x
9a
,
0x73
,
0xaa
,
0xe4
,
0xb4
,
0xd8
,
0x11
,
0x35
,
0xaf
,
0x88
,
0xec
,
0x3f
,
0x0d
,
0xd8
,
0xac
,
0x26
,
0x
e7
,
0x54
,
0x29
,
0x68
,
0xb1
,
0x23
,
0x6a
,
0x5e
,
0x13
,
0x39
,
0x7f
,
0x59
,
0xb0
,
0x59
,
0x4f
,
0x04
,
0x
82
,
0xab
,
0xb8
,
0x9e
,
0x17
,
0x2f
,
0x22
,
0x86
,
0xb5
,
0x12
,
0x84
,
0xab
,
0x8a
,
0xc8
,
0x21
,
0x0c
,
0x
57
,
0xf1
,
0x7c
,
0x3f
,
0x59
,
0xc6
,
0x0c
,
0x6b
,
0x25
,
0x08
,
0x57
,
0x17
,
0x91
,
0xfb
,
0x30
,
0xca
,
0x
33
,
0xe6
,
0xa6
,
0x0c
,
0x7d
,
0x15
,
0x4c
,
0x2b
,
0x05
,
0x75
,
0xd2
,
0x7e
,
0xef
,
0x86
,
0x0b
,
0x2a
,
0x
99
,
0x97
,
0x31
,
0xf4
,
0x55
,
0x30
,
0xad
,
0x12
,
0xa8
,
0xa4
,
0xfd
,
0xc1
,
0x8b
,
0x96
,
0x54
,
0x52
,
0x
a9
,
0xa6
,
0x8a
,
0xeb
,
0x48
,
0x91
,
0x43
,
0xc1
,
0x36
,
0x55
,
0xcc
,
0xbf
,
0xc8
,
0x79
,
0x2a
,
0xac
,
0x
4d
,
0x17
,
0xab
,
0x48
,
0x91
,
0x43
,
0xc1
,
0x36
,
0x5d
,
0xcc
,
0xbf
,
0xc8
,
0x79
,
0x2a
,
0xac
,
0xf5
,
0x
99
,
0xe2
,
0x8b
,
0x85
,
0x40
,
0xa1
,
0xad
,
0x30
,
0xd4
,
0x6f
,
0xd0
,
0xb6
,
0x28
,
0x83
,
0x2c
,
0xeb
,
0x
c5
,
0x17
,
0x4b
,
0x81
,
0x46
,
0x5b
,
0x61
,
0x68
,
0xd0
,
0xa0
,
0x6d
,
0x59
,
0x06
,
0x59
,
0xd6
,
0xa1
,
0x
a0
,
0x56
,
0xd6
,
0x0f
,
0x60
,
0x2b
,
0xc7
,
0x8a
,
0x1a
,
0x6c
,
0xe0
,
0x57
,
0xea
,
0x42
,
0x4e
,
0x63
,
0x
52
,
0xd6
,
0x8f
,
0x60
,
0xab
,
0xc0
,
0x8a
,
0x1a
,
0x6c
,
0xe0
,
0x57
,
0x54
,
0x21
,
0xa7
,
0x31
,
0xad
,
0x
5a
,
0x96
,
0x69
,
0x88
,
0x90
,
0x8a
,
0x84
,
0xfb
,
0x99
,
0xa4
,
0xf4
,
0xdb
,
0x2a
,
0x6f
,
0x4a
,
0x01
,
0x
ca
,
0x34
,
0x42
,
0x48
,
0x4d
,
0xc2
,
0xfd
,
0x4c
,
0x33
,
0xfa
,
0x5d
,
0x9d
,
0x37
,
0x95
,
0x80
,
0x17
,
0x2
f
,
0x54
,
0x8a
,
0x39
,
0x9e
,
0xf9
,
0x48
,
0x96
,
0xa1
,
0x53
,
0x9c
,
0xdb
,
0x9e
,
0xfa
,
0x66
,
0xfb
,
0x2
a
,
0xc3
,
0x1c
,
0xcf
,
0x03
,
0x24
,
0xcb
,
0xc8
,
0x2d
,
0xcf
,
0x6d
,
0x4f
,
0x7d
,
0xb3
,
0xfd
,
0xa9
,
0x
53
,
0x2f
,
0x48
,
0xb0
,
0xd5
,
0x45
,
0x82
,
0xed
,
0x3a
,
0x09
,
0xec
,
0xd7
,
0x1a
,
0xec
,
0x9c
,
0x66
,
0x
97
,
0x24
,
0xd8
,
0xea
,
0x22
,
0xc1
,
0xb6
,
0x4a
,
0x02
,
0xe7
,
0xb5
,
0x01
,
0x3b
,
0x47
,
0x79
,
0x4e
,
0x19
,
0x
65
,
0x98
,
0x02
,
0x59
,
0xe6
,
0x23
,
0x00
,
0xf1
,
0x71
,
0x0c
,
0x45
,
0x13
,
0xa1
,
0x94
,
0x12
,
0x19
,
0x
a6
,
0x40
,
0x96
,
0x79
,
0x1f
,
0x40
,
0x7c
,
0x1c
,
0x43
,
0x31
,
0x44
,
0x28
,
0x95
,
0x84
,
0x1b
,
0x
6e
,
0x70
,
0xce
,
0x96
,
0x22
,
0x99
,
0x3a
,
0x26
,
0xb3
,
0x38
,
0x8b
,
0x3b
,
0x4f
,
0xdc
,
0x19
,
0xf9
,
0x
5c
,
0xb0
,
0x95
,
0x48
,
0xa6
,
0x89
,
0xc9
,
0x2c
,
0xcf
,
0xe2
,
0xce
,
0x17
,
0x77
,
0x56
,
0x71
,
0xe7
,
0x9
d
,
0x57
,
0xdc
,
0x51
,
0xf6
,
0x73
,
0xb5
,
0x9a
,
0xc5
,
0xd9
,
0x7e
,
0x63
,
0xc0
,
0x6e
,
0xad
,
0xc
3
,
0x9
7
,
0x77
,
0x94
,
0xfd
,
0x52
,
0xaf
,
0x66
,
0x79
,
0x76
,
0xde
,
0x58
,
0xb0
,
0xab
,
0x74
,
0xb8
,
0x2
3
,
0x9
d
,
0x7a
,
0xbc
,
0x32
,
0xe4
,
0x11
,
0xf4
,
0x45
,
0x2f
,
0x40
,
0x3f
,
0x46
,
0x27
,
0x07
,
0xf2
,
0x81
,
0x9
f
,
0x57
,
0x86
,
0x3c
,
0x82
,
0x81
,
0xe8
,
0x05
,
0xe8
,
0xc7
,
0xf8
,
0xf0
,
0x9e
,
0x7c
,
0xa0
,
0x0a
,
0x
d6
,
0xb0
,
0x53
,
0x44
,
0x9c
,
0xdf
,
0x73
,
0x24
,
0x96
,
0x6b
,
0x89
,
0xf7
,
0x8e
,
0xfe
,
0x75
,
0x68
,
0x
76
,
0x86
,
0x88
,
0x93
,
0x5b
,
0xae
,
0xc4
,
0x72
,
0x2d
,
0xf1
,
0xde
,
0xd1
,
0xbf
,
0x0e
,
0x2d
,
0x41
,
0x
09
,
0x6a
,
0x73
,
0x2d
,
0x81
,
0x25
,
0x9f
,
0x81
,
0x99
,
0xd2
,
0xc4
,
0x5d
,
0xa2
,
0xe3
,
0xa3
,
0x9
3
,
0x
6d
,
0xae
,
0x25
,
0xb0
,
0xe4
,
0x73
,
0xe8
,
0x67
,
0x34
,
0xf5
,
0x56
,
0xe8
,
0xf8
,
0xf8
,
0xf0
,
0x8
3
,
0x
f7
,
0xda
,
0x94
,
0x1c
,
0x0e
,
0x38
,
0xbf
,
0xe7
,
0x08
,
0x24
,
0xff
,
0x90
,
0x9b
,
0x24
,
0x34
,
0xf2
,
0x
36
,
0x25
,
0x97
,
0x03
,
0x4e
,
0x6e
,
0xb9
,
0x02
,
0xc9
,
0x3f
,
0xe4
,
0xa5
,
0x29
,
0x8d
,
0x03
,
0x0c
,
0x
31
,
0xa0
,
0x8e
,
0x0f
,
0x9d
,
0x22
,
0x82
,
0x7f
,
0x48
,
0x60
,
0xc9
,
0x31
,
0xf4
,
0x2e
,
0x28
,
0xf5
,
0x
a8
,
0xe3
,
0x43
,
0x47
,
0x88
,
0xe0
,
0x1f
,
0x12
,
0x58
,
0x72
,
0x00
,
0xbd
,
0x53
,
0x4a
,
0x03
,
0xa4
,
0x
91
,
0xae
,
0xa3
,
0x13
,
0xab
,
0x4d
,
0xe7
,
0x19
,
0xa5
,
0x5c
,
0x03
,
0x71
,
0xdc
,
0x31
,
0x2f
,
0x8
c
,
0x
eb
,
0xf8
,
0xd0
,
0x6e
,
0xd3
,
0x79
,
0x46
,
0x29
,
0xd7
,
0x40
,
0x1c
,
0x77
,
0xcc
,
0x8f
,
0x92
,
0x5
c
,
0x
33
,
0x41
,
0xdd
,
0x0e
,
0xc7
,
0xa6
,
0x1c
,
0xc0
,
0x1d
,
0x43
,
0x24
,
0x77
,
0xec
,
0xca
,
0x8d
,
0xd
c
,
0x
50
,
0xb7
,
0xc3
,
0xb1
,
0x19
,
0x07
,
0x70
,
0xc7
,
0x10
,
0xc9
,
0x1d
,
0x3b
,
0xf7
,
0x62
,
0xef
,
0x4
c
,
0x
4b
,
0xd1
,
0x34
,
0x3b
,
0x1c
,
0xfb
,
0x06
,
0x11
,
0xdc
,
0x31
,
0x81
,
0x25
,
0xdb
,
0xa0
,
0xb3
,
0xa5
,
0x
34
,
0xcd
,
0x0e
,
0xc7
,
0xbe
,
0x45
,
0x04
,
0x77
,
0x4c
,
0x60
,
0xc9
,
0x36
,
0x98
,
0x6c
,
0x25
,
0xd9
,
0x6
4
,
0xa7
,
0xce
,
0x96
,
0x67
,
0x03
,
0x30
,
0x6f
,
0xf8
,
0x3b
,
0xb2
,
0xff
,
0xd2
,
0x94
,
0xf2
,
0x08
,
0x6
9
,
0xb2
,
0xd5
,
0xf1
,
0x10
,
0xfa
,
0x97
,
0xfc
,
0x1d
,
0x39
,
0x7f
,
0x1b
,
0x5a
,
0x79
,
0x84
,
0xaa
,
0x
55
,
0x75
,
0x70
,
0x68
,
0xab
,
0x0d
,
0x0e
,
0x7d
,
0x9d
,
0xc1
,
0x61
,
0x74
,
0x0d
,
0x8e
,
0xb2
,
0x6d
,
0x
3e
,
0x38
,
0x8c
,
0x9b
,
0x0d
,
0x0e
,
0x73
,
0x9d
,
0xc1
,
0x61
,
0x75
,
0x0d
,
0x8e
,
0xaa
,
0x6d
,
0xf6
,
0xf
6
,
0xd4
,
0xb6
,
0xc9
,
0x1f
,
0xc6
,
0xcb
,
0xea
,
0xd0
,
0x13
,
0x8d
,
0xa1
,
0x21
,
0xc7
,
0x26
,
0xb8
,
0xf
4
,
0xb6
,
0xc9
,
0x1f
,
0xc6
,
0xcb
,
0xfa
,
0xd0
,
0x13
,
0x8d
,
0xa1
,
0x21
,
0xc7
,
0x26
,
0xb8
,
0xcc
,
0x
48
,
0x53
,
0x1a
,
0x89
,
0x8e
,
0xd5
,
0x97
,
0x4d
,
0xb0
,
0x14
,
0xd9
,
0x0f
,
0xe1
,
0x41
,
0xbd
,
0x98
,
0x
32
,
0x1a
,
0x8b
,
0x8e
,
0x35
,
0x90
,
0x4d
,
0xb0
,
0x12
,
0x39
,
0x0f
,
0xe1
,
0x8e
,
0x5a
,
0x4c
,
0xde
,
0x
bc
,
0xcd
,
0x1d
,
0x01
,
0x64
,
0x8b
,
0x84
,
0xa6
,
0xfc
,
0x90
,
0x59
,
0xda
,
0xd8
,
0xe0
,
0x33
,
0xab
,
0x
e6
,
0xf6
,
0x01
,
0xf2
,
0x65
,
0x4a
,
0x33
,
0x7e
,
0xc8
,
0x6d
,
0x63
,
0x62
,
0xf1
,
0x99
,
0x55
,
0x49
,
0x9
4
,
0xd8
,
0x8f
,
0x95
,
0x6c
,
0x09
,
0x82
,
0x36
,
0x46
,
0xb1
,
0xd6
,
0x1c
,
0xc5
,
0xf6
,
0x77
,
0x8a
,
0x9
c
,
0xc7
,
0x5a
,
0xb6
,
0x04
,
0x41
,
0x1b
,
0xa3
,
0xd8
,
0x68
,
0x8e
,
0x62
,
0xe7
,
0x7b
,
0x4d
,
0x55
,
0x
aa
,
0x60
,
0xe9
,
0x1a
,
0xf3
,
0x7e
,
0x4f
,
0xd6
,
0x4c
,
0xb6
,
0x5f
,
0x59
,
0xc0
,
0x57
,
0x40
,
0x9a
,
0x
b0
,
0x74
,
0x8d
,
0x79
,
0xbf
,
0x27
,
0x6b
,
0x26
,
0xdb
,
0xaf
,
0x2c
,
0xe0
,
0x2b
,
0x20
,
0x4d
,
0x1e
,
0x
3c
,
0x5e
,
0xc3
,
0x6a
,
0xb5
,
0x41
,
0xe9
,
0xf5
,
0x06
,
0x65
,
0xff
,
0xa6
,
0x92
,
0x43
,
0x10
,
0xfe
,
0x
af
,
0x61
,
0xb5
,
0xde
,
0xa0
,
0x4c
,
0xb5
,
0x41
,
0x39
,
0xbf
,
0xeb
,
0xe4
,
0x10
,
0x84
,
0xff
,
0x7f
,
0x
bf
,
0xb1
,
0xbe
,
0xfa
,
0xd0
,
0xb0
,
0x7f
,
0x54
,
0x4a
,
0xc5
,
0xdf
,
0x10
,
0x37
,
0x8d
,
0x55
,
0x5f
,
0x
ac
,
0xdf
,
0x7c
,
0x68
,
0x38
,
0x3f
,
0x69
,
0xa5
,
0xe2
,
0x6f
,
0x88
,
0x9b
,
0xc6
,
0xaa
,
0xaf
,
0x52
,
0x
26
,
0x22
,
0xdf
,
0xa6
,
0x53
,
0x9c
,
0x79
,
0xaa
,
0x12
,
0xd9
,
0xc5
,
0x8c
,
0x89
,
0xee
,
0x88
,
0x03
,
0x
91
,
0xef
,
0xbe
,
0x5b
,
0x9e
,
0x79
,
0xaa
,
0x52
,
0xd9
,
0xc5
,
0xac
,
0xa9
,
0xe9
,
0x8a
,
0x03
,
0xe7
,
0x
e7
,
0xd5
,
0x4d
,
0x1c
,
0x2e
,
0xae
,
0xf8
,
0x77
,
0x0c
,
0xce
,
0x2b
,
0x71
,
0xb2
,
0xbf
,
0x52
,
0x52
,
0x
d5
,
0x65
,
0x12
,
0x2d
,
0xcf
,
0xf9
,
0x77
,
0x2c
,
0xce
,
0x2b
,
0x71
,
0x72
,
0xbe
,
0xd6
,
0x52
,
0x88
,
0x
88
,
0x2f
,
0x6e
,
0xf5
,
0x20
,
0xed
,
0xd7
,
0x3a
,
0xec
,
0x39
,
0xd4
,
0xa3
,
0x41
,
0xc2
,
0xfe
,
0xe9
,
0x
2f
,
0xee
,
0xe6
,
0x41
,
0x3a
,
0xaf
,
0x4d
,
0xd8
,
0x73
,
0xa9
,
0x4f
,
0xc3
,
0x94
,
0xfd
,
0xdb
,
0x5d
,
0x
2e
,
0x57
,
0xdf
,
0x95
,
0xf4
,
0xc6
,
0xae
,
0xa4
,
0x0c
,
0x68
,
0xa3
,
0x39
,
0xa0
,
0xab
,
0x99
,
0xee
,
0x
4e
,
0xdd
,
0x95
,
0xcc
,
0xc6
,
0xae
,
0xa4
,
0x0d
,
0x68
,
0xab
,
0x39
,
0xa0
,
0xeb
,
0x99
,
0xee
,
0x69
,
0x
29
,
0x99
,
0x2e
,
0x07
,
0xa0
,
0x59
,
0x1b
,
0x80
,
0x87
,
0x30
,
0x7c
,
0x51
,
0x8c
,
0xae
,
0xbe
,
0x18
,
0x
99
,
0xae
,
0x06
,
0x60
,
0x5f
,
0x19
,
0x80
,
0xf7
,
0x61
,
0xf4
,
0xa2
,
0x1c
,
0x5d
,
0x03
,
0x31
,
0xba
,
0x
5d
,
0x85
,
0xa0
,
0x1c
,
0x3a
,
0x83
,
0xae
,
0xa1
,
0xb3
,
0xa1
,
0x0c
,
0x9d
,
0x3f
,
0x54
,
0xbe
,
0xc8
,
0x
4a
,
0x41
,
0x35
,
0x74
,
0x86
,
0x5d
,
0x43
,
0x67
,
0x43
,
0x1b
,
0x3a
,
0x7f
,
0xea
,
0x7c
,
0x91
,
0x73
,
0x
b9
,
0xb3
,
0x7a
,
0x1e
,
0x08
,
0xf4
,
0xdc
,
0x32
,
0x03
,
0xf8
,
0xbb
,
0x16
,
0x99
,
0xd1
,
0x19
,
0x59
,
0x
e7
,
0xe6
,
0x79
,
0x20
,
0xd0
,
0xf3
,
0xaa
,
0x0c
,
0xe0
,
0xdf
,
0x4a
,
0x64
,
0x56
,
0x67
,
0x64
,
0x3d
,
0x
af
,
0x16
,
0x59
,
0xe1
,
0xbb
,
0x59
,
0xf1
,
0xdd
,
0x7e
,
0x0e
,
0x7b
,
0x2d
,
0xee
,
0x65
,
0xe4
,
0x11
,
0x
25
,
0xb2
,
0xd2
,
0xf7
,
0x7e
,
0xcd
,
0x77
,
0xe7
,
0x39
,
0xec
,
0xb5
,
0xb8
,
0x97
,
0x93
,
0x47
,
0x30
,
0x
0c
,
0x52
,
0xb9
,
0x2d
,
0x6a
,
0xb8
,
0x2d
,
0x1e
,
0xb4
,
0x4f
,
0x08
,
0x5c
,
0x1a
,
0x73
,
0xa8
,
0xfd
,
0x
cc
,
0xe4
,
0xb6
,
0x68
,
0xe0
,
0xb6
,
0x78
,
0xaf
,
0x7d
,
0x42
,
0xe0
,
0xd2
,
0x58
,
0x40
,
0x9d
,
0x6f
,
0x
35
,
0xaf
,
0xfa
,
0x75
,
0x0d
,
0x32
,
0x8b
,
0x2e
,
0xe2
,
0x35
,
0x88
,
0xf3
,
0x56
,
0x87
,
0xf7
,
0x1d
,
0x
78
,
0xd5
,
0x2f
,
0x14
,
0xc8
,
0x3c
,
0x3e
,
0x4d
,
0xd6
,
0x20
,
0xce
,
0x5b
,
0x13
,
0x3e
,
0x74
,
0x69
,
0x
9a
,
0xd4
,
0xc9
,
0x27
,
0x5a
,
0x14
,
0x5a
,
0x2a
,
0xa3
,
0xd3
,
0x6a
,
0xd1
,
0xbd
,
0xbb
,
0x9b
,
0x7f
,
0x
aa
,
0x92
,
0x4f
,
0xb4
,
0x28
,
0xb4
,
0x54
,
0x45
,
0x67
,
0x28
,
0xd1
,
0xbd
,
0xbb
,
0x9b
,
0x7f
,
0xd5
,
0x
d9
,
0xfa
,
0x37
,
0x6a
,
0xad
,
0xbf
,
0x25
,
0xa7
,
0xc3
,
0x76
,
0x06
,
0x29
,
0xdb
,
0x2f
,
0x34
,
0xb7
,
0x
fa
,
0x37
,
0x94
,
0xd6
,
0xdf
,
0x92
,
0xd3
,
0x51
,
0x3b
,
0x83
,
0xb4
,
0xed
,
0x17
,
0x9a
,
0xdb
,
0xef
,
0x
df
,
0x29
,
0xfc
,
0xaf
,
0xad
,
0x6e
,
0x59
,
0x3e
,
0x5f
,
0x2a
,
0xd6
,
0xf2
,
0x11
,
0xd0
,
0x90
,
0xdb
,
0x
0c
,
0xde
,
0x6b
,
0xab
,
0x5b
,
0x5e
,
0xcc
,
0x97
,
0x9a
,
0xb5
,
0x62
,
0x04
,
0x34
,
0xe4
,
0xce
,
0x8f
,
0x
3f
,
0xc0
,
0xe1
,
0x1d
,
0x95
,
0xcb
,
0xc8
,
0x17
,
0x9c
,
0x80
,
0x17
,
0x71
,
0x4e
,
0x28
,
0x5b
,
0x12
,
0x
70
,
0xff
,
0x9a
,
0xca
,
0xe5
,
0xe4
,
0x4b
,
0x4e
,
0xc0
,
0xd3
,
0xa4
,
0x20
,
0x94
,
0x23
,
0x09
,
0x75
,
0x
ea
,
0x0e
,
0x1d
,
0x47
,
0x28
,
0xd8
,
0xe7
,
0x60
,
0xa9
,
0xee
,
0x9d
,
0x2d
,
0xe5
,
0x93
,
0xec
,
0x2
2
,
0x
8d
,
0x8e
,
0x2b
,
0x14
,
0x9c
,
0x13
,
0xb0
,
0x75
,
0xf7
,
0x8e
,
0x57
,
0xf2
,
0x49
,
0x76
,
0x11
,
0xa
2
,
0x
44
,
0x41
,
0x77
,
0xbd
,
0x4a
,
0xf7
,
0x57
,
0xb0
,
0xdf
,
0xb4
,
0x84
,
0x05
,
0xc8
,
0x9f
,
0x99
,
0x56
,
0x
a4
,
0xbb
,
0x59
,
0xa7
,
0xfb
,
0x2b
,
0xb8
,
0xdb
,
0xb4
,
0x84
,
0x05
,
0x28
,
0x9e
,
0x99
,
0x51
,
0x7b
,
0x
79
,
0x66
,
0xa5
,
0x6d
,
0xbd
,
0xdd
,
0xb6
,
0x51
,
0xb5
,
0xfd
,
0x21
,
0xec
,
0xaa
,
0xb1
,
0xcc
,
0x9e
,
0x
66
,
0x95
,
0x6d
,
0xb3
,
0xdd
,
0xb6
,
0x55
,
0xb7
,
0xfd
,
0x31
,
0xec
,
0xea
,
0xb1
,
0xcc
,
0x9f
,
0xe4
,
0x64
,
0x
64
,
0x07
,
0x8c
,
0xd9
,
0x93
,
0x3c
,
0x6b
,
0xfc
,
0xa7
,
0xfd
,
0xbb
,
0xc6
,
0x33
,
0x75
,
0xdd
,
0x64
,
0x
07
,
0xac
,
0xf9
,
0x93
,
0x22
,
0x6b
,
0xfc
,
0x4f
,
0xe7
,
0x0f
,
0x83
,
0x67
,
0xea
,
0xa2
,
0xe5
,
0x
f2
,
0x92
,
0xa4
,
0x2f
,
0xff
,
0xae
,
0x39
,
0x94
,
0x5e
,
0x1b
,
0xed
,
0x5e
,
0xf7
,
0xaa
,
0x5e
,
0xdf
,
0x
25
,
0x49
,
0x5f
,
0xfe
,
0x5b
,
0x73
,
0xa8
,
0xbc
,
0xb6
,
0xda
,
0xbd
,
0xee
,
0xd5
,
0xbd
,
0xbe
,
0x82
,
0x
c2
,
0x51
,
0x97
,
0x2f
,
0x32
,
0xc3
,
0xab
,
0x7b
,
0xb3
,
0x5e
,
0xbe
,
0xce
,
0xe1
,
0xff
,
0x6a
,
0xbe
,
0x
fd
,
0x2e
,
0x5f
,
0x64
,
0x86
,
0x6f
,
0xee
,
0xcd
,
0x7a
,
0xf9
,
0x3a
,
0x81
,
0xf7
,
0xf5
,
0x7c
,
0x15
,
0x
f2
,
0xee
,
0xf3
,
0xa9
,
0xda
,
0x7d
,
0x5a
,
0xff
,
0xaf
,
0x5a
,
0xb4
,
0x9d
,
0x9f
,
0x9a
,
0x55
,
0x5d
,
0x
dd
,
0xe7
,
0x81
,
0xde
,
0x7d
,
0x5a
,
0x7f
,
0xab
,
0x96
,
0x6d
,
0xe7
,
0xe7
,
0x66
,
0x55
,
0xd7
,
0x6e
,
0xb
b
,
0xcd
,
0xde
,
0x35
,
0xf4
,
0x9f
,
0x72
,
0xfb
,
0x6d
,
0x9e
,
0x92
,
0x8f
,
0xa1
,
0x2f
,
0x50
,
0x72
,
0xb
3
,
0xd7
,
0x0d
,
0xfd
,
0xa7
,
0xdc
,
0x7e
,
0x9b
,
0xa7
,
0xe4
,
0x53
,
0x18
,
0x08
,
0x94
,
0x5c
,
0xd9
,
0x
65
,
0x6f
,
0xf5
,
0x53
,
0x42
,
0xec
,
0x37
,
0x7a
,
0xd3
,
0xce
,
0x34
,
0x8e
,
0x2e
,
0x82
,
0xcb
,
0x77
,
0x
5b
,
0xfd
,
0x94
,
0x10
,
0xe7
,
0x8d
,
0xd9
,
0xb4
,
0x33
,
0x4b
,
0xe2
,
0xd3
,
0xf0
,
0xec
,
0x9d
,
0xd8
,
0x
62
,
0xb7
,
0xac
,
0xb4
,
0x98
,
0x7e
,
0xa3
,
0xc5
,
0xa8
,
0xdb
,
0xe7
,
0xa0
,
0xb1
,
0x7d
,
0xce
,
0xfb
,
0x
2d
,
0x6b
,
0x2d
,
0x66
,
0xd0
,
0x68
,
0x31
,
0xfa
,
0xf6
,
0x39
,
0x6c
,
0x6e
,
0x9f
,
0x0f
,
0x78
,
0x13
,
0x
f8
,
0x67
,
0xa0
,
0x87
,
0x7f
,
0x07
,
0x00
,
0x00
,
0xff
,
0xff
,
0x62
,
0x8b
,
0x02
,
0x61
,
0x1d
,
0x12
,
0x
52
,
0xb3
,
0x23
,
0x7e
,
0x4b
,
0x95
,
0xab
,
0x8b
,
0x81
,
0x21
,
0x88
,
0xc3
,
0x62
,
0x80
,
0xff
,
0x6b
,
0x00
,
0x00
,
0x
f4
,
0xf0
,
0x9f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x8a
,
0xd8
,
0xf3
,
0xdd
,
0x4c
,
0x12
,
0x
00
,
0x00
,
}
}
plugin/dapp/issuance/commands/cmd.go
View file @
172ed60e
...
@@ -269,6 +269,27 @@ func IssuanceManage(cmd *cobra.Command, args []string) {
...
@@ -269,6 +269,27 @@ func IssuanceManage(cmd *cobra.Command, args []string) {
ctx
.
RunWithoutMarshal
()
ctx
.
RunWithoutMarshal
()
}
}
func
IssuacneQueryPriceCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"price"
,
Short
:
"Query latest price"
,
Run
:
IssuanceQueryPrice
,
}
return
cmd
}
func
IssuanceQueryPrice
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pkt
.
IssuanceX
params
.
FuncName
=
"IssuancePrice"
var
res
pkt
.
RepIssuancePrice
ctx
:=
jsonrpc
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
// IssuanceQueryCmd 查询命令行
// IssuanceQueryCmd 查询命令行
func
IssuanceQueryCmd
()
*
cobra
.
Command
{
func
IssuanceQueryCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
...
@@ -277,6 +298,9 @@ func IssuanceQueryCmd() *cobra.Command {
...
@@ -277,6 +298,9 @@ func IssuanceQueryCmd() *cobra.Command {
Run
:
IssuanceQuery
,
Run
:
IssuanceQuery
,
}
}
addIssuanceQueryFlags
(
cmd
)
addIssuanceQueryFlags
(
cmd
)
cmd
.
AddCommand
(
IssuacneQueryPriceCmd
(),
)
return
cmd
return
cmd
}
}
...
...
plugin/dapp/issuance/executor/issuancedb.go
View file @
172ed60e
...
@@ -458,7 +458,7 @@ func getBtyNumToFrozen(value int64, price float32, ratio float32) (int64,error)
...
@@ -458,7 +458,7 @@ func getBtyNumToFrozen(value int64, price float32, ratio float32) (int64,error)
}
}
// 获取最近抵押物价格
// 获取最近抵押物价格
func
(
action
*
Action
)
getLatestPrice
(
db
dbm
.
KV
)
(
float32
,
error
)
{
func
getLatestPrice
(
db
dbm
.
KV
)
(
float32
,
error
)
{
data
,
err
:=
db
.
Get
(
PriceKey
())
data
,
err
:=
db
.
Get
(
PriceKey
())
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"getLatestPrice"
,
"get"
,
err
)
clog
.
Error
(
"getLatestPrice"
,
"get"
,
err
)
...
@@ -544,7 +544,7 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
...
@@ -544,7 +544,7 @@ func (action *Action) IssuanceDebt(debt *pty.IssuanceDebt) (*types.Receipt, erro
clog
.
Debug
(
"IssuanceDebt"
,
"value"
,
debt
.
GetValue
())
clog
.
Debug
(
"IssuanceDebt"
,
"value"
,
debt
.
GetValue
())
// 获取抵押物价格
// 获取抵押物价格
lastPrice
,
err
:=
action
.
getLatestPrice
(
action
.
db
)
lastPrice
,
err
:=
getLatestPrice
(
action
.
db
)
if
err
!=
nil
{
if
err
!=
nil
{
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
clog
.
Error
(
"IssuanceDebt"
,
"CollID"
,
issu
.
IssuanceId
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
err
)
return
nil
,
err
return
nil
,
err
...
...
plugin/dapp/issuance/executor/query.go
View file @
172ed60e
...
@@ -111,4 +111,14 @@ func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecordsBySt
...
@@ -111,4 +111,14 @@ func (c *Issuance) Query_IssuanceRecordsByStatus(req *pty.ReqIssuanceRecordsBySt
ret
.
Records
=
append
(
ret
.
Records
,
records
...
)
ret
.
Records
=
append
(
ret
.
Records
,
records
...
)
return
ret
,
nil
return
ret
,
nil
}
func
(
c
*
Issuance
)
Query_IssuancePrice
(
req
*
pty
.
ReqIssuanceRecordsByStatus
)
(
types
.
Message
,
error
)
{
price
,
err
:=
getLatestPrice
(
c
.
GetStateDB
())
if
err
!=
nil
{
clog
.
Error
(
"Query_CollateralizePrice"
,
"error"
,
err
)
return
nil
,
err
}
return
&
pty
.
RepIssuancePrice
{
Price
:
price
},
nil
}
}
\ No newline at end of file
plugin/dapp/issuance/proto/issuance.proto
View file @
172ed60e
...
@@ -192,3 +192,8 @@ message ReqIssuanceDebtInfo {
...
@@ -192,3 +192,8 @@ message ReqIssuanceDebtInfo {
message
RepIssuanceDebtInfo
{
message
RepIssuanceDebtInfo
{
DebtRecord
record
=
1
;
DebtRecord
record
=
1
;
}
}
// 返回最新抵押物价格
message
RepIssuancePrice
{
float
price
=
1
;
//当前抵押物最新价格
}
\ No newline at end of file
plugin/dapp/issuance/types/issuance.pb.go
View file @
172ed60e
...
@@ -1600,6 +1600,46 @@ func (m *RepIssuanceDebtInfo) GetRecord() *DebtRecord {
...
@@ -1600,6 +1600,46 @@ func (m *RepIssuanceDebtInfo) GetRecord() *DebtRecord {
return
nil
return
nil
}
}
// 返回最新抵押物价格
type
RepIssuancePrice
struct
{
Price
float32
`protobuf:"fixed32,1,opt,name=price,proto3" json:"price,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
RepIssuancePrice
)
Reset
()
{
*
m
=
RepIssuancePrice
{}
}
func
(
m
*
RepIssuancePrice
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
RepIssuancePrice
)
ProtoMessage
()
{}
func
(
*
RepIssuancePrice
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor_7110f4228953d675
,
[]
int
{
24
}
}
func
(
m
*
RepIssuancePrice
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
return
xxx_messageInfo_RepIssuancePrice
.
Unmarshal
(
m
,
b
)
}
func
(
m
*
RepIssuancePrice
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
return
xxx_messageInfo_RepIssuancePrice
.
Marshal
(
b
,
m
,
deterministic
)
}
func
(
m
*
RepIssuancePrice
)
XXX_Merge
(
src
proto
.
Message
)
{
xxx_messageInfo_RepIssuancePrice
.
Merge
(
m
,
src
)
}
func
(
m
*
RepIssuancePrice
)
XXX_Size
()
int
{
return
xxx_messageInfo_RepIssuancePrice
.
Size
(
m
)
}
func
(
m
*
RepIssuancePrice
)
XXX_DiscardUnknown
()
{
xxx_messageInfo_RepIssuancePrice
.
DiscardUnknown
(
m
)
}
var
xxx_messageInfo_RepIssuancePrice
proto
.
InternalMessageInfo
func
(
m
*
RepIssuancePrice
)
GetPrice
()
float32
{
if
m
!=
nil
{
return
m
.
Price
}
return
0
}
func
init
()
{
func
init
()
{
proto
.
RegisterType
((
*
Issuance
)(
nil
),
"types.Issuance"
)
proto
.
RegisterType
((
*
Issuance
)(
nil
),
"types.Issuance"
)
proto
.
RegisterType
((
*
DebtRecord
)(
nil
),
"types.DebtRecord"
)
proto
.
RegisterType
((
*
DebtRecord
)(
nil
),
"types.DebtRecord"
)
...
@@ -1625,79 +1665,81 @@ func init() {
...
@@ -1625,79 +1665,81 @@ func init() {
proto
.
RegisterType
((
*
RepIssuanceRecords
)(
nil
),
"types.RepIssuanceRecords"
)
proto
.
RegisterType
((
*
RepIssuanceRecords
)(
nil
),
"types.RepIssuanceRecords"
)
proto
.
RegisterType
((
*
ReqIssuanceDebtInfo
)(
nil
),
"types.ReqIssuanceDebtInfo"
)
proto
.
RegisterType
((
*
ReqIssuanceDebtInfo
)(
nil
),
"types.ReqIssuanceDebtInfo"
)
proto
.
RegisterType
((
*
RepIssuanceDebtInfo
)(
nil
),
"types.RepIssuanceDebtInfo"
)
proto
.
RegisterType
((
*
RepIssuanceDebtInfo
)(
nil
),
"types.RepIssuanceDebtInfo"
)
proto
.
RegisterType
((
*
RepIssuancePrice
)(
nil
),
"types.RepIssuancePrice"
)
}
}
func
init
()
{
proto
.
RegisterFile
(
"issuance.proto"
,
fileDescriptor_7110f4228953d675
)
}
func
init
()
{
proto
.
RegisterFile
(
"issuance.proto"
,
fileDescriptor_7110f4228953d675
)
}
var
fileDescriptor_7110f4228953d675
=
[]
byte
{
var
fileDescriptor_7110f4228953d675
=
[]
byte
{
// 1103 bytes of a gzipped FileDescriptorProto
// 1119 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xbc
,
0x57
,
0xdd
,
0x6e
,
0xe3
,
0x44
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xbc
,
0x57
,
0xcd
,
0x6e
,
0xe4
,
0x44
,
0x14
,
0xae
,
0xed
,
0x38
,
0x3f
,
0x27
,
0x6d
,
0xda
,
0x9d
,
0xed
,
0x16
,
0x6b
,
0x05
,
0xab
,
0xc8
,
0xe2
,
0x10
,
0x8e
,
0xed
,
0xf1
,
0xfc
,
0xd4
,
0x24
,
0x93
,
0x6c
,
0x6f
,
0x36
,
0x58
,
0x2b
,
0x58
,
0x8d
,
0x2c
,
0x22
,
0x0b
,
0xa8
,
0x85
,
0x16
,
0x21
,
0x71
,
0x47
,
0xd3
,
0x02
,
0x8d
,
0xc4
,
0x22
,
0x64
,
0x56
,
0x2b
,
0x0e
,
0xb3
,
0x80
,
0x12
,
0x48
,
0x10
,
0x12
,
0x37
,
0x32
,
0x09
,
0x90
,
0x91
,
0x58
,
0x84
,
0xcc
,
0x6a
,
0x6e
,
0x5d
,
0x7b
,
0xba
,
0x32
,
0x72
,
0x63
,
0xaf
,
0x3d
,
0xa9
,
0x36
,
0x12
,
0xef
,
0xc0
,
0x3d
,
0xef
,
0xc5
,
0xd5
,
0xb1
,
0x3b
,
0x2b
,
0x23
,
0x67
,
0xec
,
0xb5
,
0x7b
,
0xa2
,
0x1d
,
0x89
,
0x77
,
0xe0
,
0xce
,
0xc2
,
0x3d
,
0x0f
,
0xc0
,
0xa3
,
0xf0
,
0x00
,
0xe8
,
0x9c
,
0x19
,
0x7b
,
0xfc
,
0x97
,
0x26
,
0xe2
,
0x82
,
0xbb
,
0x70
,
0xe7
,
0x01
,
0x78
,
0x14
,
0x1e
,
0x00
,
0x55
,
0x75
,
0xdb
,
0xed
,
0xbf
,
0xc9
,
0x8c
,
0x38
,
0x9b
,
0x2a
,
0x73
,
0xe6
,
0xf8
,
0xfc
,
0x7d
,
0xdf
,
0x7c
,
0x33
,
0x85
,
0x49
,
0x94
,
0xe7
,
0x2b
,
0x7f
,
0x70
,
0x89
,
0xa6
,
0xab
,
0xcb
,
0x55
,
0xd5
,
0xf5
,
0x7d
,
0xfd
,
0x75
,
0x05
,
0x26
,
0x51
,
0x9e
,
0xaf
,
0x19
,
0xf0
,
0xd3
,
0x34
,
0x4b
,
0x44
,
0xc2
,
0x6c
,
0xb1
,
0x4e
,
0x79
,
0xee
,
0xfe
,
0xd3
,
0x83
,
0xe1
,
0xfc
,
0x65
,
0xc0
,
0x4f
,
0xd3
,
0x2c
,
0x11
,
0x09
,
0xb3
,
0xc5
,
0x3a
,
0xe5
,
0xb9
,
0xfb
,
0x4f
,
0x0f
,
0x42
,
0xed
,
0xb0
,
0x17
,
0x00
,
0x85
,
0xd7
,
0x22
,
0x74
,
0x8c
,
0xa9
,
0x31
,
0x1b
,
0x79
,
0x15
,
0x0b
,
0x86
,
0x0b
,
0xb5
,
0xc3
,
0x5e
,
0x00
,
0x14
,
0x5e
,
0x8b
,
0xd0
,
0x31
,
0xa6
,
0xc6
,
0x6c
,
0xe4
,
0x55
,
0x73
,
0x61
,
0x5f
,
0x24
,
0xc2
,
0x8f
,
0xe7
,
0x7e
,
0x8c
,
0x16
,
0xc7
,
0x9c
,
0x1a
,
0x33
,
0xcb
,
0xab
,
0x2c
,
0xcc
,
0x85
,
0x7d
,
0x91
,
0x08
,
0x3f
,
0x9e
,
0xfb
,
0x31
,
0x5a
,
0x1c
,
0x73
,
0x6a
,
0xcc
,
0x2c
,
0xd9
,
0xd8
,
0x14
,
0xc6
,
0x21
,
0xbf
,
0x15
,
0x57
,
0x3c
,
0x8a
,
0xa3
,
0xe5
,
0x5b
,
0xc7
,
0x22
,
0x97
,
0xaf
,
0x66
,
0x63
,
0x53
,
0x18
,
0x87
,
0xfc
,
0x56
,
0x5c
,
0xf1
,
0x28
,
0x8e
,
0x96
,
0x6f
,
0x1d
,
0x8b
,
0xaa
,
0x89
,
0x7d
,
0x02
,
0x47
,
0x71
,
0xf4
,
0x6e
,
0x15
,
0x85
,
0xbe
,
0x88
,
0x92
,
0xa5
,
0x87
,
0x7f
,
0x5c
,
0xaa
,
0x26
,
0xf6
,
0x09
,
0x1c
,
0xc5
,
0xd1
,
0xbb
,
0x55
,
0x14
,
0xfa
,
0x22
,
0x4a
,
0x96
,
0x1e
,
0x9d
,
0xde
,
0xd4
,
0x98
,
0x99
,
0x5e
,
0xcb
,
0xce
,
0x66
,
0x70
,
0x18
,
0x24
,
0x71
,
0xec
,
0x0b
,
0x9e
,
0xfe
,
0x75
,
0x7a
,
0x53
,
0x63
,
0x66
,
0x7a
,
0x2d
,
0x3b
,
0x9b
,
0xc1
,
0x61
,
0x90
,
0xc4
,
0xb1
,
0x2f
,
0xf9
,
0xf1
,
0x1b
,
0x3f
,
0x5e
,
0x71
,
0xc7
,
0xa6
,
0x88
,
0x4d
,
0x33
,
0xfb
,
0x10
,
0x46
,
0x98
,
0x44
,
0x78
,
0xe6
,
0xc7
,
0x6f
,
0xfc
,
0x78
,
0xc5
,
0x1d
,
0x9b
,
0x22
,
0x36
,
0xcd
,
0xec
,
0x43
,
0x18
,
0x61
,
0xfa
,
0xf4
,
0xc9
,
0x47
,
0x1b
,
0xd8
,
0x85
,
0xac
,
0xca
,
0xe3
,
0x41
,
0x92
,
0x85
,
0xb9
,
0x33
,
0x98
,
0x12
,
0xe9
,
0xd3
,
0x27
,
0x1f
,
0x6d
,
0x60
,
0x17
,
0xb2
,
0x2a
,
0x8f
,
0x07
,
0x49
,
0x16
,
0xe6
,
0xce
,
0x5a
,
0xb3
,
0xf1
,
0xf9
,
0x93
,
0x53
,
0x9a
,
0xc1
,
0xe9
,
0x75
,
0xb9
,
0xe3
,
0x55
,
0xbd
,
0xd8
,
0xd7
,
0x60
,
0x6a
,
0xcd
,
0xc6
,
0xe7
,
0x4f
,
0x4e
,
0xa9
,
0x07
,
0xa7
,
0xd7
,
0xe5
,
0x8e
,
0x57
,
0xf5
,
0x62
,
0x30
,
0x89
,
0x96
,
0x0f
,
0x7e
,
0x1c
,
0x85
,
0xc5
,
0x77
,
0xc3
,
0x4d
,
0xdf
,
0x35
,
0x1c
,
0xd9
,
0x09
,
0x5f
,
0xc3
,
0x24
,
0x5a
,
0x3e
,
0xf8
,
0x71
,
0x14
,
0x16
,
0xdf
,
0x0d
,
0x37
,
0x7d
,
0xd7
,
0x70
,
0x64
,
0xf4
,
0x73
,
0xe1
,
0x8b
,
0x55
,
0xee
,
0x8c
,
0xa6
,
0xc6
,
0xcc
,
0xf6
,
0xd4
,
0x8a
,
0x7d
,
0x05
,
0x27
,
0x27
,
0xd0
,
0xcf
,
0x85
,
0x2f
,
0x56
,
0xb9
,
0x33
,
0x9a
,
0x1a
,
0x33
,
0xdb
,
0x53
,
0x2b
,
0xf6
,
0x15
,
0x58
,
0x75
,
0x2e
,
0x7e
,
0xd0
,
0x9d
,
0xfe
,
0x94
,
0x45
,
0x01
,
0x77
,
0x80
,
0x26
,
0xb0
,
0x61
,
0x17
,
0x9c
,
0x60
,
0xd5
,
0xb9
,
0xf8
,
0x41
,
0x9f
,
0xf4
,
0xa7
,
0x2c
,
0x0a
,
0xb8
,
0x03
,
0xd4
,
0x81
,
0x0d
,
0xe3
,
0xa5
,
0x3c
,
0x8b
,
0x92
,
0xd0
,
0x19
,
0x53
,
0x6b
,
0x6a
,
0x45
,
0xb3
,
0xa4
,
0x2f
,
0xbe
,
0x7d
,
0xbb
,
0x18
,
0x2f
,
0xe5
,
0x59
,
0x94
,
0x84
,
0xce
,
0x98
,
0x8e
,
0xa6
,
0x56
,
0xd4
,
0x4b
,
0xfa
,
0xe2
,
0x9f
,
0x46
,
0x19
,
0x7f
,
0x1d
,
0xdd
,
0x73
,
0x67
,
0x9f
,
0x3c
,
0x5a
,
0x76
,
0x44
,
0x37
,
0xc8
,
0xb8
,
0xdb
,
0xf7
,
0x69
,
0x94
,
0xf1
,
0xd7
,
0xd1
,
0x3d
,
0x77
,
0xf6
,
0xc9
,
0xa3
,
0x65
,
0x47
,
0x74
,
0x83
,
0x2f
,
0xa4
,
0xd7
,
0x01
,
0x79
,
0x55
,
0x2c
,
0xcc
,
0x81
,
0xc1
,
0xad
,
0x02
,
0x76
,
0x42
,
0x9b
,
0xc5
,
0x8c
,
0xfb
,
0x42
,
0x7a
,
0x1d
,
0x90
,
0x57
,
0xc5
,
0xc2
,
0x1c
,
0x18
,
0xdc
,
0x2a
,
0x60
,
0x27
,
0xb4
,
0xb2
,
0xe0
,
0x05
,
0xcf
,
0x2e
,
0xc3
,
0x30
,
0x73
,
0x0e
,
0x35
,
0x2f
,
0xa4
,
0x85
,
0x1d
,
0x83
,
0x1d
,
0x59
,
0x2c
,
0x0b
,
0x5e
,
0xf0
,
0xec
,
0x32
,
0x0c
,
0x33
,
0xe7
,
0x50
,
0xf3
,
0x42
,
0x5a
,
0xd8
,
0x31
,
0x2d
,
0x43
,
0xfe
,
0xde
,
0x39
,
0xa2
,
0xef
,
0xe4
,
0x82
,
0x3d
,
0x87
,
0x61
,
0x9a
,
0xf1
,
0x05
,
0x6d
,
0xd8
,
0xd1
,
0x32
,
0xe4
,
0xef
,
0x9d
,
0x23
,
0xfa
,
0x4e
,
0x2e
,
0xd8
,
0x73
,
0x18
,
0xa6
,
0x19
,
0x5f
,
0x3c
,
0xa1
,
0x8d
,
0x72
,
0xed
,
0xfe
,
0x65
,
0x01
,
0xe8
,
0xf1
,
0x21
,
0x69
,
0xfc
,
0x20
,
0x48
,
0x56
,
0xd0
,
0xc6
,
0x13
,
0xda
,
0x28
,
0xd7
,
0xee
,
0x5f
,
0x16
,
0x80
,
0x6e
,
0x1f
,
0x92
,
0xc6
,
0x0f
,
0x82
,
0x4b
,
0x41
,
0x19
,
0x24
,
0xf3
,
0xaa
,
0x26
,
0x84
,
0x37
,
0x17
,
0x7e
,
0x26
,
0xa8
,
0x76
,
0xc9
,
0x3b
,
0x64
,
0xb5
,
0x14
,
0x94
,
0x41
,
0x32
,
0xaf
,
0x6a
,
0x42
,
0x78
,
0x73
,
0xe1
,
0x67
,
0x82
,
0x6a
,
0x97
,
0x6d
,
0xe8
,
0xa2
,
0x89
,
0xd5
,
0x4d
,
0x93
,
0x9a
,
0xa7
,
0x9c
,
0xbc
,
0xe4
,
0x5e
,
0xd3
,
0x5c
,
0x27
,
0xbc
,
0xd3
,
0x86
,
0x2e
,
0x9a
,
0x58
,
0xdd
,
0x34
,
0xa9
,
0x79
,
0xca
,
0xce
,
0x4b
,
0xee
,
0x35
,
0xcd
,
0x94
,
0xdd
,
0x24
,
0x54
,
0x9d
,
0xc4
,
0x32
,
0x50
,
0xbf
,
0x45
,
0xe2
,
0x12
,
0x3c
,
0x45
,
0x86
,
0x41
,
0x75
,
0x42
,
0xd9
,
0x4d
,
0x42
,
0xd5
,
0x49
,
0x2c
,
0x03
,
0xf5
,
0x5b
,
0x24
,
0x2e
,
0xc1
,
0x53
,
0x64
,
0x8d
,
0x0c
,
0x1f
,
0xc3
,
0x41
,
0xe1
,
0x2b
,
0x31
,
0x19
,
0x52
,
0x96
,
0xba
,
0x11
,
0x87
,
0xcf
,
0x35
,
0x18
,
0xd4
,
0xc8
,
0xf0
,
0x31
,
0x1c
,
0x14
,
0xbe
,
0x12
,
0x93
,
0x21
,
0x65
,
0xa9
,
0x1b
,
0xb1
,
0xf9
,
0xb8
,
0x23
,
0x09
,
0x9b
,
0xb6
,
0x60
,
0x9d
,
0x69
,
0xc6
,
0x7f
,
0x96
,
0x09
,
0x80
,
0x12
,
0x68
,
0x03
,
0x5c
,
0x83
,
0x3b
,
0x92
,
0xb0
,
0x69
,
0x0b
,
0xd6
,
0x99
,
0x66
,
0xfc
,
0x67
,
0x99
,
0x00
,
0x28
,
0x81
,
0xe6
,
0xc6
,
0xa2
,
0x17
,
0x92
,
0x38
,
0x23
,
0x4f
,
0xad
,
0xd0
,
0x8e
,
0x00
,
0x2e
,
0x42
,
0xa2
,
0xcb
,
0x36
,
0x60
,
0x6e
,
0x2c
,
0x7a
,
0x21
,
0x89
,
0x33
,
0xf2
,
0xd4
,
0x0a
,
0xed
,
0x08
,
0xe0
,
0x22
,
0x24
,
0xc8
,
0x53
,
0x2b
,
0x0d
,
0xe5
,
0xc1
,
0x26
,
0x28
,
0x27
,
0x0d
,
0x28
,
0xdf
,
0x80
,
0x53
,
0x08
,
0xc8
,
0xba
,
0x8c
,
0x3c
,
0xb5
,
0xd2
,
0x50
,
0x1e
,
0x6c
,
0x82
,
0x72
,
0xd2
,
0x80
,
0xf2
,
0x0d
,
0x38
,
0x85
,
0x65
,
0x9e
,
0x73
,
0x41
,
0x3d
,
0x2b
,
0x5c
,
0x5f
,
0x00
,
0x64
,
0xf4
,
0x8b
,
0x6a
,
0x37
,
0x64
,
0xed
,
0x80
,
0x5c
,
0xe6
,
0x39
,
0x17
,
0x74
,
0x66
,
0x85
,
0xeb
,
0x0b
,
0x80
,
0x8c
,
0x7e
,
0x51
,
0xed
,
0x86
,
0xda
,
0x82
,
0x71
,
0x6f
,
0xc5
,
0x5a
,
0x4e
,
0xcf
,
0xa4
,
0xe9
,
0x95
,
0x6b
,
0xf7
,
0x4f
,
0x13
,
0x26
,
0xac
,
0x5d
,
0x5b
,
0x30
,
0xee
,
0xad
,
0x58
,
0xcb
,
0xee
,
0x99
,
0xd4
,
0xbd
,
0x72
,
0xed
,
0xfe
,
0x69
,
0x65
,
0xe0
,
0x00
,
0xa7
,
0xc9
,
0xce
,
0xa0
,
0x2f
,
0xf9
,
0x4a
,
0xa1
,
0xc6
,
0xe7
,
0xcf
,
0xd4
,
0x41
,
0xc2
,
0xa4
,
0x0c
,
0x1c
,
0x60
,
0x37
,
0xd9
,
0x19
,
0xf4
,
0x25
,
0x5f
,
0x29
,
0xd4
,
0xf8
,
0xfc
,
0x99
,
0x2c
,
0xdc
,
0xae
,
0x68
,
0xf3
,
0x66
,
0xcf
,
0x53
,
0x6e
,
0xec
,
0x25
,
0xf4
,
0xb0
,
0x5f
,
0x8a
,
0x3d
,
0xba
,
0x88
,
0x85
,
0xdb
,
0x15
,
0x6d
,
0xde
,
0xec
,
0x79
,
0xca
,
0x8d
,
0xbd
,
0x84
,
0x1e
,
0x9e
,
0x97
,
0x3e
,
0x7f
,
0xda
,
0x70
,
0x47
,
0x02
,
0xde
,
0xec
,
0x79
,
0xe4
,
0xc2
,
0x3e
,
0x03
,
0x3b
,
0xe3
,
0xa9
,
0x62
,
0x8f
,
0xcf
,
0x9f
,
0x36
,
0xdc
,
0x91
,
0x80
,
0x37
,
0x7b
,
0x1e
,
0xb9
,
0xb0
,
0xcf
,
0xc0
,
0xce
,
0xbf
,
0x26
,
0xe2
,
0x8c
,
0xcf
,
0x8f
,
0x1b
,
0xbe
,
0x1e
,
0xee
,
0xdd
,
0xec
,
0x79
,
0xd2
,
0x09
,
0x03
,
0x78
,
0xea
,
0xaf
,
0x89
,
0x38
,
0xe3
,
0xf3
,
0xe3
,
0x86
,
0xaf
,
0x87
,
0x7b
,
0x37
,
0x7b
,
0x9e
,
0x74
,
0xdf
,
0x71
,
0x1e
,
0x12
,
0x77
,
0xda
,
0x81
,
0xbf
,
0xe3
,
0x3c
,
0xc4
,
0xc0
,
0xe8
,
0x82
,
0x81
,
0x83
,
0xc2
,
0xc0
,
0x77
,
0x9c
,
0x87
,
0xc4
,
0x9d
,
0x76
,
0xe0
,
0xef
,
0x38
,
0x0f
,
0x31
,
0x30
,
0xba
,
0x60
,
0x38
,
0xc9
,
0x25
,
0x87
,
0xda
,
0x81
,
0xaf
,
0x70
,
0x0f
,
0x03
,
0x93
,
0x13
,
0xb6
,
0x78
,
0xef
,
0x2f
,
0xe0
,
0x20
,
0x4e
,
0x72
,
0xc9
,
0xa1
,
0x76
,
0xe0
,
0x2b
,
0xdc
,
0xc3
,
0xc0
,
0xe4
,
0x84
,
0x47
,
0xbc
,
0xfd
,
0xb7
,
0x92
,
0x4d
,
0xed
,
0x16
,
0x5f
,
0xd1
,
0x26
,
0xb6
,
0x28
,
0xdd
,
0xd8
,
0x04
,
0x4c
,
0xb1
,
0xf7
,
0x97
,
0xfe
,
0x5b
,
0xc9
,
0xa6
,
0xf6
,
0x11
,
0x5f
,
0xd1
,
0x26
,
0x1e
,
0x51
,
0xba
,
0xb1
,
0x09
,
0x56
,
0xb8
,
0x9b
,
0x62
,
0x3d
,
0x1f
,
0x80
,
0xfd
,
0x80
,
0x0c
,
0x75
,
0x3f
,
0xd7
,
0xe3
,
0x93
,
0x1f
,
0x98
,
0x62
,
0xad
,
0x70
,
0x37
,
0xc5
,
0x7a
,
0x3e
,
0x00
,
0xfb
,
0x01
,
0x19
,
0xea
,
0x7e
,
0xae
,
0xdb
,
0x21
,
0x1a
,
0xf9
,
0x2a
,
0x95
,
0x67
,
0x36
,
0x77
,
0x8c
,
0xa9
,
0x85
,
0xc7
,
0x58
,
0x5b
,
0xdc
,
0x3f
,
0x27
,
0x3f
,
0x42
,
0x34
,
0xf2
,
0x55
,
0x2a
,
0xef
,
0x6c
,
0xee
,
0x18
,
0x53
,
0x0b
,
0xaf
,
0xb1
,
0xb6
,
0x0c
,
0xfd
,
0x89
,
0x1c
,
0x65
,
0x4b
,
0xf1
,
0x8d
,
0xed
,
0x8a
,
0x6f
,
0xee
,
0xa6
,
0xf8
,
0xd6
,
0x06
,
0xb8
,
0x7f
,
0x18
,
0xfa
,
0x13
,
0xd9
,
0xca
,
0x96
,
0xe2
,
0x1b
,
0xdb
,
0x15
,
0xdf
,
0xdc
,
0x4d
,
0xf1
,
0xc5
,
0xd7
,
0x4a
,
0xd7
,
0xab
,
0x2a
,
0x9d
,
0x7b
,
0x0d
,
0xfb
,
0x55
,
0xdc
,
0xb6
,
0xde
,
0x55
,
0xc7
,
0xad
,
0x0d
,
0x8a
,
0xaf
,
0x95
,
0xae
,
0x57
,
0x55
,
0x3a
,
0xf7
,
0x1a
,
0xf6
,
0xab
,
0xb8
,
0x6d
,
0x7d
,
0x6a
,
0x0e
,
0xaa
,
0x1e
,
0x35
,
0x94
,
0xef
,
0xe1
,
0xa0
,
0x86
,
0xe8
,
0xd6
,
0x30
,
0xfa
,
0xfc
,
0x98
,
0xab
,
0x8e
,
0x55
,
0x1f
,
0x54
,
0x3d
,
0xaa
,
0x29
,
0xdf
,
0xc3
,
0x41
,
0x0d
,
0xd1
,
0xad
,
0x61
,
0xf4
,
0xd5
,
0xf3
,
0xe3
,
0xfe
,
0xa2
,
0xcb
,
0x41
,
0xb4
,
0x91
,
0xc9
,
0x28
,
0x20
,
0xaf
,
0xd7
,
0xa9
,
0x1c
,
0xfd
,
0x31
,
0xab
,
0xf7
,
0xc7
,
0xfd
,
0x45
,
0x97
,
0x83
,
0x68
,
0x23
,
0x93
,
0x51
,
0x40
,
0x5e
,
0xaf
,
0x92
,
0xed
,
0x95
,
0x6b
,
0x2c
,
0x25
,
0x55
,
0x14
,
0xb7
,
0x66
,
0xa6
,
0x27
,
0x17
,
0x18
,
0xf9
,
0x21
,
0x53
,
0xd9
,
0x24
,
0xdb
,
0x2b
,
0xd7
,
0x58
,
0x4a
,
0xaa
,
0x28
,
0x6e
,
0xcd
,
0x4c
,
0x4f
,
0x2e
,
0x30
,
0x89
,
0x57
,
0xf7
,
0x28
,
0x55
,
0x16
,
0x36
,
0x2a
,
0x57
,
0xee
,
0x99
,
0x2e
,
0x91
,
0xb8
,
0xb1
,
0xad
,
0xf2
,
0x43
,
0x12
,
0xaf
,
0xee
,
0x51
,
0xaa
,
0x2c
,
0x3c
,
0xa8
,
0x5c
,
0xb9
,
0x67
,
0xba
,
0x44
,
0xe2
,
0x44
,
0xf7
,
0x77
,
0x13
,
0x0e
,
0x3d
,
0x1e
,
0xf0
,
0x28
,
0x15
,
0x3b
,
0xdf
,
0xe4
,
0x0d
,
0xc1
,
0x35
,
0xc6
,
0xb6
,
0x12
,
0xdd
,
0xdf
,
0x4d
,
0x38
,
0xf4
,
0x78
,
0xc0
,
0xa3
,
0x54
,
0xec
,
0xfc
,
0x92
,
0x37
,
0xdb
,
0x82
,
0xab
,
0x1b
,
0xb7
,
0x9a
,
0xc2
,
0xa1
,
0xc4
,
0xac
,
0x57
,
0x13
,
0xb3
,
0x9a
,
0x0c
,
0xd9
,
0x04
,
0xd7
,
0x6c
,
0x0b
,
0xae
,
0x3e
,
0xb8
,
0xd5
,
0x14
,
0x0e
,
0x25
,
0x66
,
0xbd
,
0x9a
,
0x98
,
0xd5
,
0x4d
,
0x19
,
0x2a
,
0x65
,
0xa5
,
0xbf
,
0x49
,
0x56
,
0x06
,
0x75
,
0x59
,
0x69
,
0x48
,
0xc7
,
0xf0
,
0x51
,
0x64
,
0xc8
,
0x6e
,
0xca
,
0x50
,
0x29
,
0x2b
,
0xfd
,
0x4d
,
0xb2
,
0x32
,
0xa8
,
0xcb
,
0x4a
,
0x43
,
0x3a
,
0xe9
,
0x18
,
0x35
,
0xa4
,
0x23
,
0xd3
,
0x3c
,
0xd6
,
0x42
,
0xf4
,
0xe8
,
0x3c
,
0x18
,
0xf4
,
0x7c
,
0x3d
,
0x86
,
0x8f
,
0x4a
,
0xc7
,
0xa8
,
0x21
,
0x1d
,
0x99
,
0xe6
,
0xb1
,
0x16
,
0xa2
,
0x47
,
0xfb
,
0xc1
,
0xa0
,
0x08
,
0xfa
,
0xbd
,
0x71
,
0x02
,
0x65
,
0x2f
,
0xbd
,
0x4a
,
0x2f
,
0xee
,
0x1c
,
0x0e
,
0xeb
,
0x39
,
0x73
,
0xe7
,
0xeb
,
0x46
,
0xd0
,
0xef
,
0x8d
,
0x1d
,
0x28
,
0xcf
,
0xd2
,
0xab
,
0x9c
,
0xc5
,
0x9d
,
0xc3
,
0x61
,
0x76
,
0x06
,
0x83
,
0x4c
,
0x3d
,
0x1c
,
0x0c
,
0x7a
,
0x38
,
0x3c
,
0x6b
,
0x89
,
0x0a
,
0x3d
,
0x1e
,
0x0a
,
0x3d
,
0x67
,
0xce
,
0xce
,
0x60
,
0x90
,
0xa9
,
0xc1
,
0xc1
,
0xa0
,
0xc1
,
0xe1
,
0x59
,
0x4b
,
0x54
,
0x68
,
0x2f
,
0xf7
,
0x0b
,
0x04
,
0xf2
,
0x5d
,
0xb1
,
0xbb
,
0x58
,
0xde
,
0x25
,
0x5b
,
0xc1
,
0xff
,
0xdb
,
0x84
,
0x78
,
0x28
,
0xbc
,
0xdc
,
0x2f
,
0x10
,
0xc8
,
0x77
,
0xc5
,
0xee
,
0x62
,
0x79
,
0x97
,
0x6c
,
0x05
,
0xff
,
0x13
,
0x8f
,
0xa7
,
0x25
,
0x63
,
0x56
,
0x59
,
0xc6
,
0x97
,
0x82
,
0x3e
,
0xd5
,
0x48
,
0x19
,
0x35
,
0xa4
,
0x6f
,
0x13
,
0x4e
,
0x3c
,
0x9e
,
0x96
,
0x8c
,
0x59
,
0x65
,
0x19
,
0x5f
,
0x0a
,
0xfa
,
0x54
,
0x23
,
0x65
,
0xfe
,
0xff
,
0x57
,
0x5c
,
0xe5
,
0x65
,
0x61
,
0xd7
,
0x5f
,
0x16
,
0x1d
,
0x17
,
0x77
,
0x7f
,
0x87
,
0xf7
,
0xd4
,
0x90
,
0xfa
,
0xff
,
0xa7
,
0xb8
,
0xca
,
0x64
,
0x61
,
0xd7
,
0x27
,
0x8b
,
0x8e
,
0x87
,
0xbb
,
0xbf
,
0xdd
,
0xa0
,
0x79
,
0x1d
,
0x6b
,
0xd5
,
0x18
,
0xd6
,
0xde
,
0x47
,
0xfa
,
0x9a
,
0x1b
,
0xd5
,
0xae
,
0xb9
,
0xc3
,
0x7c
,
0x37
,
0x68
,
0x3e
,
0xc7
,
0x5a
,
0x35
,
0x86
,
0xb5
,
0xf9
,
0x48
,
0x3f
,
0x73
,
0xa3
,
0xda
,
0xfa
,
0x5b
,
0x08
,
0x9a
,
0x6f
,
0x21
,
0xf7
,
0x4b
,
0x38
,
0x6a
,
0x20
,
0x91
,
0xe3
,
0x4c
,
0xf4
,
0xe0
,
0x33
,
0x57
,
0x9f
,
0x85
,
0xa0
,
0x39
,
0x0b
,
0xb9
,
0x5f
,
0xc2
,
0x51
,
0x03
,
0x89
,
0x1c
,
0x7b
,
0xa2
,
0x0b
,
0xfd
,
0xac
,
0x9a
,
0xdc
,
0x1f
,
0xe1
,
0x83
,
0x6e
,
0x2c
,
0x72
,
0x76
,
0x81
,
0xa4
,
0xb9
,
0x4b
,
0x1b
,
0x5f
,
0xe8
,
0x67
,
0xd5
,
0xe4
,
0xfe
,
0x08
,
0x1f
,
0x74
,
0x63
,
0x91
,
0xb3
,
0x0b
,
0x24
,
0xcd
,
0x0a
,
0x26
,
0x7c
,
0xa4
,
0x98
,
0xd0
,
0xed
,
0xee
,
0x49
,
0x5f
,
0xf7
,
0x0a
,
0x9e
,
0x56
,
0xaa
,
0x98
,
0x5d
,
0x52
,
0x30
,
0xe1
,
0x23
,
0xc5
,
0x84
,
0x6e
,
0x77
,
0x4f
,
0xfa
,
0xba
,
0x57
,
0xf0
,
0xb4
,
0x52
,
0xaf
,
0xf5
,
0x9d
,
0xde
,
0x09
,
0x6c
,
0x49
,
0x4c
,
0xb3
,
0x4a
,
0x4c
,
0x17
,
0x26
,
0x95
,
0x2c
,
0x8b
,
0xc5
,
0x7c
,
0xad
,
0xdf
,
0xf4
,
0x4e
,
0x60
,
0x4b
,
0x62
,
0x9a
,
0x55
,
0x62
,
0xba
,
0x30
,
0xa9
,
0x64
,
0xeb
,
0x9c
,
0x1d
,
0x81
,
0xb5
,
0xb8
,
0x2e
,
0x1a
,
0xc0
,
0x9f
,
0xee
,
0x6f
,
0xe0
,
0x54
,
0x12
,
0x29
,
0x59
,
0x5c
,
0xe7
,
0xec
,
0x08
,
0xac
,
0xc5
,
0x75
,
0x71
,
0x00
,
0xfc
,
0xe9
,
0xfe
,
0x06
,
0x4e
,
0x25
,
0xfe
,
0xce
,
0xd7
,
0x24
,
0x04
,
0xff
,
0xf1
,
0xe8
,
0xa8
,
0x0a
,
0xad
,
0xee
,
0x0a
,
0x6b
,
0x47
,
0xe7
,
0x91
,
0xe2
,
0xef
,
0x7c
,
0x4d
,
0x42
,
0xf0
,
0x1f
,
0xaf
,
0x8e
,
0xaa
,
0xd0
,
0xea
,
0xae
,
0xb0
,
0x76
,
0x57
,
0x78
,
0xde
,
0x95
,
0x5d
,
0x75
,
0xbb
,
0x83
,
0x42
,
0xab
,
0x5c
,
0x66
,
0x77
,
0x2e
,
0xab
,
0x9a
,
0x75
,
0x7e
,
0x85
,
0xe7
,
0x5d
,
0xd9
,
0xd5
,
0x69
,
0x77
,
0x50
,
0x68
,
0x95
,
0xcb
,
0xec
,
0xce
,
0x65
,
0xeb
,
0x12
,
0x58
,
0x65
,
0x1a
,
0xc5
,
0x49
,
0xfd
,
0xb4
,
0x79
,
0x52
,
0x3b
,
0x9e
,
0xf8
,
0xe5
,
0x29
,
0x55
,
0x73
,
0x5d
,
0x02
,
0xab
,
0x74
,
0xa3
,
0xb8
,
0xa9
,
0x9f
,
0x36
,
0x6f
,
0x6a
,
0xc7
,
0x88
,
0x5f
,
0x7d
,
0x55
,
0x43
,
0x05
,
0x3d
,
0x76
,
0x39
,
0xa9
,
0x1b
,
0x6f
,
0x92
,
0x6f
,
0x30
,
0x5c
,
0xda
,
0x0a
,
0xde
,
0xd2
,
0x57
,
0x35
,
0x54
,
0xd0
,
0x63
,
0x97
,
0x9b
,
0xba
,
0xf1
,
0x25
,
0xf9
,
0x06
,
0xc3
,
0xa5
,
0xf7
,
0x12
,
0xfa
,
0x32
,
0xa1
,
0x7a
,
0xeb
,
0x74
,
0x54
,
0xa4
,
0x1c
,
0x6e
,
0xfb
,
0xf4
,
0x1f
,
0xdd
,
0xad
,
0x70
,
0x2f
,
0xa1
,
0x2f
,
0x13
,
0xaa
,
0x59
,
0xa7
,
0xa3
,
0x22
,
0xe5
,
0xe0
,
0xce
,
0x90
,
0xac
,
0xc5
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x4d
,
0xdb
,
0xe0
,
0x88
,
0xe3
,
0x0d
,
0x00
,
0x00
,
0x65
,
0x04
,
0x39
,
0x73
,
0x96
,
0x6f
,
0x8e
,
0x41
,
0x77
,
0x52
,
0x2e
,
0x6e
,
0xfb
,
0xf4
,
0xbf
,
0xdf
,
0xc5
,
0xbf
,
0x01
,
0x00
,
0x00
,
0xff
,
0xff
,
0x9c
,
0x86
,
0x5d
,
0xb7
,
0x0d
,
0x0e
,
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