lnrpc: add WalletUnlocker service.

This commit adds the service WalletUnlocker, which is to be used
for creating a wallet password at first time startup, and unlocking
the wallet. The service exposes the RPC methods CreateWallet and
UnlockWallet.
This commit is contained in:
Johan T. Halseth 2017-10-12 11:10:29 +02:00 committed by Olaoluwa Osuntokun
parent e6cc46d84e
commit 1f34bd815d
4 changed files with 815 additions and 385 deletions

@ -1,6 +1,5 @@
// Code generated by protoc-gen-go.
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: rpc.proto
// DO NOT EDIT!
/*
Package lnrpc is a generated protocol buffer package.
@ -9,6 +8,10 @@ It is generated from these files:
rpc.proto
It has these top-level messages:
CreateWalletRequest
CreateWalletResponse
UnlockWalletRequest
UnlockWalletResponse
Transaction
GetTransactionsRequest
TransactionDetails
@ -145,9 +148,57 @@ func (x NewAddressRequest_AddressType) String() string {
return proto.EnumName(NewAddressRequest_AddressType_name, int32(x))
}
func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor0, []int{11, 0}
return fileDescriptor0, []int{15, 0}
}
type CreateWalletRequest struct {
Password []byte `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
}
func (m *CreateWalletRequest) Reset() { *m = CreateWalletRequest{} }
func (m *CreateWalletRequest) String() string { return proto.CompactTextString(m) }
func (*CreateWalletRequest) ProtoMessage() {}
func (*CreateWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *CreateWalletRequest) GetPassword() []byte {
if m != nil {
return m.Password
}
return nil
}
type CreateWalletResponse struct {
}
func (m *CreateWalletResponse) Reset() { *m = CreateWalletResponse{} }
func (m *CreateWalletResponse) String() string { return proto.CompactTextString(m) }
func (*CreateWalletResponse) ProtoMessage() {}
func (*CreateWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
type UnlockWalletRequest struct {
Password []byte `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
}
func (m *UnlockWalletRequest) Reset() { *m = UnlockWalletRequest{} }
func (m *UnlockWalletRequest) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletRequest) ProtoMessage() {}
func (*UnlockWalletRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *UnlockWalletRequest) GetPassword() []byte {
if m != nil {
return m.Password
}
return nil
}
type UnlockWalletResponse struct {
}
func (m *UnlockWalletResponse) Reset() { *m = UnlockWalletResponse{} }
func (m *UnlockWalletResponse) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletResponse) ProtoMessage() {}
func (*UnlockWalletResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type Transaction struct {
// / The transaction hash
TxHash string `protobuf:"bytes,1,opt,name=tx_hash" json:"tx_hash,omitempty"`
@ -168,7 +219,7 @@ type Transaction struct {
func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (*Transaction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *Transaction) GetTxHash() string {
if m != nil {
@ -225,7 +276,7 @@ type GetTransactionsRequest struct {
func (m *GetTransactionsRequest) Reset() { *m = GetTransactionsRequest{} }
func (m *GetTransactionsRequest) String() string { return proto.CompactTextString(m) }
func (*GetTransactionsRequest) ProtoMessage() {}
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
type TransactionDetails struct {
// / The list of transactions relevant to the wallet.
@ -235,7 +286,7 @@ type TransactionDetails struct {
func (m *TransactionDetails) Reset() { *m = TransactionDetails{} }
func (m *TransactionDetails) String() string { return proto.CompactTextString(m) }
func (*TransactionDetails) ProtoMessage() {}
func (*TransactionDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (*TransactionDetails) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *TransactionDetails) GetTransactions() []*Transaction {
if m != nil {
@ -265,7 +316,7 @@ type SendRequest struct {
func (m *SendRequest) Reset() { *m = SendRequest{} }
func (m *SendRequest) String() string { return proto.CompactTextString(m) }
func (*SendRequest) ProtoMessage() {}
func (*SendRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (*SendRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *SendRequest) GetDest() []byte {
if m != nil {
@ -318,7 +369,7 @@ type SendResponse struct {
func (m *SendResponse) Reset() { *m = SendResponse{} }
func (m *SendResponse) String() string { return proto.CompactTextString(m) }
func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (*SendResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *SendResponse) GetPaymentError() string {
if m != nil {
@ -353,7 +404,7 @@ type ChannelPoint struct {
func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
func (m *ChannelPoint) String() string { return proto.CompactTextString(m) }
func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *ChannelPoint) GetFundingTxid() []byte {
if m != nil {
@ -386,7 +437,7 @@ type LightningAddress struct {
func (m *LightningAddress) Reset() { *m = LightningAddress{} }
func (m *LightningAddress) String() string { return proto.CompactTextString(m) }
func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *LightningAddress) GetPubkey() string {
if m != nil {
@ -410,7 +461,7 @@ type SendManyRequest struct {
func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
func (m *SendManyRequest) String() string { return proto.CompactTextString(m) }
func (*SendManyRequest) ProtoMessage() {}
func (*SendManyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (*SendManyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (m *SendManyRequest) GetAddrToAmount() map[string]int64 {
if m != nil {
@ -427,7 +478,7 @@ type SendManyResponse struct {
func (m *SendManyResponse) Reset() { *m = SendManyResponse{} }
func (m *SendManyResponse) String() string { return proto.CompactTextString(m) }
func (*SendManyResponse) ProtoMessage() {}
func (*SendManyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (*SendManyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (m *SendManyResponse) GetTxid() string {
if m != nil {
@ -446,7 +497,7 @@ type SendCoinsRequest struct {
func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} }
func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) }
func (*SendCoinsRequest) ProtoMessage() {}
func (*SendCoinsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (*SendCoinsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *SendCoinsRequest) GetAddr() string {
if m != nil {
@ -470,7 +521,7 @@ type SendCoinsResponse struct {
func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} }
func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) }
func (*SendCoinsResponse) ProtoMessage() {}
func (*SendCoinsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (*SendCoinsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *SendCoinsResponse) GetTxid() string {
if m != nil {
@ -493,7 +544,7 @@ type NewAddressRequest struct {
func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} }
func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewAddressRequest) ProtoMessage() {}
func (*NewAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (*NewAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (m *NewAddressRequest) GetType() NewAddressRequest_AddressType {
if m != nil {
@ -508,7 +559,7 @@ type NewWitnessAddressRequest struct {
func (m *NewWitnessAddressRequest) Reset() { *m = NewWitnessAddressRequest{} }
func (m *NewWitnessAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewWitnessAddressRequest) ProtoMessage() {}
func (*NewWitnessAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (*NewWitnessAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
type NewAddressResponse struct {
// / The newly generated wallet address
@ -518,7 +569,7 @@ type NewAddressResponse struct {
func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func (m *NewAddressResponse) GetAddress() string {
if m != nil {
@ -535,7 +586,7 @@ type SignMessageRequest struct {
func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage() {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (m *SignMessageRequest) GetMsg() []byte {
if m != nil {
@ -552,7 +603,7 @@ type SignMessageResponse struct {
func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage() {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (m *SignMessageResponse) GetSignature() string {
if m != nil {
@ -571,7 +622,7 @@ type VerifyMessageRequest struct {
func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage() {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *VerifyMessageRequest) GetMsg() []byte {
if m != nil {
@ -597,7 +648,7 @@ type VerifyMessageResponse struct {
func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage() {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
func (m *VerifyMessageResponse) GetValid() bool {
if m != nil {
@ -624,7 +675,7 @@ type ConnectPeerRequest struct {
func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *ConnectPeerRequest) GetAddr() *LightningAddress {
if m != nil {
@ -648,7 +699,7 @@ type ConnectPeerResponse struct {
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
func (m *ConnectPeerResponse) GetPeerId() int32 {
if m != nil {
@ -665,7 +716,7 @@ type DisconnectPeerRequest struct {
func (m *DisconnectPeerRequest) Reset() { *m = DisconnectPeerRequest{} }
func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerRequest) ProtoMessage() {}
func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *DisconnectPeerRequest) GetPubKey() string {
if m != nil {
@ -680,7 +731,7 @@ type DisconnectPeerResponse struct {
func (m *DisconnectPeerResponse) Reset() { *m = DisconnectPeerResponse{} }
func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerResponse) ProtoMessage() {}
func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
type HTLC struct {
Incoming bool `protobuf:"varint,1,opt,name=incoming" json:"incoming,omitempty"`
@ -692,7 +743,7 @@ type HTLC struct {
func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) }
func (*HTLC) ProtoMessage() {}
func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (m *HTLC) GetIncoming() bool {
if m != nil {
@ -775,7 +826,7 @@ type ActiveChannel struct {
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
func (m *ActiveChannel) String() string { return proto.CompactTextString(m) }
func (*ActiveChannel) ProtoMessage() {}
func (*ActiveChannel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
func (*ActiveChannel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (m *ActiveChannel) GetActive() bool {
if m != nil {
@ -888,7 +939,7 @@ type ListChannelsRequest struct {
func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (*ListChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
type ListChannelsResponse struct {
// / The list of active channels
@ -898,7 +949,7 @@ type ListChannelsResponse struct {
func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (*ListChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *ListChannelsResponse) GetChannels() []*ActiveChannel {
if m != nil {
@ -931,7 +982,7 @@ type Peer struct {
func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (m *Peer) GetPubKey() string {
if m != nil {
@ -1002,7 +1053,7 @@ type ListPeersRequest struct {
func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
type ListPeersResponse struct {
// / The list of currently connected peers
@ -1012,7 +1063,7 @@ type ListPeersResponse struct {
func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (m *ListPeersResponse) GetPeers() []*Peer {
if m != nil {
@ -1027,7 +1078,7 @@ type GetInfoRequest struct {
func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
type GetInfoResponse struct {
// / The identity pubkey of the current node.
@ -1055,7 +1106,7 @@ type GetInfoResponse struct {
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (m *GetInfoResponse) GetIdentityPubkey() string {
if m != nil {
@ -1136,7 +1187,7 @@ type ConfirmationUpdate struct {
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (m *ConfirmationUpdate) GetBlockSha() []byte {
if m != nil {
@ -1166,7 +1217,7 @@ type ChannelOpenUpdate struct {
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
if m != nil {
@ -1183,7 +1234,7 @@ type ChannelCloseUpdate struct {
func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *ChannelCloseUpdate) GetClosingTxid() []byte {
if m != nil {
@ -1212,7 +1263,7 @@ type CloseChannelRequest struct {
func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil {
@ -1239,7 +1290,7 @@ type CloseStatusUpdate struct {
func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
type isCloseStatusUpdate_Update interface {
isCloseStatusUpdate_Update()
@ -1388,7 +1439,7 @@ type PendingUpdate struct {
func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *PendingUpdate) GetTxid() []byte {
if m != nil {
@ -1420,7 +1471,7 @@ type OpenChannelRequest struct {
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
func (m *OpenChannelRequest) GetTargetPeerId() int32 {
if m != nil {
@ -1468,7 +1519,7 @@ type OpenStatusUpdate struct {
func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
type isOpenStatusUpdate_Update interface {
isOpenStatusUpdate_Update()
@ -1615,7 +1666,7 @@ type PendingChannelRequest struct {
func (m *PendingChannelRequest) Reset() { *m = PendingChannelRequest{} }
func (m *PendingChannelRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelRequest) ProtoMessage() {}
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
type PendingChannelResponse struct {
// / The balance in satoshis encumbered in pending channels
@ -1631,7 +1682,7 @@ type PendingChannelResponse struct {
func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} }
func (m *PendingChannelResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse) ProtoMessage() {}
func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
func (m *PendingChannelResponse) GetTotalLimboBalance() int64 {
if m != nil {
@ -1673,7 +1724,7 @@ func (m *PendingChannelResponse_PendingChannel) Reset() { *m = PendingCh
func (m *PendingChannelResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{40, 0}
return fileDescriptor0, []int{44, 0}
}
func (m *PendingChannelResponse_PendingChannel) GetRemoteNodePub() string {
@ -1740,7 +1791,7 @@ func (m *PendingChannelResponse_PendingOpenChannel) Reset() {
func (m *PendingChannelResponse_PendingOpenChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{40, 1}
return fileDescriptor0, []int{44, 1}
}
func (m *PendingChannelResponse_PendingOpenChannel) GetChannel() *PendingChannelResponse_PendingChannel {
@ -1796,7 +1847,7 @@ func (m *PendingChannelResponse_ClosedChannel) Reset() { *m = PendingCha
func (m *PendingChannelResponse_ClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_ClosedChannel) ProtoMessage() {}
func (*PendingChannelResponse_ClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{40, 2}
return fileDescriptor0, []int{44, 2}
}
func (m *PendingChannelResponse_ClosedChannel) GetChannel() *PendingChannelResponse_PendingChannel {
@ -1832,7 +1883,7 @@ func (m *PendingChannelResponse_ForceClosedChannel) Reset() {
func (m *PendingChannelResponse_ForceClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{40, 3}
return fileDescriptor0, []int{44, 3}
}
func (m *PendingChannelResponse_ForceClosedChannel) GetChannel() *PendingChannelResponse_PendingChannel {
@ -1878,7 +1929,7 @@ type WalletBalanceRequest struct {
func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
func (m *WalletBalanceRequest) GetWitnessOnly() bool {
if m != nil {
@ -1895,7 +1946,7 @@ type WalletBalanceResponse struct {
func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
func (m *WalletBalanceResponse) GetBalance() int64 {
if m != nil {
@ -1910,7 +1961,7 @@ type ChannelBalanceRequest struct {
func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
type ChannelBalanceResponse struct {
// / Sum of channels balances denominated in satoshis
@ -1920,7 +1971,7 @@ type ChannelBalanceResponse struct {
func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{} }
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
func (m *ChannelBalanceResponse) GetBalance() int64 {
if m != nil {
@ -1939,7 +1990,7 @@ type QueryRoutesRequest struct {
func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} }
func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesRequest) ProtoMessage() {}
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }
func (m *QueryRoutesRequest) GetPubKey() string {
if m != nil {
@ -1962,7 +2013,7 @@ type QueryRoutesResponse struct {
func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} }
func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesResponse) ProtoMessage() {}
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
func (m *QueryRoutesResponse) GetRoutes() []*Route {
if m != nil {
@ -1986,7 +2037,7 @@ type Hop struct {
func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
func (*Hop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
func (m *Hop) GetChanId() uint64 {
if m != nil {
@ -2056,7 +2107,7 @@ type Route struct {
func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
func (m *Route) GetTotalTimeLock() uint32 {
if m != nil {
@ -2094,7 +2145,7 @@ type NodeInfoRequest struct {
func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
func (m *NodeInfoRequest) GetPubKey() string {
if m != nil {
@ -2117,7 +2168,7 @@ type NodeInfo struct {
func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
func (*NodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
func (m *NodeInfo) GetNode() *LightningNode {
if m != nil {
@ -2155,7 +2206,7 @@ type LightningNode struct {
func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
func (*LightningNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }
func (m *LightningNode) GetLastUpdate() uint32 {
if m != nil {
@ -2193,7 +2244,7 @@ type NodeAddress struct {
func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
func (m *NodeAddress) GetNetwork() string {
if m != nil {
@ -2219,7 +2270,7 @@ type RoutingPolicy struct {
func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }
func (m *RoutingPolicy) GetTimeLockDelta() uint32 {
if m != nil {
@ -2273,7 +2324,7 @@ type ChannelEdge struct {
func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
func (*ChannelEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }
func (m *ChannelEdge) GetChannelId() uint64 {
if m != nil {
@ -2337,7 +2388,7 @@ type ChannelGraphRequest struct {
func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }
// / Returns a new instance of the directed channel graph.
type ChannelGraph struct {
@ -2350,7 +2401,7 @@ type ChannelGraph struct {
func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
func (*ChannelGraph) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }
func (m *ChannelGraph) GetNodes() []*LightningNode {
if m != nil {
@ -2377,7 +2428,7 @@ type ChanInfoRequest struct {
func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }
func (*ChanInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }
func (m *ChanInfoRequest) GetChanId() uint64 {
if m != nil {
@ -2392,7 +2443,7 @@ type NetworkInfoRequest struct {
func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }
type NetworkInfo struct {
GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter" json:"graph_diameter,omitempty"`
@ -2409,7 +2460,7 @@ type NetworkInfo struct {
func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*NetworkInfo) ProtoMessage() {}
func (*NetworkInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }
func (*NetworkInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }
func (m *NetworkInfo) GetGraphDiameter() uint32 {
if m != nil {
@ -2480,7 +2531,7 @@ type StopRequest struct {
func (m *StopRequest) Reset() { *m = StopRequest{} }
func (m *StopRequest) String() string { return proto.CompactTextString(m) }
func (*StopRequest) ProtoMessage() {}
func (*StopRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }
func (*StopRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }
type StopResponse struct {
}
@ -2488,7 +2539,7 @@ type StopResponse struct {
func (m *StopResponse) Reset() { *m = StopResponse{} }
func (m *StopResponse) String() string { return proto.CompactTextString(m) }
func (*StopResponse) ProtoMessage() {}
func (*StopResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }
func (*StopResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }
type GraphTopologySubscription struct {
}
@ -2496,7 +2547,7 @@ type GraphTopologySubscription struct {
func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscription{} }
func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) }
func (*GraphTopologySubscription) ProtoMessage() {}
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }
type GraphTopologyUpdate struct {
NodeUpdates []*NodeUpdate `protobuf:"bytes,1,rep,name=node_updates,json=nodeUpdates" json:"node_updates,omitempty"`
@ -2507,7 +2558,7 @@ type GraphTopologyUpdate struct {
func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} }
func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) }
func (*GraphTopologyUpdate) ProtoMessage() {}
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} }
func (m *GraphTopologyUpdate) GetNodeUpdates() []*NodeUpdate {
if m != nil {
@ -2540,7 +2591,7 @@ type NodeUpdate struct {
func (m *NodeUpdate) Reset() { *m = NodeUpdate{} }
func (m *NodeUpdate) String() string { return proto.CompactTextString(m) }
func (*NodeUpdate) ProtoMessage() {}
func (*NodeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }
func (*NodeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} }
func (m *NodeUpdate) GetAddresses() []string {
if m != nil {
@ -2586,7 +2637,7 @@ type ChannelEdgeUpdate struct {
func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} }
func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEdgeUpdate) ProtoMessage() {}
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }
func (m *ChannelEdgeUpdate) GetChanId() uint64 {
if m != nil {
@ -2644,7 +2695,7 @@ type ClosedChannelUpdate struct {
func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} }
func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelUpdate) ProtoMessage() {}
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }
func (m *ClosedChannelUpdate) GetChanId() uint64 {
if m != nil {
@ -2681,7 +2732,7 @@ type SetAliasRequest struct {
func (m *SetAliasRequest) Reset() { *m = SetAliasRequest{} }
func (m *SetAliasRequest) String() string { return proto.CompactTextString(m) }
func (*SetAliasRequest) ProtoMessage() {}
func (*SetAliasRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} }
func (*SetAliasRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} }
func (m *SetAliasRequest) GetNewAlias() string {
if m != nil {
@ -2696,7 +2747,7 @@ type SetAliasResponse struct {
func (m *SetAliasResponse) Reset() { *m = SetAliasResponse{} }
func (m *SetAliasResponse) String() string { return proto.CompactTextString(m) }
func (*SetAliasResponse) ProtoMessage() {}
func (*SetAliasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} }
func (*SetAliasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} }
type Invoice struct {
// *
@ -2740,7 +2791,7 @@ type Invoice struct {
func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }
func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }
func (m *Invoice) GetMemo() string {
if m != nil {
@ -2838,7 +2889,7 @@ type AddInvoiceResponse struct {
func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }
func (m *AddInvoiceResponse) GetRHash() []byte {
if m != nil {
@ -2866,7 +2917,7 @@ type PaymentHash struct {
func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} }
func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} }
func (m *PaymentHash) GetRHashStr() string {
if m != nil {
@ -2890,7 +2941,7 @@ type ListInvoiceRequest struct {
func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} }
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} }
func (m *ListInvoiceRequest) GetPendingOnly() bool {
if m != nil {
@ -2906,7 +2957,7 @@ type ListInvoiceResponse struct {
func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }
func (m *ListInvoiceResponse) GetInvoices() []*Invoice {
if m != nil {
@ -2921,7 +2972,7 @@ type InvoiceSubscription struct {
func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} }
func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) }
func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }
func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }
type Payment struct {
// / The payment hash
@ -2939,7 +2990,7 @@ type Payment struct {
func (m *Payment) Reset() { *m = Payment{} }
func (m *Payment) String() string { return proto.CompactTextString(m) }
func (*Payment) ProtoMessage() {}
func (*Payment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} }
func (*Payment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }
func (m *Payment) GetPaymentHash() string {
if m != nil {
@ -2982,7 +3033,7 @@ type ListPaymentsRequest struct {
func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} }
func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsRequest) ProtoMessage() {}
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} }
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }
type ListPaymentsResponse struct {
// / The list of payments
@ -2992,7 +3043,7 @@ type ListPaymentsResponse struct {
func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} }
func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsResponse) ProtoMessage() {}
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }
func (m *ListPaymentsResponse) GetPayments() []*Payment {
if m != nil {
@ -3007,7 +3058,7 @@ type DeleteAllPaymentsRequest struct {
func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsRequest{} }
func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsRequest) ProtoMessage() {}
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }
type DeleteAllPaymentsResponse struct {
}
@ -3015,7 +3066,7 @@ type DeleteAllPaymentsResponse struct {
func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResponse{} }
func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsResponse) ProtoMessage() {}
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }
type DebugLevelRequest struct {
Show bool `protobuf:"varint,1,opt,name=show" json:"show,omitempty"`
@ -3025,7 +3076,7 @@ type DebugLevelRequest struct {
func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} }
func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) }
func (*DebugLevelRequest) ProtoMessage() {}
func (*DebugLevelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }
func (*DebugLevelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }
func (m *DebugLevelRequest) GetShow() bool {
if m != nil {
@ -3048,7 +3099,7 @@ type DebugLevelResponse struct {
func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) }
func (*DebugLevelResponse) ProtoMessage() {}
func (*DebugLevelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }
func (*DebugLevelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }
func (m *DebugLevelResponse) GetSubSystems() string {
if m != nil {
@ -3065,7 +3116,7 @@ type PayReqString struct {
func (m *PayReqString) Reset() { *m = PayReqString{} }
func (m *PayReqString) String() string { return proto.CompactTextString(m) }
func (*PayReqString) ProtoMessage() {}
func (*PayReqString) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }
func (*PayReqString) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }
func (m *PayReqString) GetPayReq() string {
if m != nil {
@ -3088,7 +3139,7 @@ type PayReq struct {
func (m *PayReq) Reset() { *m = PayReq{} }
func (m *PayReq) String() string { return proto.CompactTextString(m) }
func (*PayReq) ProtoMessage() {}
func (*PayReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }
func (*PayReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }
func (m *PayReq) GetDestination() string {
if m != nil {
@ -3152,7 +3203,7 @@ type FeeReportRequest struct {
func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} }
func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) }
func (*FeeReportRequest) ProtoMessage() {}
func (*FeeReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }
func (*FeeReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }
type ChannelFeeReport struct {
// / The channel that this fee report belongs to.
@ -3168,7 +3219,7 @@ type ChannelFeeReport struct {
func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} }
func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) }
func (*ChannelFeeReport) ProtoMessage() {}
func (*ChannelFeeReport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }
func (*ChannelFeeReport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} }
func (m *ChannelFeeReport) GetChanPoint() string {
if m != nil {
@ -3206,7 +3257,7 @@ type FeeReportResponse struct {
func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} }
func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) }
func (*FeeReportResponse) ProtoMessage() {}
func (*FeeReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }
func (*FeeReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} }
func (m *FeeReportResponse) GetChannelFees() []*ChannelFeeReport {
if m != nil {
@ -3229,7 +3280,7 @@ type FeeUpdateRequest struct {
func (m *FeeUpdateRequest) Reset() { *m = FeeUpdateRequest{} }
func (m *FeeUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*FeeUpdateRequest) ProtoMessage() {}
func (*FeeUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }
func (*FeeUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} }
type isFeeUpdateRequest_Scope interface {
isFeeUpdateRequest_Scope()
@ -3359,9 +3410,13 @@ type FeeUpdateResponse struct {
func (m *FeeUpdateResponse) Reset() { *m = FeeUpdateResponse{} }
func (m *FeeUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*FeeUpdateResponse) ProtoMessage() {}
func (*FeeUpdateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }
func (*FeeUpdateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }
func init() {
proto.RegisterType((*CreateWalletRequest)(nil), "lnrpc.CreateWalletRequest")
proto.RegisterType((*CreateWalletResponse)(nil), "lnrpc.CreateWalletResponse")
proto.RegisterType((*UnlockWalletRequest)(nil), "lnrpc.UnlockWalletRequest")
proto.RegisterType((*UnlockWalletResponse)(nil), "lnrpc.UnlockWalletResponse")
proto.RegisterType((*Transaction)(nil), "lnrpc.Transaction")
proto.RegisterType((*GetTransactionsRequest)(nil), "lnrpc.GetTransactionsRequest")
proto.RegisterType((*TransactionDetails)(nil), "lnrpc.TransactionDetails")
@ -3466,6 +3521,115 @@ var _ grpc.ClientConn
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for WalletUnlocker service
type WalletUnlockerClient interface {
// * lncli: `create`
// CreateWallet is used at lnd startup to set the encryption password for
// the wallet database.
CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error)
// * lncli: `unlock`
// UnlockWallet is used at startup of lnd to provide a password to unlock
// the wallet database.
UnlockWallet(ctx context.Context, in *UnlockWalletRequest, opts ...grpc.CallOption) (*UnlockWalletResponse, error)
}
type walletUnlockerClient struct {
cc *grpc.ClientConn
}
func NewWalletUnlockerClient(cc *grpc.ClientConn) WalletUnlockerClient {
return &walletUnlockerClient{cc}
}
func (c *walletUnlockerClient) CreateWallet(ctx context.Context, in *CreateWalletRequest, opts ...grpc.CallOption) (*CreateWalletResponse, error) {
out := new(CreateWalletResponse)
err := grpc.Invoke(ctx, "/lnrpc.WalletUnlocker/CreateWallet", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *walletUnlockerClient) UnlockWallet(ctx context.Context, in *UnlockWalletRequest, opts ...grpc.CallOption) (*UnlockWalletResponse, error) {
out := new(UnlockWalletResponse)
err := grpc.Invoke(ctx, "/lnrpc.WalletUnlocker/UnlockWallet", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for WalletUnlocker service
type WalletUnlockerServer interface {
// * lncli: `create`
// CreateWallet is used at lnd startup to set the encryption password for
// the wallet database.
CreateWallet(context.Context, *CreateWalletRequest) (*CreateWalletResponse, error)
// * lncli: `unlock`
// UnlockWallet is used at startup of lnd to provide a password to unlock
// the wallet database.
UnlockWallet(context.Context, *UnlockWalletRequest) (*UnlockWalletResponse, error)
}
func RegisterWalletUnlockerServer(s *grpc.Server, srv WalletUnlockerServer) {
s.RegisterService(&_WalletUnlocker_serviceDesc, srv)
}
func _WalletUnlocker_CreateWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateWalletRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WalletUnlockerServer).CreateWallet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.WalletUnlocker/CreateWallet",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WalletUnlockerServer).CreateWallet(ctx, req.(*CreateWalletRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WalletUnlocker_UnlockWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UnlockWalletRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WalletUnlockerServer).UnlockWallet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.WalletUnlocker/UnlockWallet",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WalletUnlockerServer).UnlockWallet(ctx, req.(*UnlockWalletRequest))
}
return interceptor(ctx, in, info, handler)
}
var _WalletUnlocker_serviceDesc = grpc.ServiceDesc{
ServiceName: "lnrpc.WalletUnlocker",
HandlerType: (*WalletUnlockerServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateWallet",
Handler: _WalletUnlocker_CreateWallet_Handler,
},
{
MethodName: "UnlockWallet",
Handler: _WalletUnlocker_UnlockWallet_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "rpc.proto",
}
// Client API for Lightning service
type LightningClient interface {
@ -5249,292 +5413,298 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 4580 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5b, 0xdd, 0x6f, 0x1c, 0x4b,
0x56, 0x4f, 0x8f, 0x67, 0xec, 0x99, 0x33, 0x33, 0xfe, 0x28, 0x7f, 0x4d, 0x26, 0xd9, 0x6c, 0x52,
0x1b, 0xdd, 0x18, 0xef, 0xca, 0x4e, 0xbc, 0xec, 0x25, 0x9b, 0x00, 0x57, 0xce, 0xa7, 0x2f, 0xeb,
0x9b, 0xeb, 0x6d, 0xe7, 0xde, 0xc0, 0xae, 0x50, 0xd3, 0x9e, 0x2e, 0x8f, 0x7b, 0xd3, 0xd3, 0xdd,
0xb7, 0xbb, 0x26, 0xce, 0x6c, 0x14, 0x09, 0x5d, 0x10, 0xbc, 0x80, 0xf6, 0x61, 0x11, 0x08, 0x09,
0xa1, 0x95, 0x10, 0x8f, 0xf0, 0x0f, 0xf0, 0x1f, 0x20, 0x90, 0x90, 0xf6, 0x89, 0x17, 0x9e, 0xf8,
0x07, 0x78, 0xe0, 0x89, 0x17, 0x54, 0x9f, 0x5d, 0xd5, 0xdd, 0x4e, 0x82, 0x40, 0x3c, 0x79, 0xea,
0x57, 0xd5, 0xa7, 0xaa, 0x4e, 0x9d, 0x3a, 0x5f, 0x75, 0x0c, 0x9d, 0x2c, 0x1d, 0xed, 0xa4, 0x59,
0x42, 0x13, 0xd4, 0x8a, 0xe2, 0x2c, 0x1d, 0x0d, 0xaf, 0x8e, 0x93, 0x64, 0x1c, 0x91, 0x5d, 0x3f,
0x0d, 0x77, 0xfd, 0x38, 0x4e, 0xa8, 0x4f, 0xc3, 0x24, 0xce, 0xc5, 0x20, 0xfc, 0x1f, 0x0e, 0x74,
0x9f, 0x67, 0x7e, 0x9c, 0xfb, 0x23, 0x06, 0xa3, 0x01, 0x2c, 0xd0, 0xd7, 0xde, 0x99, 0x9f, 0x9f,
0x0d, 0x9c, 0xeb, 0xce, 0x56, 0xc7, 0x55, 0x4d, 0xb4, 0x01, 0xf3, 0xfe, 0x24, 0x99, 0xc6, 0x74,
0xd0, 0xb8, 0xee, 0x6c, 0xcd, 0xb9, 0xb2, 0x85, 0xbe, 0x03, 0x2b, 0xf1, 0x74, 0xe2, 0x8d, 0x92,
0xf8, 0x34, 0xcc, 0x26, 0x82, 0xf8, 0x60, 0xee, 0xba, 0xb3, 0xd5, 0x72, 0xab, 0x1d, 0xe8, 0x1a,
0xc0, 0x49, 0x94, 0x8c, 0x5e, 0x8a, 0x29, 0x9a, 0x7c, 0x0a, 0x03, 0x41, 0x18, 0x7a, 0xb2, 0x45,
0xc2, 0xf1, 0x19, 0x1d, 0xb4, 0x38, 0x21, 0x0b, 0x63, 0x34, 0x68, 0x38, 0x21, 0x5e, 0x4e, 0xfd,
0x49, 0x3a, 0x98, 0xe7, 0xab, 0x31, 0x10, 0xde, 0x9f, 0x50, 0x3f, 0xf2, 0x4e, 0x09, 0xc9, 0x07,
0x0b, 0xb2, 0x5f, 0x23, 0x78, 0x00, 0x1b, 0x4f, 0x09, 0x35, 0x76, 0x9d, 0xbb, 0xe4, 0xab, 0x29,
0xc9, 0x29, 0x3e, 0x04, 0x64, 0xc0, 0x8f, 0x08, 0xf5, 0xc3, 0x28, 0x47, 0x1f, 0x43, 0x8f, 0x1a,
0x83, 0x07, 0xce, 0xf5, 0xb9, 0xad, 0xee, 0x1e, 0xda, 0xe1, 0xfc, 0xdd, 0x31, 0x3e, 0x70, 0xad,
0x71, 0xf8, 0x5f, 0x1c, 0xe8, 0x1e, 0x93, 0x38, 0x90, 0xd4, 0x11, 0x82, 0x66, 0x40, 0x72, 0xca,
0x19, 0xdb, 0x73, 0xf9, 0x6f, 0xf4, 0x4d, 0xe8, 0xb2, 0xbf, 0x5e, 0x4e, 0xb3, 0x30, 0x1e, 0x73,
0xd6, 0x76, 0x5c, 0x60, 0xd0, 0x31, 0x47, 0xd0, 0x32, 0xcc, 0xf9, 0x13, 0xca, 0x19, 0x3a, 0xe7,
0xb2, 0x9f, 0xe8, 0x06, 0xf4, 0x52, 0x7f, 0x36, 0x21, 0x31, 0x2d, 0x98, 0xd8, 0x73, 0xbb, 0x12,
0x3b, 0x60, 0x5c, 0xdc, 0x81, 0x55, 0x73, 0x88, 0xa2, 0xde, 0xe2, 0xd4, 0x57, 0x8c, 0x91, 0x72,
0x92, 0x5b, 0xb0, 0xa4, 0xc6, 0x67, 0x62, 0xb1, 0x9c, 0xad, 0x1d, 0x77, 0x51, 0xc2, 0x8a, 0x41,
0x7f, 0xe6, 0x40, 0x4f, 0x6c, 0x29, 0x4f, 0x93, 0x38, 0x27, 0xe8, 0x26, 0xf4, 0xd5, 0x97, 0x24,
0xcb, 0x92, 0x4c, 0x4a, 0x8d, 0x0d, 0xa2, 0x6d, 0x58, 0x56, 0x40, 0x9a, 0x91, 0x70, 0xe2, 0x8f,
0x09, 0xdf, 0x6a, 0xcf, 0xad, 0xe0, 0x68, 0xaf, 0xa0, 0x98, 0x25, 0x53, 0x4a, 0xf8, 0xd6, 0xbb,
0x7b, 0x3d, 0xc9, 0x6e, 0x97, 0x61, 0xae, 0x3d, 0x04, 0x7f, 0xed, 0x40, 0xef, 0xe1, 0x99, 0x1f,
0xc7, 0x24, 0x3a, 0x4a, 0xc2, 0x98, 0x32, 0x31, 0x3a, 0x9d, 0xc6, 0x41, 0x18, 0x8f, 0x3d, 0xfa,
0x3a, 0x0c, 0x24, 0xcb, 0x2d, 0x8c, 0x2d, 0xca, 0x6c, 0x33, 0x26, 0x49, 0xfe, 0x57, 0x70, 0x46,
0x2f, 0x99, 0xd2, 0x74, 0x4a, 0xbd, 0x30, 0x0e, 0xc8, 0x6b, 0xbe, 0xa6, 0xbe, 0x6b, 0x61, 0xf8,
0x37, 0x61, 0xf9, 0x90, 0xc9, 0x67, 0x1c, 0xc6, 0xe3, 0xfd, 0x20, 0xc8, 0x48, 0x9e, 0xb3, 0x4b,
0x93, 0x4e, 0x4f, 0x5e, 0x92, 0x99, 0xe4, 0x8b, 0x6c, 0x31, 0x51, 0x38, 0x4b, 0x72, 0x2a, 0xe7,
0xe3, 0xbf, 0xf1, 0x2f, 0x1c, 0x58, 0x62, 0xbc, 0xfd, 0xcc, 0x8f, 0x67, 0x4a, 0x64, 0x0e, 0xa1,
0xc7, 0x48, 0x3d, 0x4f, 0xf6, 0xc5, 0xd5, 0x13, 0xa2, 0xb7, 0x25, 0x79, 0x51, 0x1a, 0xbd, 0x63,
0x0e, 0x7d, 0x1c, 0xd3, 0x6c, 0xe6, 0x5a, 0x5f, 0x0f, 0x3f, 0x81, 0x95, 0xca, 0x10, 0x26, 0x60,
0xc5, 0xfa, 0xd8, 0x4f, 0xb4, 0x06, 0xad, 0x57, 0x7e, 0x34, 0x25, 0xf2, 0xa2, 0x8b, 0xc6, 0xbd,
0xc6, 0x5d, 0x07, 0x7f, 0x04, 0xcb, 0xc5, 0x9c, 0x52, 0x02, 0x10, 0x34, 0x35, 0x8b, 0x3b, 0x2e,
0xff, 0xcd, 0x58, 0xc1, 0xc6, 0x3d, 0x4c, 0x42, 0x7d, 0xb7, 0xd8, 0x38, 0x3f, 0x08, 0x94, 0x80,
0xf0, 0xdf, 0x17, 0xe9, 0x14, 0x7c, 0x0b, 0x56, 0x8c, 0xef, 0xdf, 0x31, 0xd1, 0x5f, 0x3b, 0xb0,
0xf2, 0x8c, 0x9c, 0x4b, 0x76, 0xab, 0xa9, 0xee, 0x42, 0x93, 0xce, 0x52, 0xc2, 0x47, 0x2e, 0xee,
0xdd, 0x94, 0xdc, 0xaa, 0x8c, 0xdb, 0x91, 0xcd, 0xe7, 0xb3, 0x94, 0xb8, 0xfc, 0x0b, 0xfc, 0x39,
0x74, 0x0d, 0x10, 0x6d, 0xc2, 0xea, 0x8b, 0x4f, 0x9f, 0x3f, 0x7b, 0x7c, 0x7c, 0xec, 0x1d, 0x7d,
0xf1, 0xe0, 0x07, 0x8f, 0x7f, 0xc7, 0x3b, 0xd8, 0x3f, 0x3e, 0x58, 0xbe, 0x84, 0x36, 0x00, 0x3d,
0x7b, 0x7c, 0xfc, 0xfc, 0xf1, 0x23, 0x0b, 0x77, 0xd0, 0x12, 0x74, 0x4d, 0xa0, 0x81, 0x87, 0x30,
0x78, 0x46, 0xce, 0x5f, 0x84, 0x34, 0x26, 0x79, 0x6e, 0x4f, 0x8f, 0x77, 0x00, 0x99, 0x6b, 0x92,
0xdb, 0x1c, 0xc0, 0x82, 0x2f, 0x20, 0xa5, 0x81, 0x65, 0x13, 0x7f, 0x04, 0xe8, 0x38, 0x1c, 0xc7,
0x9f, 0x91, 0x3c, 0xf7, 0xc7, 0x44, 0x6d, 0x76, 0x19, 0xe6, 0x26, 0xf9, 0x58, 0x4a, 0x38, 0xfb,
0x89, 0xbf, 0x0b, 0xab, 0xd6, 0x38, 0x49, 0xf8, 0x2a, 0x74, 0xf2, 0x70, 0x1c, 0xfb, 0x74, 0x9a,
0x11, 0x49, 0xba, 0x00, 0xf0, 0x13, 0x58, 0xfb, 0x92, 0x64, 0xe1, 0xe9, 0xec, 0x7d, 0xe4, 0x6d,
0x3a, 0x8d, 0x32, 0x9d, 0xc7, 0xb0, 0x5e, 0xa2, 0x23, 0xa7, 0x17, 0x52, 0x25, 0xcf, 0xaf, 0xed,
0x8a, 0x86, 0x71, 0x41, 0x1a, 0xe6, 0x05, 0xc1, 0x5f, 0x00, 0x7a, 0x98, 0xc4, 0x31, 0x19, 0xd1,
0x23, 0x42, 0x32, 0xb5, 0x98, 0x6f, 0x1b, 0x32, 0xd4, 0xdd, 0xdb, 0x94, 0x07, 0x5b, 0xbe, 0x75,
0x52, 0xb8, 0x10, 0x34, 0x53, 0x92, 0x4d, 0x38, 0xe1, 0xb6, 0xcb, 0x7f, 0xe3, 0x5d, 0x58, 0xb5,
0xc8, 0x16, 0x3c, 0x4f, 0x09, 0xc9, 0x3c, 0xb9, 0xba, 0x96, 0xab, 0x9a, 0xf8, 0x0e, 0xac, 0x3f,
0x0a, 0xf3, 0x51, 0x75, 0x29, 0xec, 0x93, 0xe9, 0x89, 0x57, 0x5c, 0x1d, 0xd5, 0x64, 0xe6, 0xa5,
0xfc, 0x89, 0x98, 0x06, 0xff, 0x91, 0x03, 0xcd, 0x83, 0xe7, 0x87, 0x0f, 0xd1, 0x10, 0xda, 0x61,
0x3c, 0x4a, 0x26, 0x4c, 0x29, 0x0b, 0x76, 0xe8, 0xf6, 0x85, 0x76, 0xf6, 0x2a, 0x74, 0xb8, 0x2e,
0x67, 0x96, 0x90, 0xeb, 0x9f, 0x9e, 0x5b, 0x00, 0xcc, 0x0a, 0x93, 0xd7, 0x69, 0x98, 0x71, 0x33,
0xab, 0x8c, 0x67, 0x93, 0x6b, 0xa9, 0x6a, 0x07, 0xfe, 0xa7, 0x26, 0xf4, 0xf7, 0x47, 0x34, 0x7c,
0x45, 0xa4, 0xd6, 0xe4, 0xb3, 0x72, 0x40, 0xae, 0x47, 0xb6, 0x98, 0x7e, 0xcf, 0xc8, 0x24, 0xa1,
0xc4, 0xb3, 0x8e, 0xc9, 0x06, 0xd9, 0xa8, 0x91, 0x20, 0xe4, 0xa5, 0x4c, 0xff, 0xf2, 0xf5, 0x75,
0x5c, 0x1b, 0x64, 0x2c, 0x63, 0x00, 0xe3, 0x32, 0x5b, 0x59, 0xd3, 0x55, 0x4d, 0xc6, 0x8f, 0x91,
0x9f, 0xfa, 0xa3, 0x90, 0xce, 0xb8, 0x91, 0x9a, 0x73, 0x75, 0x9b, 0xd1, 0x8e, 0x92, 0x91, 0x1f,
0x79, 0x27, 0x7e, 0xe4, 0xc7, 0x23, 0x22, 0x0d, 0xbe, 0x0d, 0xa2, 0x8f, 0x60, 0x51, 0x2e, 0x49,
0x0d, 0x13, 0x76, 0xbf, 0x84, 0x32, 0xdf, 0x60, 0x94, 0x4c, 0x26, 0x21, 0x65, 0xae, 0xc0, 0xa0,
0x2d, 0x7c, 0x83, 0x02, 0xe1, 0x3b, 0x11, 0xad, 0x73, 0xc1, 0xc3, 0x8e, 0x98, 0xcd, 0x02, 0x19,
0x95, 0x53, 0x42, 0xbc, 0x94, 0x64, 0xde, 0xcb, 0xf3, 0x01, 0x08, 0x2a, 0x05, 0xc2, 0x4e, 0x63,
0x1a, 0xe7, 0x84, 0xd2, 0x88, 0x04, 0x7a, 0x41, 0x5d, 0x3e, 0xac, 0xda, 0x81, 0x6e, 0xc3, 0xaa,
0xf0, 0x4e, 0x72, 0x9f, 0x26, 0xf9, 0x59, 0x98, 0x7b, 0x39, 0x89, 0xe9, 0xa0, 0xc7, 0xc7, 0xd7,
0x75, 0xa1, 0xbb, 0xb0, 0x59, 0x82, 0x33, 0x32, 0x22, 0xe1, 0x2b, 0x12, 0x0c, 0xfa, 0xfc, 0xab,
0x8b, 0xba, 0xd1, 0x75, 0xe8, 0x32, 0xa7, 0x6c, 0x9a, 0x06, 0x3e, 0x25, 0xf9, 0x60, 0x91, 0x9f,
0x83, 0x09, 0xa1, 0x3b, 0xd0, 0x4f, 0x89, 0x30, 0x7f, 0x67, 0x34, 0x1a, 0xe5, 0x83, 0x25, 0x6e,
0x73, 0xba, 0xf2, 0xb2, 0x31, 0xf9, 0x75, 0xed, 0x11, 0x78, 0x1d, 0x56, 0x0f, 0xc3, 0x9c, 0x4a,
0x59, 0xd2, 0xfa, 0xed, 0x00, 0xd6, 0x6c, 0x58, 0xde, 0xb6, 0xdb, 0xd0, 0x96, 0x82, 0x91, 0x0f,
0xba, 0x9c, 0xf8, 0x9a, 0x24, 0x6e, 0xc9, 0xa4, 0xab, 0x47, 0xe1, 0x3f, 0x6c, 0x40, 0x93, 0xdd,
0xa4, 0x8b, 0x6f, 0x9d, 0x79, 0x85, 0x1b, 0xd6, 0x15, 0x36, 0x15, 0xea, 0x9c, 0xa5, 0x50, 0xb9,
0x33, 0x3a, 0xa3, 0x44, 0xf2, 0x5b, 0xc8, 0xa4, 0x81, 0x14, 0xfd, 0x19, 0x19, 0xbd, 0xe2, 0x82,
0xa9, 0xfb, 0x19, 0xc2, 0xc4, 0x36, 0xf7, 0xa9, 0xf8, 0x5a, 0x48, 0xa5, 0x6e, 0xab, 0x3e, 0xfe,
0xe5, 0x42, 0xd1, 0xc7, 0xbf, 0x1b, 0xc0, 0x42, 0x18, 0x9f, 0x24, 0xd3, 0x38, 0xe0, 0x12, 0xd8,
0x76, 0x55, 0x93, 0x5d, 0xf2, 0x94, 0x3b, 0x1e, 0xe1, 0x84, 0x48, 0xd1, 0x2b, 0x00, 0x8c, 0x98,
0x87, 0x91, 0x73, 0x9d, 0xa2, 0x99, 0xfc, 0x31, 0xac, 0x18, 0x98, 0xe4, 0xf0, 0x0d, 0x68, 0xb1,
0xdd, 0x2b, 0x57, 0x55, 0x9d, 0x1d, 0x57, 0x46, 0xa2, 0x07, 0x2f, 0xc3, 0xe2, 0x53, 0x42, 0x3f,
0x8d, 0x4f, 0x13, 0x45, 0xe9, 0x3f, 0x1b, 0xb0, 0xa4, 0x21, 0x49, 0x68, 0x0b, 0x96, 0xc2, 0x80,
0xc4, 0x34, 0xa4, 0x33, 0xcf, 0x72, 0x64, 0xca, 0x30, 0x53, 0xef, 0x7e, 0x14, 0xfa, 0xb9, 0x54,
0x10, 0xa2, 0x81, 0xf6, 0x60, 0x8d, 0xc9, 0x96, 0x12, 0x17, 0x7d, 0xec, 0xc2, 0x7f, 0xaa, 0xed,
0x63, 0xd7, 0x81, 0xe1, 0x42, 0x01, 0x15, 0x9f, 0x08, 0x65, 0x56, 0xd7, 0xc5, 0xb8, 0x26, 0x28,
0xb1, 0x2d, 0xb7, 0xf8, 0xb8, 0x02, 0xa8, 0x84, 0x14, 0xf3, 0xc2, 0x77, 0x2b, 0x87, 0x14, 0x46,
0x58, 0xd2, 0xae, 0x84, 0x25, 0x5b, 0xb0, 0x94, 0xcf, 0xe2, 0x11, 0x09, 0x3c, 0x9a, 0xb0, 0x79,
0xc3, 0x98, 0x9f, 0x4e, 0xdb, 0x2d, 0xc3, 0x3c, 0x80, 0x22, 0x39, 0x8d, 0x09, 0xe5, 0x7a, 0xa1,
0xed, 0xaa, 0x26, 0x53, 0xb1, 0x7c, 0x88, 0x10, 0xfa, 0x8e, 0x2b, 0x5b, 0xf8, 0xa7, 0xdc, 0xd4,
0xe9, 0x18, 0xe9, 0x0b, 0x7e, 0x0f, 0xd1, 0x15, 0xe8, 0x88, 0xf9, 0xf3, 0x33, 0x5f, 0x5a, 0xdf,
0x36, 0x07, 0x8e, 0xcf, 0x7c, 0x16, 0x02, 0x58, 0x5b, 0x12, 0x12, 0xdf, 0xe5, 0xd8, 0x81, 0xd8,
0xd1, 0x4d, 0x58, 0x54, 0xd1, 0x57, 0xee, 0x45, 0xe4, 0x94, 0x2a, 0x9f, 0x35, 0x9e, 0x4e, 0xd8,
0x74, 0xf9, 0x21, 0x39, 0xa5, 0xf8, 0x19, 0xac, 0xc8, 0xdb, 0xf6, 0x79, 0x4a, 0xd4, 0xd4, 0xdf,
0x2f, 0x6b, 0x73, 0x61, 0x6e, 0x57, 0xa5, 0x14, 0x99, 0x8e, 0x76, 0x49, 0xc5, 0x63, 0x17, 0x90,
0xec, 0x7e, 0x18, 0x25, 0x39, 0x91, 0x04, 0x31, 0xf4, 0x46, 0x51, 0x92, 0x97, 0xbd, 0x71, 0x13,
0x63, 0x7c, 0xcb, 0xa7, 0xa3, 0x11, 0xbb, 0xa5, 0xc2, 0x60, 0xab, 0x26, 0x26, 0xb0, 0xca, 0x89,
0x29, 0xb5, 0xa0, 0x9d, 0xbc, 0x0f, 0x5f, 0x65, 0x6f, 0x64, 0x06, 0x07, 0x6b, 0xd0, 0x3a, 0x4d,
0xb2, 0x11, 0x91, 0x13, 0x89, 0x06, 0xfe, 0x57, 0x07, 0x56, 0xf8, 0x3c, 0xc7, 0xd4, 0xa7, 0xd3,
0x5c, 0x2e, 0xfd, 0xd7, 0xa1, 0xcf, 0x96, 0x49, 0x94, 0x98, 0xca, 0x59, 0xd6, 0xf4, 0x8d, 0xe2,
0xa8, 0x18, 0x7c, 0x70, 0xc9, 0xb5, 0x07, 0xa3, 0x4f, 0xa0, 0x67, 0x86, 0xbf, 0x7c, 0xc2, 0xee,
0xde, 0x65, 0xb5, 0xc4, 0xca, 0xa9, 0x1f, 0x5c, 0x72, 0xad, 0x0f, 0xd0, 0x7d, 0x00, 0x6e, 0x23,
0x39, 0x59, 0x19, 0x09, 0x5d, 0xb6, 0x77, 0x68, 0x30, 0xfa, 0xe0, 0x92, 0x6b, 0x0c, 0x7f, 0xd0,
0x86, 0x79, 0xa1, 0xd4, 0xf1, 0x53, 0xe8, 0x5b, 0x2b, 0xb5, 0x7c, 0xe9, 0x9e, 0xf0, 0xa5, 0x2b,
0x31, 0x4e, 0xa3, 0x26, 0xc6, 0xf9, 0x37, 0x07, 0x10, 0x93, 0x94, 0xd2, 0x59, 0x7c, 0x04, 0x8b,
0xd4, 0xcf, 0xc6, 0x84, 0x7a, 0xb6, 0x1b, 0x55, 0x42, 0xb9, 0xf5, 0x49, 0x02, 0xcb, 0x97, 0xe8,
0xb9, 0x26, 0x84, 0x76, 0x00, 0x19, 0x4d, 0x15, 0xb8, 0x0a, 0xbd, 0x5d, 0xd3, 0xc3, 0x14, 0x8c,
0x70, 0x04, 0x54, 0xc8, 0x26, 0x7d, 0xa7, 0x26, 0xd7, 0x9d, 0xb5, 0x7d, 0x4c, 0x35, 0xa7, 0x53,
0x16, 0x15, 0xfb, 0x54, 0x79, 0x1b, 0xaa, 0x8d, 0x7f, 0xe9, 0xc0, 0x32, 0xdb, 0xa0, 0x25, 0x04,
0xf7, 0x80, 0x0b, 0xd0, 0x07, 0xca, 0x80, 0x35, 0xf6, 0x7f, 0x2f, 0x02, 0x77, 0xa1, 0xc3, 0x09,
0x26, 0x29, 0x89, 0xa5, 0x04, 0x0c, 0x6c, 0x09, 0x28, 0xae, 0xee, 0xc1, 0x25, 0xb7, 0x18, 0x6c,
0x9c, 0xff, 0x26, 0xac, 0xcb, 0x55, 0xda, 0x07, 0x87, 0xff, 0x18, 0x60, 0xa3, 0xdc, 0xa3, 0xad,
0xb4, 0x74, 0x3d, 0xa2, 0x70, 0x72, 0x92, 0x68, 0x2f, 0xc6, 0x31, 0xbd, 0x12, 0xab, 0x0b, 0x9d,
0xc2, 0xba, 0x52, 0xe6, 0x6c, 0xfe, 0x42, 0x75, 0x37, 0xb8, 0x15, 0xba, 0x6d, 0xf3, 0xab, 0x34,
0x9f, 0x82, 0x4d, 0xe9, 0xaa, 0x27, 0x87, 0xc6, 0x30, 0xd0, 0x46, 0x43, 0xaa, 0x10, 0xc3, 0xb0,
0xb0, 0xa9, 0xbe, 0xfd, 0xee, 0xa9, 0xf8, 0x95, 0x09, 0x14, 0x7a, 0x21, 0x31, 0xf4, 0x1a, 0xae,
0xa9, 0x3e, 0xae, 0x23, 0xaa, 0xd3, 0x35, 0x3f, 0x64, 0x67, 0x4f, 0xd8, 0xb7, 0xf6, 0x9c, 0xef,
0xa1, 0x3b, 0xfc, 0x47, 0x07, 0x16, 0x6d, 0x6a, 0xcc, 0x04, 0x49, 0x5f, 0x56, 0x5d, 0x03, 0x65,
0x8a, 0x4b, 0x70, 0xd5, 0x1b, 0x6f, 0xd4, 0x79, 0xe3, 0xa6, 0xcf, 0x3d, 0xf7, 0x3e, 0x9f, 0xbb,
0xf9, 0x61, 0x3e, 0x77, 0xab, 0xce, 0xe7, 0x1e, 0xfe, 0xa2, 0x01, 0xa8, 0x7a, 0xba, 0xe8, 0x89,
0x08, 0x07, 0x62, 0x12, 0xc9, 0x0b, 0xf5, 0x9d, 0x0f, 0x12, 0x10, 0x05, 0xab, 0x8f, 0x99, 0xa0,
0x9a, 0x17, 0xc6, 0xb4, 0x89, 0x7d, 0xb7, 0xae, 0x0b, 0x6d, 0xc3, 0x32, 0x37, 0x95, 0xb9, 0x47,
0xc3, 0x28, 0x2a, 0x6e, 0x56, 0xdf, 0xad, 0xe0, 0xa5, 0x80, 0xa1, 0xf9, 0xfe, 0x80, 0xa1, 0xf5,
0xfe, 0x80, 0x61, 0xbe, 0x1c, 0x30, 0x0c, 0xdf, 0x40, 0xdf, 0x12, 0x90, 0xff, 0x33, 0xe6, 0x94,
0x4d, 0xaf, 0x10, 0x05, 0x0b, 0x1b, 0x7e, 0xdd, 0x00, 0x54, 0x95, 0xd1, 0xff, 0xcf, 0x25, 0x70,
0x81, 0xb3, 0xd4, 0xcc, 0x9c, 0x14, 0x38, 0x4b, 0xc1, 0x6c, 0xc1, 0xd2, 0xc4, 0xa7, 0xd3, 0x8c,
0xb9, 0x9d, 0x56, 0x88, 0x5b, 0x86, 0x99, 0x4c, 0x14, 0x27, 0xe9, 0xa9, 0x5e, 0xe9, 0x1b, 0xd6,
0x75, 0xe1, 0xef, 0xc3, 0xda, 0x0b, 0x3f, 0x8a, 0x08, 0x7d, 0x20, 0x26, 0x53, 0xa6, 0xed, 0x06,
0xf4, 0xce, 0x45, 0xf6, 0xc6, 0x4b, 0xe2, 0x68, 0x26, 0xc3, 0xe3, 0xae, 0xc4, 0x3e, 0x8f, 0xa3,
0x19, 0xbe, 0x03, 0xeb, 0xa5, 0x4f, 0x8b, 0xb4, 0x82, 0xad, 0x36, 0x55, 0x93, 0x29, 0x64, 0xc9,
0x27, 0x7b, 0x3a, 0xbc, 0x07, 0x1b, 0xe5, 0x8e, 0xf7, 0x12, 0xfb, 0x04, 0xd0, 0x0f, 0xa7, 0x24,
0x9b, 0xf1, 0xd4, 0xa8, 0x4e, 0x82, 0x6d, 0x96, 0x43, 0xa5, 0xf9, 0x74, 0x7a, 0xf2, 0x03, 0x32,
0x53, 0x19, 0xe5, 0x86, 0xce, 0x28, 0xe3, 0xfb, 0xb0, 0x6a, 0x11, 0xd0, 0xb9, 0xdd, 0x79, 0x9e,
0x5e, 0x55, 0x61, 0x84, 0x9d, 0x82, 0x95, 0x7d, 0xf8, 0x2f, 0x1c, 0x98, 0x3b, 0x48, 0x52, 0x33,
0xba, 0x77, 0xec, 0xe8, 0x5e, 0xea, 0x23, 0x4f, 0xab, 0x9b, 0x86, 0xbc, 0x22, 0x26, 0xc8, 0xb4,
0x89, 0x3f, 0xa1, 0xcc, 0x91, 0x3e, 0x4d, 0xb2, 0x73, 0x3f, 0x0b, 0xa4, 0x0c, 0x94, 0x50, 0xb6,
0xfc, 0xe2, 0x26, 0xb2, 0x9f, 0xcc, 0xb1, 0xe6, 0x29, 0x0e, 0x75, 0xbe, 0xb2, 0x85, 0x7f, 0xe6,
0x40, 0x8b, 0xaf, 0x95, 0x09, 0x8e, 0x30, 0x58, 0xfc, 0x95, 0x80, 0x67, 0x50, 0x1c, 0x21, 0x38,
0x25, 0xb8, 0xf4, 0x76, 0xd0, 0x28, 0xbf, 0x1d, 0xb0, 0x50, 0x43, 0xb4, 0x8a, 0xa4, 0x7c, 0x01,
0xa0, 0x6b, 0xd0, 0x3c, 0x4b, 0x52, 0x65, 0x16, 0x40, 0x85, 0xcc, 0x49, 0xea, 0x72, 0x1c, 0x6f,
0xc3, 0xd2, 0xb3, 0x24, 0x20, 0x46, 0xd4, 0x75, 0xe1, 0x31, 0xe1, 0xdf, 0x77, 0xa0, 0xad, 0x06,
0xa3, 0x2d, 0x68, 0x32, 0xf5, 0x5e, 0xf2, 0x3c, 0x74, 0xe2, 0x8b, 0x8d, 0x73, 0xf9, 0x08, 0x76,
0xdb, 0xb8, 0xdf, 0x5f, 0xd8, 0x5e, 0xe5, 0xf5, 0x17, 0x76, 0x8d, 0xb9, 0x6b, 0x7c, 0xcd, 0x25,
0x03, 0x50, 0x42, 0xf1, 0xcf, 0x1d, 0xe8, 0x5b, 0x73, 0x30, 0x07, 0x2e, 0xf2, 0x73, 0x2a, 0x93,
0x05, 0x92, 0x89, 0x26, 0x64, 0x46, 0xe8, 0x0d, 0x3b, 0x42, 0xd7, 0x11, 0xe2, 0x9c, 0x19, 0x21,
0xde, 0x86, 0x8e, 0x0c, 0xc7, 0x89, 0xe2, 0x9b, 0x7a, 0x59, 0x61, 0x33, 0xaa, 0x94, 0x5e, 0x31,
0x08, 0xdf, 0x87, 0xae, 0xd1, 0xc3, 0x26, 0x8c, 0x09, 0x3d, 0x4f, 0xb2, 0x97, 0x2a, 0x25, 0x20,
0x9b, 0x3a, 0xe3, 0xdc, 0x28, 0x32, 0xce, 0xf8, 0xef, 0x1c, 0xe8, 0x33, 0x99, 0x08, 0xe3, 0xf1,
0x51, 0x12, 0x85, 0xa3, 0x19, 0x97, 0x0d, 0x75, 0xfc, 0x5e, 0x40, 0x22, 0xea, 0x6b, 0xd9, 0xb0,
0x61, 0x66, 0x31, 0x27, 0x61, 0xcc, 0x73, 0x1e, 0x52, 0x32, 0x74, 0x9b, 0xc9, 0x38, 0x53, 0xe7,
0x27, 0x7e, 0x4e, 0xbc, 0x09, 0x73, 0x2c, 0xa5, 0x02, 0xb3, 0x40, 0xa6, 0x96, 0x18, 0x90, 0xf9,
0x94, 0x78, 0x93, 0x30, 0x8a, 0x42, 0x31, 0x56, 0xc8, 0x72, 0x5d, 0x17, 0xfe, 0x87, 0x06, 0x74,
0xa5, 0x42, 0x78, 0x1c, 0x8c, 0x45, 0xfe, 0x4a, 0x9a, 0x71, 0x7d, 0xd1, 0x0c, 0x44, 0xf5, 0x5b,
0x86, 0xdf, 0x40, 0xca, 0x07, 0x38, 0x57, 0x3d, 0x40, 0x16, 0x4c, 0x27, 0x01, 0xb9, 0xc3, 0x3d,
0x0c, 0xf1, 0x40, 0x57, 0x00, 0xaa, 0x77, 0x8f, 0xf7, 0xb6, 0x8a, 0x5e, 0x0e, 0x58, 0x3e, 0xc5,
0x7c, 0xc9, 0xa7, 0xb8, 0x0b, 0x3d, 0x49, 0x86, 0xf3, 0x9d, 0x27, 0x45, 0x0a, 0x51, 0xb6, 0xce,
0xc4, 0xb5, 0x46, 0xaa, 0x2f, 0xf7, 0xd4, 0x97, 0xed, 0xf7, 0x7d, 0xa9, 0x46, 0xe2, 0x75, 0x58,
0x95, 0xcc, 0x7b, 0x9a, 0xf9, 0xe9, 0x99, 0x52, 0xb2, 0x81, 0x7e, 0x2d, 0xe2, 0x30, 0xda, 0x86,
0x16, 0xfb, 0x4c, 0xe9, 0xb9, 0xfa, 0xeb, 0x25, 0x86, 0xa0, 0x2d, 0x68, 0x91, 0x60, 0x4c, 0x94,
0x53, 0x8b, 0x6c, 0x57, 0x9c, 0x9d, 0x91, 0x2b, 0x06, 0xb0, 0xcb, 0xce, 0xd0, 0xd2, 0x65, 0xb7,
0x75, 0xe4, 0x3c, 0x6b, 0x7e, 0x1a, 0xe0, 0x35, 0x40, 0xcf, 0x84, 0xd4, 0x9a, 0x19, 0x99, 0x3f,
0x98, 0x83, 0xae, 0x01, 0xb3, 0x7b, 0x3b, 0x66, 0x0b, 0xf6, 0x82, 0xd0, 0x9f, 0x10, 0x4a, 0x32,
0x29, 0xa9, 0x25, 0x94, 0xab, 0xd2, 0x57, 0x63, 0x2f, 0x99, 0x52, 0x2f, 0x20, 0xe3, 0x8c, 0x88,
0x48, 0xd7, 0x71, 0x4b, 0x28, 0x1b, 0x37, 0xf1, 0x5f, 0x9b, 0xe3, 0x84, 0x3c, 0x94, 0x50, 0x95,
0x5f, 0x11, 0x3c, 0x6a, 0x16, 0xf9, 0x15, 0xc1, 0x91, 0xb2, 0xc6, 0x69, 0xd5, 0x68, 0x9c, 0x8f,
0x61, 0x43, 0xe8, 0x16, 0x79, 0x37, 0xbd, 0x92, 0x98, 0x5c, 0xd0, 0xcb, 0x3c, 0x35, 0xb6, 0x66,
0x25, 0xe0, 0x79, 0xf8, 0x53, 0x91, 0xd8, 0x75, 0xdc, 0x0a, 0xce, 0xc6, 0xb2, 0xeb, 0x68, 0x8d,
0x15, 0x09, 0xde, 0x0a, 0xce, 0xc7, 0xfa, 0xaf, 0xed, 0xb1, 0x1d, 0x39, 0xb6, 0x84, 0xe3, 0x3e,
0x74, 0x8f, 0x69, 0x92, 0xaa, 0x43, 0x59, 0x84, 0x9e, 0x68, 0xca, 0xa4, 0xfe, 0x15, 0xb8, 0xcc,
0xa5, 0xe8, 0x79, 0x92, 0x26, 0x51, 0x32, 0x9e, 0x1d, 0x4f, 0x4f, 0xf2, 0x51, 0x16, 0xa6, 0xcc,
0xe1, 0xc4, 0xff, 0xec, 0xc0, 0xaa, 0xd5, 0x2b, 0x23, 0xca, 0x5f, 0x15, 0x22, 0xad, 0xf3, 0xb0,
0x42, 0xf0, 0x56, 0x0c, 0xc5, 0x27, 0x06, 0x8a, 0xe0, 0xf8, 0x0b, 0x99, 0x9a, 0xdd, 0x87, 0x25,
0xb5, 0x32, 0xf5, 0xa1, 0x90, 0xc2, 0x41, 0x55, 0x0a, 0xe5, 0xf7, 0x8b, 0xf2, 0x03, 0x45, 0xe2,
0x37, 0x84, 0x33, 0x46, 0x02, 0xbe, 0x47, 0x15, 0x2f, 0x0d, 0xd5, 0xf7, 0xa6, 0x03, 0xa8, 0x56,
0x30, 0xd2, 0x60, 0x8e, 0xff, 0xc4, 0x01, 0x28, 0x56, 0xc7, 0x04, 0xa3, 0x50, 0xde, 0x0e, 0xcf,
0x6a, 0x15, 0x00, 0x73, 0x9d, 0x74, 0x96, 0xb0, 0xb0, 0x07, 0x5d, 0x85, 0x31, 0x5f, 0xe4, 0x16,
0x2c, 0x8d, 0xa3, 0xe4, 0x84, 0x5b, 0x57, 0xfe, 0x7e, 0x94, 0xcb, 0xa7, 0x8d, 0x45, 0x01, 0x3f,
0x91, 0x68, 0x61, 0x3c, 0x9a, 0x86, 0xf1, 0xc0, 0x7f, 0xda, 0xd0, 0xf9, 0xab, 0x62, 0xcf, 0x17,
0xde, 0x32, 0xb4, 0x57, 0x51, 0x8e, 0x17, 0xe4, 0x8b, 0x78, 0x10, 0x7d, 0xf4, 0xde, 0x30, 0xe9,
0x3e, 0x2c, 0x66, 0x42, 0xfb, 0x28, 0xd5, 0xd4, 0x7c, 0x87, 0x6a, 0xea, 0x67, 0x96, 0xdd, 0xf9,
0x15, 0x58, 0xf6, 0x83, 0x57, 0x24, 0xa3, 0x21, 0x77, 0x83, 0xb9, 0x79, 0x17, 0x0a, 0x75, 0xc9,
0xc0, 0xb9, 0xd5, 0xbd, 0x05, 0x4b, 0xf2, 0x39, 0x49, 0x8f, 0x94, 0xcf, 0xf3, 0x05, 0xcc, 0x06,
0xe2, 0xbf, 0x71, 0x64, 0xae, 0xcc, 0x3e, 0xc3, 0x8b, 0x39, 0x62, 0xee, 0xae, 0x51, 0xda, 0xdd,
0xb7, 0x64, 0xea, 0x2b, 0x50, 0xbe, 0xb6, 0x4c, 0x20, 0x0a, 0x50, 0xa6, 0x19, 0x6d, 0x96, 0x36,
0x3f, 0x84, 0xa5, 0x78, 0x07, 0x96, 0x8e, 0x09, 0xdd, 0x67, 0x27, 0xa8, 0x14, 0xe3, 0x15, 0xe8,
0xc4, 0xe4, 0xdc, 0x13, 0x47, 0x2c, 0xcc, 0x78, 0x3b, 0x26, 0xe7, 0x7c, 0x0c, 0x46, 0xb0, 0x5c,
0x8c, 0x97, 0xb7, 0xee, 0xbf, 0x1a, 0xb0, 0xf0, 0x69, 0xfc, 0x2a, 0x09, 0x47, 0x3c, 0x99, 0x35,
0x21, 0x93, 0x44, 0x3d, 0x0c, 0xb3, 0xdf, 0xcc, 0x2b, 0xe0, 0x6f, 0x1e, 0x29, 0x95, 0x59, 0x26,
0xd5, 0x64, 0x16, 0x32, 0x2b, 0xaa, 0x10, 0x84, 0xb4, 0x19, 0x08, 0xf3, 0x26, 0x33, 0xb3, 0xb0,
0x42, 0xb6, 0x8a, 0x57, 0xf1, 0x96, 0xf1, 0x2a, 0xce, 0xd3, 0x96, 0xe2, 0x39, 0x87, 0x1f, 0x49,
0xdb, 0x55, 0x4d, 0xee, 0xf5, 0x66, 0x44, 0xc4, 0x9d, 0xdc, 0xd6, 0x2e, 0x48, 0xaf, 0xd7, 0x04,
0x99, 0x3d, 0x16, 0x1f, 0x88, 0x31, 0x42, 0x5f, 0x99, 0x10, 0xf3, 0x4f, 0xca, 0xb5, 0x19, 0x1d,
0x21, 0x26, 0x25, 0x98, 0x29, 0xb5, 0x80, 0x68, 0xdd, 0x23, 0xf6, 0x00, 0xa2, 0xca, 0xa2, 0x8c,
0x1b, 0x3e, 0xb3, 0x78, 0x96, 0x92, 0x2d, 0xee, 0xc7, 0xf8, 0x51, 0x74, 0xe2, 0x8f, 0x5e, 0x7a,
0xdc, 0x79, 0xea, 0x89, 0xdc, 0x81, 0x05, 0xe2, 0x2f, 0x01, 0xed, 0x07, 0x81, 0xe4, 0xbf, 0x8e,
0x17, 0x0a, 0xce, 0x39, 0x16, 0xe7, 0x6a, 0x76, 0xd0, 0xa8, 0xdd, 0x01, 0x7e, 0x0c, 0xdd, 0x23,
0xa3, 0x8c, 0x85, 0x1f, 0x95, 0x2a, 0x60, 0x91, 0xc7, 0x6b, 0x20, 0xc6, 0x84, 0x0d, 0x73, 0x42,
0xfc, 0x6b, 0x80, 0x0e, 0xc3, 0x9c, 0xea, 0xf5, 0xe9, 0x48, 0x4e, 0xe7, 0x93, 0x8c, 0x48, 0x4e,
0x62, 0x3c, 0x92, 0xdb, 0x17, 0x0f, 0x59, 0xe5, 0x8d, 0x6d, 0x43, 0x3b, 0x14, 0x90, 0xd2, 0xd4,
0x8b, 0x52, 0xc4, 0xd5, 0x48, 0xdd, 0xcf, 0x5c, 0x0e, 0x09, 0x5a, 0x86, 0xe0, 0x67, 0x0e, 0x2c,
0xc8, 0xad, 0x31, 0x83, 0x69, 0x15, 0xf0, 0x88, 0x8d, 0x59, 0x58, 0x7d, 0x0d, 0x46, 0x55, 0xa6,
0xe6, 0xea, 0x64, 0x0a, 0x41, 0x33, 0xf5, 0xe9, 0x19, 0xf7, 0xa6, 0x3b, 0x2e, 0xff, 0xad, 0xa2,
0xa6, 0x96, 0x8e, 0x9a, 0xd4, 0xa3, 0x9d, 0x5c, 0x94, 0x7e, 0x4f, 0x7a, 0x20, 0x1e, 0xed, 0x0a,
0xb8, 0xe0, 0x81, 0x5c, 0x60, 0x99, 0x07, 0x72, 0xa8, 0xab, 0xfb, 0xf1, 0x10, 0x06, 0x8f, 0x48,
0x44, 0x28, 0xd9, 0x8f, 0xa2, 0x32, 0xfd, 0x2b, 0x70, 0xb9, 0xa6, 0x4f, 0xde, 0xea, 0x27, 0xb0,
0xf2, 0x88, 0x9c, 0x4c, 0xc7, 0x87, 0xe4, 0x55, 0x91, 0x5c, 0x46, 0xd0, 0xcc, 0xcf, 0x92, 0x73,
0x79, 0x5e, 0xfc, 0x37, 0xfa, 0x06, 0x40, 0xc4, 0xc6, 0x78, 0x79, 0x4a, 0x46, 0xaa, 0x08, 0x81,
0x23, 0xc7, 0x29, 0x19, 0xe1, 0x8f, 0x01, 0x99, 0x74, 0xe4, 0x16, 0xd8, 0x5d, 0x9b, 0x9e, 0x78,
0xf9, 0x2c, 0xa7, 0x64, 0xa2, 0xd4, 0x8c, 0x09, 0xe1, 0x5b, 0xd0, 0x3b, 0xf2, 0x67, 0x2e, 0xf9,
0x4a, 0xd6, 0x45, 0xb1, 0xe0, 0xcc, 0x9f, 0x31, 0xf1, 0xd4, 0xc1, 0x19, 0xef, 0xc6, 0x7f, 0xd5,
0x80, 0x79, 0x31, 0x92, 0x51, 0x0d, 0x48, 0x4e, 0xc3, 0x58, 0xe4, 0x77, 0x25, 0x55, 0x03, 0xaa,
0x9c, 0x77, 0xa3, 0xe6, 0xbc, 0xa5, 0x13, 0xa5, 0x1e, 0x6c, 0xe5, 0xc1, 0x5a, 0x18, 0x8f, 0x3d,
0xc3, 0x09, 0x11, 0x65, 0x6f, 0x4d, 0x19, 0x7b, 0x2a, 0xa0, 0x14, 0x05, 0x17, 0x37, 0x5a, 0xac,
0x4f, 0x09, 0xa2, 0x34, 0x1c, 0x26, 0x54, 0xab, 0x37, 0x16, 0x44, 0x21, 0x54, 0x45, 0x6f, 0x54,
0xf4, 0x43, 0xbb, 0x4e, 0x3f, 0x20, 0x58, 0x7e, 0x42, 0x88, 0x4b, 0xd2, 0x24, 0xd3, 0xa5, 0x63,
0x7f, 0xe9, 0xc0, 0xb2, 0xb4, 0x08, 0xba, 0x0f, 0xdd, 0xb0, 0xcc, 0x87, 0x53, 0x97, 0xa7, 0xbc,
0x09, 0x7d, 0x1e, 0x40, 0xb1, 0xe8, 0x88, 0x47, 0x4b, 0x32, 0x7b, 0x60, 0x81, 0x6c, 0x97, 0x2a,
0x9d, 0x36, 0x09, 0x23, 0xc9, 0x3e, 0x13, 0x62, 0xa6, 0x4e, 0x05, 0x58, 0x9c, 0x79, 0x8e, 0xab,
0xdb, 0xf8, 0x08, 0x56, 0x8c, 0xf5, 0x4a, 0x71, 0xb9, 0x0f, 0xea, 0xd9, 0x48, 0x24, 0x03, 0x84,
0xd4, 0x6f, 0xda, 0xc6, 0xad, 0xf8, 0xcc, 0x1a, 0x8c, 0xff, 0xde, 0xe1, 0x2c, 0x90, 0x3e, 0x94,
0xae, 0x19, 0x99, 0x17, 0x6e, 0x8d, 0x90, 0xe5, 0x83, 0x4b, 0xae, 0x6c, 0xa3, 0xef, 0x7d, 0xa0,
0x67, 0xa2, 0x5f, 0x78, 0x2e, 0xe0, 0xcd, 0x5c, 0x1d, 0x6f, 0xde, 0xb1, 0xf3, 0x07, 0x0b, 0xd0,
0xca, 0x47, 0x49, 0x4a, 0xf0, 0x2a, 0x67, 0x81, 0x5a, 0xaf, 0x60, 0xc1, 0xde, 0xdf, 0x5e, 0x81,
0x8e, 0x8e, 0x82, 0xd0, 0x4f, 0xa0, 0x6f, 0xe5, 0xb9, 0xd0, 0x15, 0xb9, 0xc2, 0xba, 0xc4, 0xd9,
0xf0, 0x6a, 0x7d, 0xa7, 0xbc, 0xe9, 0xd7, 0xbe, 0xfe, 0xe5, 0xbf, 0xff, 0xbc, 0x31, 0x40, 0x1b,
0xbb, 0xaf, 0xee, 0xec, 0xca, 0x44, 0xd6, 0x2e, 0xcf, 0xcb, 0x89, 0x67, 0xd4, 0x97, 0xb0, 0x68,
0xe7, 0xc1, 0xd0, 0x55, 0x9b, 0x1d, 0xa5, 0xd9, 0xbe, 0x71, 0x41, 0xaf, 0x9c, 0xee, 0x2a, 0x9f,
0x6e, 0x03, 0xad, 0x99, 0xd3, 0xe9, 0xe8, 0x84, 0xf0, 0x87, 0x6f, 0xb3, 0x20, 0x14, 0x29, 0x7a,
0xf5, 0x85, 0xa2, 0xc3, 0xcb, 0xd5, 0xe2, 0x4f, 0x59, 0x2d, 0x8a, 0x07, 0x7c, 0x2a, 0x84, 0x96,
0xd9, 0x54, 0x66, 0x3d, 0x28, 0xfa, 0x31, 0x74, 0x74, 0x55, 0x1b, 0xda, 0x34, 0x6a, 0xf8, 0xcc,
0x3a, 0xb9, 0xe1, 0xa0, 0xda, 0xa1, 0x22, 0x0d, 0x4e, 0x79, 0x1d, 0x57, 0x28, 0xdf, 0x73, 0xb6,
0xd1, 0x21, 0xac, 0x4b, 0x83, 0x73, 0x42, 0xfe, 0x27, 0x3b, 0xa9, 0x29, 0x63, 0xbd, 0xed, 0xa0,
0xfb, 0xd0, 0x56, 0x85, 0x7e, 0x68, 0xa3, 0xbe, 0xda, 0x70, 0xb8, 0x59, 0xc1, 0xe5, 0xc5, 0xd9,
0x07, 0x28, 0xea, 0xda, 0xd0, 0xe0, 0xa2, 0xf2, 0x3b, 0xcd, 0xc4, 0x9a, 0x22, 0xb8, 0x31, 0x2f,
0xeb, 0xb3, 0xcb, 0xe6, 0xd0, 0x37, 0x8b, 0xf1, 0xb5, 0x05, 0x75, 0xef, 0x20, 0x88, 0x37, 0x38,
0xef, 0x96, 0xd1, 0x22, 0xe3, 0x5d, 0x4c, 0xce, 0x55, 0x09, 0xc8, 0x23, 0xe8, 0x1a, 0xb5, 0x72,
0x48, 0x51, 0xa8, 0xd6, 0xd9, 0x0d, 0x87, 0x75, 0x5d, 0x72, 0xb9, 0xbf, 0x05, 0x7d, 0xab, 0xe8,
0x4d, 0xdf, 0x8c, 0xba, 0x92, 0x3a, 0x7d, 0x33, 0xea, 0xeb, 0xe4, 0x7e, 0x04, 0x5d, 0xa3, 0x44,
0x0d, 0x19, 0x2f, 0x85, 0xa5, 0x12, 0x34, 0xbd, 0xa2, 0x9a, 0x8a, 0x36, 0xbc, 0xc6, 0xf7, 0xbb,
0x88, 0x3b, 0x6c, 0xbf, 0xbc, 0x0e, 0x82, 0x09, 0xc9, 0x4f, 0x60, 0xd1, 0x2e, 0x4d, 0xd3, 0xb7,
0xaa, 0xb6, 0xc8, 0x4d, 0xdf, 0xaa, 0x0b, 0xea, 0xd9, 0xa4, 0x40, 0x6e, 0xaf, 0xea, 0x49, 0x76,
0xdf, 0xc8, 0x6c, 0xdf, 0x5b, 0xf4, 0x43, 0xa6, 0x3a, 0x64, 0x61, 0x0a, 0x2a, 0x4a, 0xf5, 0xec,
0xf2, 0x15, 0x2d, 0xed, 0x95, 0x1a, 0x16, 0xbc, 0xc2, 0x89, 0x77, 0x51, 0xb1, 0x03, 0xf4, 0x19,
0x2c, 0xc8, 0x02, 0x15, 0xb4, 0x5e, 0x48, 0xb5, 0x91, 0x31, 0x19, 0x6e, 0x94, 0x61, 0x49, 0x6c,
0x95, 0x13, 0xeb, 0xa3, 0x2e, 0x23, 0x36, 0x26, 0x34, 0x64, 0x34, 0x22, 0x58, 0xb2, 0xdf, 0x2c,
0x72, 0xcd, 0x8e, 0xda, 0xd7, 0x52, 0xcd, 0x8e, 0xfa, 0x07, 0x10, 0x5b, 0xc9, 0x28, 0xe5, 0xb2,
0xab, 0x1e, 0x82, 0x7f, 0x17, 0x7a, 0x66, 0x35, 0x14, 0x1a, 0x1a, 0x3b, 0x2f, 0x55, 0x4e, 0x0d,
0xaf, 0xd4, 0xf6, 0xd9, 0x47, 0x8b, 0x7a, 0xe6, 0x34, 0xe8, 0x47, 0xb0, 0x64, 0x3c, 0xae, 0x1d,
0xcf, 0xe2, 0x91, 0x16, 0x9d, 0xea, 0x83, 0xfd, 0xb0, 0xce, 0xb6, 0xe0, 0x4d, 0x4e, 0x78, 0x05,
0x5b, 0x84, 0x99, 0xd8, 0x3c, 0x84, 0xae, 0xf9, 0x70, 0xf7, 0x0e, 0xba, 0x9b, 0x46, 0x97, 0xf9,
0x84, 0x7e, 0xdb, 0x41, 0x7f, 0xee, 0x40, 0xcf, 0xac, 0xe3, 0x40, 0x56, 0xd2, 0xa1, 0x44, 0x67,
0x60, 0xf6, 0x99, 0x84, 0xf0, 0x33, 0xbe, 0xc8, 0x83, 0xed, 0x27, 0x16, 0x93, 0xdf, 0x58, 0x3e,
0xc3, 0x8e, 0x59, 0xbf, 0xfd, 0xb6, 0xdc, 0x69, 0x16, 0x34, 0xbc, 0xbd, 0xed, 0xa0, 0x7b, 0xa2,
0x4a, 0x5f, 0x79, 0xe7, 0xc8, 0x50, 0x6b, 0x65, 0x76, 0x99, 0xa5, 0xef, 0x5b, 0xce, 0x6d, 0x07,
0xfd, 0x9e, 0x28, 0xd9, 0x96, 0xdf, 0x72, 0xae, 0x7f, 0xe8, 0xf7, 0xf8, 0x26, 0xdf, 0xc9, 0x35,
0x7c, 0xd9, 0xda, 0x49, 0x59, 0xaf, 0x1f, 0x01, 0x14, 0xa1, 0x16, 0x2a, 0xc5, 0x1d, 0x5a, 0xe3,
0x55, 0xa3, 0x31, 0xfb, 0x34, 0x55, 0x78, 0x22, 0x94, 0x40, 0xcf, 0x08, 0x72, 0x72, 0x7d, 0x9c,
0xd5, 0x90, 0x69, 0x38, 0xac, 0xeb, 0x92, 0xf4, 0xbf, 0xc5, 0xe9, 0x7f, 0x03, 0x5d, 0x31, 0xe9,
0xef, 0xbe, 0x31, 0x43, 0xac, 0xb7, 0xe8, 0x4b, 0xe8, 0x1f, 0x26, 0xc9, 0xcb, 0x69, 0xaa, 0x63,
0x75, 0x3b, 0x68, 0x60, 0x61, 0xde, 0xb0, 0xb4, 0x29, 0x7c, 0x83, 0x53, 0xbe, 0x82, 0x2e, 0xdb,
0x94, 0x8b, 0xc0, 0xef, 0x2d, 0xf2, 0x61, 0x45, 0x5b, 0x3b, 0xbd, 0x91, 0xa1, 0x4d, 0xc7, 0x8c,
0xbf, 0x2a, 0x73, 0x58, 0xfe, 0x87, 0x9e, 0x23, 0x57, 0x34, 0x6f, 0x3b, 0xe8, 0x08, 0x7a, 0x8f,
0xc8, 0x28, 0x09, 0x88, 0xf4, 0xf3, 0x57, 0x8b, 0x95, 0xeb, 0x00, 0x61, 0xd8, 0xb7, 0x40, 0x5b,
0x03, 0xa4, 0xfe, 0x2c, 0x23, 0x5f, 0xed, 0xbe, 0x91, 0x11, 0xc4, 0x5b, 0xa5, 0x01, 0x54, 0xd4,
0x63, 0x69, 0x80, 0x52, 0x98, 0x64, 0x69, 0x80, 0x4a, 0x98, 0x64, 0x69, 0x00, 0x15, 0x75, 0xa1,
0x88, 0x05, 0x4f, 0xa5, 0xc8, 0x4a, 0xdb, 0xcc, 0x8b, 0xe2, 0xb1, 0xe1, 0xf5, 0x8b, 0x07, 0xd8,
0xb3, 0x6d, 0xdb, 0xb3, 0x1d, 0x43, 0xff, 0x11, 0x11, 0xcc, 0x12, 0x49, 0xf4, 0xa1, 0xad, 0x52,
0xcc, 0x84, 0x7b, 0x59, 0xdd, 0xf0, 0x3e, 0x5b, 0xc1, 0xf3, 0x0c, 0x36, 0xfa, 0x31, 0x74, 0x9f,
0x12, 0xaa, 0xb2, 0xe6, 0xda, 0xf3, 0x28, 0xa5, 0xd1, 0x87, 0x35, 0x49, 0x77, 0x7c, 0x9d, 0x53,
0x1b, 0xa2, 0x81, 0xa6, 0xb6, 0x4b, 0x82, 0x31, 0x11, 0x97, 0xdf, 0x0b, 0x83, 0xb7, 0xe8, 0xb7,
0x39, 0x71, 0xfd, 0xa4, 0xb6, 0x61, 0x24, 0x5b, 0x4d, 0xe2, 0x4b, 0x25, 0xbc, 0x8e, 0x72, 0x9c,
0x04, 0xc4, 0x30, 0x75, 0x31, 0x74, 0x8d, 0xf7, 0x53, 0x7d, 0xa1, 0xaa, 0x8f, 0xb2, 0xfa, 0x42,
0xd5, 0x3c, 0xb7, 0xe2, 0x2d, 0x3e, 0x0f, 0x46, 0xd7, 0x8b, 0x79, 0xc4, 0x13, 0x6b, 0x31, 0xd3,
0xee, 0x1b, 0x7f, 0x42, 0xdf, 0xa2, 0x17, 0xbc, 0x76, 0xd3, 0x7c, 0x19, 0x28, 0x3c, 0x9f, 0xf2,
0x23, 0x82, 0x66, 0x96, 0xd1, 0x65, 0x7b, 0x43, 0x62, 0x2a, 0x6e, 0x11, 0xbf, 0x07, 0x70, 0x4c,
0x93, 0xf4, 0x91, 0x4f, 0x26, 0x49, 0x5c, 0x68, 0xb2, 0x22, 0xfb, 0x5d, 0x68, 0x32, 0x23, 0x05,
0x8e, 0x5e, 0x18, 0xbe, 0xa7, 0xf5, 0xb0, 0xa2, 0x84, 0xeb, 0xc2, 0x04, 0xb9, 0x66, 0x48, 0x4d,
0x92, 0x5c, 0xb9, 0xa1, 0x22, 0xf3, 0x67, 0xb8, 0xa1, 0x56, 0xea, 0xd0, 0x70, 0x43, 0xed, 0x14,
0x21, 0x73, 0x43, 0x8b, 0x24, 0x80, 0x76, 0x43, 0x2b, 0xf9, 0x05, 0xad, 0x43, 0x6b, 0x32, 0x06,
0x47, 0xd0, 0x29, 0x62, 0x55, 0x35, 0x51, 0x39, 0xb2, 0xd5, 0xc6, 0xaa, 0x12, 0x42, 0xe2, 0x65,
0xce, 0x67, 0x40, 0x6d, 0xc6, 0x67, 0xfe, 0x7e, 0xfc, 0x1c, 0x40, 0xec, 0xee, 0x09, 0x6b, 0x19,
0x24, 0xad, 0x48, 0xd1, 0x24, 0x69, 0x87, 0x64, 0xca, 0x93, 0xc1, 0x9a, 0xe4, 0x3d, 0x67, 0xfb,
0x64, 0x9e, 0xff, 0x33, 0xdf, 0x77, 0xff, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x45, 0xd4, 0x32, 0xab,
0xfe, 0x37, 0x00, 0x00,
// 4681 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x3b, 0x5d, 0x6f, 0x1c, 0x4b,
0x56, 0xe9, 0xf1, 0x8c, 0xed, 0x39, 0x33, 0xe3, 0x8f, 0xf2, 0xd7, 0x64, 0x92, 0x9b, 0x4d, 0x6a,
0xa3, 0x1b, 0xe3, 0x5d, 0xd9, 0x89, 0x97, 0xbd, 0x64, 0x13, 0xe0, 0xca, 0xf9, 0xf4, 0x65, 0x7d,
0x73, 0xbd, 0xed, 0xe4, 0x06, 0x76, 0x85, 0x9a, 0xf6, 0x74, 0x79, 0xdc, 0x9b, 0x9e, 0xee, 0xbe,
0xdd, 0x35, 0x76, 0x66, 0xa3, 0x48, 0xe8, 0x82, 0xe0, 0x05, 0xb4, 0x0f, 0x8b, 0x40, 0x48, 0x08,
0xad, 0x84, 0x78, 0x84, 0x3f, 0xc0, 0x3f, 0x40, 0x20, 0x21, 0xed, 0x13, 0x12, 0xe2, 0x89, 0x3f,
0xc0, 0x03, 0x4f, 0xbc, 0xa0, 0xfa, 0xec, 0xaa, 0xee, 0x76, 0x92, 0x15, 0x88, 0x27, 0x4f, 0x9d,
0x3a, 0x7d, 0x4e, 0xd5, 0xa9, 0x53, 0xe7, 0xab, 0x8e, 0xa1, 0x9d, 0xa5, 0xc3, 0xed, 0x34, 0x4b,
0x68, 0x82, 0x5a, 0x51, 0x9c, 0xa5, 0xc3, 0xc1, 0xd5, 0x51, 0x92, 0x8c, 0x22, 0xb2, 0xe3, 0xa7,
0xe1, 0x8e, 0x1f, 0xc7, 0x09, 0xf5, 0x69, 0x98, 0xc4, 0xb9, 0x40, 0xc2, 0x77, 0x60, 0xe5, 0x61,
0x46, 0x7c, 0x4a, 0x5e, 0xfa, 0x51, 0x44, 0xa8, 0x4b, 0xbe, 0x9a, 0x90, 0x9c, 0xa2, 0x01, 0xcc,
0xa7, 0x7e, 0x9e, 0x9f, 0x27, 0x59, 0xd0, 0x77, 0xae, 0x3b, 0x9b, 0x5d, 0x57, 0x8f, 0xf1, 0x3a,
0xac, 0xda, 0x9f, 0xe4, 0x69, 0x12, 0xe7, 0x84, 0x91, 0x7a, 0x11, 0x47, 0xc9, 0xf0, 0xd5, 0x2f,
0x45, 0xca, 0xfe, 0x44, 0x92, 0xfa, 0x4f, 0x07, 0x3a, 0xcf, 0x33, 0x3f, 0xce, 0xfd, 0x21, 0x5b,
0x2c, 0xea, 0xc3, 0x1c, 0x7d, 0xed, 0x9d, 0xfa, 0xf9, 0x29, 0x27, 0xd1, 0x76, 0xd5, 0x10, 0xad,
0xc3, 0xac, 0x3f, 0x4e, 0x26, 0x31, 0xed, 0x37, 0xae, 0x3b, 0x9b, 0x33, 0xae, 0x1c, 0xa1, 0x6f,
0xc3, 0x72, 0x3c, 0x19, 0x7b, 0xc3, 0x24, 0x3e, 0x09, 0xb3, 0xb1, 0xd8, 0x72, 0x7f, 0xe6, 0xba,
0xb3, 0xd9, 0x72, 0xab, 0x13, 0xe8, 0x1a, 0xc0, 0x31, 0x5b, 0x86, 0x60, 0xd1, 0xe4, 0x2c, 0x0c,
0x08, 0xc2, 0xd0, 0x95, 0x23, 0x12, 0x8e, 0x4e, 0x69, 0xbf, 0xc5, 0x09, 0x59, 0x30, 0x46, 0x83,
0x86, 0x63, 0xe2, 0xe5, 0xd4, 0x1f, 0xa7, 0xfd, 0x59, 0xbe, 0x1a, 0x03, 0xc2, 0xe7, 0x13, 0xea,
0x47, 0xde, 0x09, 0x21, 0x79, 0x7f, 0x4e, 0xce, 0x6b, 0x08, 0xee, 0xc3, 0xfa, 0x53, 0x42, 0x8d,
0x5d, 0xe7, 0x52, 0x82, 0xf8, 0x00, 0x90, 0x01, 0x7e, 0x44, 0xa8, 0x1f, 0x46, 0x39, 0xfa, 0x04,
0xba, 0xd4, 0x40, 0xee, 0x3b, 0xd7, 0x67, 0x36, 0x3b, 0xbb, 0x68, 0x9b, 0x9f, 0xfa, 0xb6, 0xf1,
0x81, 0x6b, 0xe1, 0xe1, 0x7f, 0x71, 0xa0, 0x73, 0x44, 0xe2, 0x40, 0x9d, 0x0f, 0x82, 0x66, 0x40,
0x72, 0x2a, 0xcf, 0x86, 0xff, 0x46, 0xdf, 0x80, 0x0e, 0xfb, 0xeb, 0xe5, 0x34, 0x0b, 0xe3, 0x11,
0x17, 0x6d, 0xdb, 0x05, 0x06, 0x3a, 0xe2, 0x10, 0xb4, 0x04, 0x33, 0xfe, 0x98, 0x72, 0x81, 0xce,
0xb8, 0xec, 0x27, 0xba, 0x01, 0xdd, 0xd4, 0x9f, 0x8e, 0x49, 0x4c, 0x0b, 0x21, 0x76, 0xdd, 0x8e,
0x84, 0xed, 0x33, 0x29, 0x6e, 0xc3, 0x8a, 0x89, 0xa2, 0xa8, 0xb7, 0x38, 0xf5, 0x65, 0x03, 0x53,
0x32, 0xb9, 0x05, 0x8b, 0x0a, 0x3f, 0x13, 0x8b, 0xe5, 0x62, 0x6d, 0xbb, 0x0b, 0x12, 0xac, 0x04,
0xf4, 0x67, 0x0e, 0x74, 0xc5, 0x96, 0x84, 0xfe, 0xa0, 0x9b, 0xd0, 0x53, 0x5f, 0x92, 0x2c, 0x4b,
0x32, 0xa9, 0x35, 0x36, 0x10, 0x6d, 0xc1, 0x92, 0x02, 0xa4, 0x19, 0x09, 0xc7, 0xfe, 0x88, 0xf0,
0xad, 0x76, 0xdd, 0x0a, 0x1c, 0xed, 0x16, 0x14, 0xb3, 0x64, 0x42, 0x09, 0xdf, 0x7a, 0x67, 0xb7,
0x2b, 0xc5, 0xed, 0x32, 0x98, 0x6b, 0xa3, 0xe0, 0xaf, 0x1d, 0xe8, 0x3e, 0x3c, 0xf5, 0xe3, 0x98,
0x44, 0x87, 0x49, 0x18, 0x53, 0xa6, 0x46, 0x27, 0x93, 0x38, 0x08, 0xe3, 0x91, 0x47, 0x5f, 0x87,
0xea, 0x3a, 0x58, 0x30, 0xb6, 0x28, 0x73, 0xcc, 0x84, 0x24, 0xe5, 0x5f, 0x81, 0x33, 0x7a, 0xc9,
0x84, 0xa6, 0x13, 0xea, 0x85, 0x71, 0x40, 0x5e, 0xf3, 0x35, 0xf5, 0x5c, 0x0b, 0x86, 0x7f, 0x13,
0x96, 0x0e, 0x98, 0x7e, 0xc6, 0x61, 0x3c, 0xda, 0x0b, 0x82, 0x8c, 0xe4, 0x39, 0xbb, 0x34, 0xe9,
0xe4, 0xf8, 0x15, 0x99, 0x4a, 0xb9, 0xc8, 0x11, 0x53, 0x85, 0xd3, 0x24, 0xa7, 0x92, 0x1f, 0xff,
0x8d, 0x7f, 0xee, 0xc0, 0x22, 0x93, 0xed, 0xe7, 0x7e, 0x3c, 0x55, 0x2a, 0x73, 0x00, 0x5d, 0x46,
0xea, 0x79, 0xb2, 0x27, 0xae, 0x9e, 0x50, 0xbd, 0x4d, 0x29, 0x8b, 0x12, 0xf6, 0xb6, 0x89, 0xfa,
0x38, 0xa6, 0xd9, 0xd4, 0xb5, 0xbe, 0x1e, 0x7c, 0x0a, 0xcb, 0x15, 0x14, 0xa6, 0x60, 0xc5, 0xfa,
0xd8, 0x4f, 0xb4, 0x0a, 0xad, 0x33, 0x3f, 0x9a, 0x10, 0x79, 0xd1, 0xc5, 0xe0, 0x5e, 0xe3, 0xae,
0x83, 0x3f, 0x86, 0xa5, 0x82, 0xa7, 0xd4, 0x00, 0x04, 0x4d, 0x2d, 0xe2, 0xb6, 0xcb, 0x7f, 0x33,
0x51, 0x30, 0xbc, 0x87, 0x49, 0xa8, 0xef, 0x16, 0xc3, 0xf3, 0x83, 0x40, 0x29, 0x08, 0xff, 0x7d,
0x91, 0x4d, 0xc1, 0xb7, 0x60, 0xd9, 0xf8, 0xfe, 0x1d, 0x8c, 0xfe, 0xda, 0x81, 0xe5, 0x67, 0xe4,
0x5c, 0x8a, 0x5b, 0xb1, 0xba, 0x0b, 0x4d, 0x3a, 0x4d, 0x09, 0xc7, 0x5c, 0xd8, 0xbd, 0x29, 0xa5,
0x55, 0xc1, 0xdb, 0x96, 0xc3, 0xe7, 0xd3, 0x94, 0xb8, 0xfc, 0x0b, 0xfc, 0x05, 0x74, 0x0c, 0x20,
0xda, 0x80, 0x95, 0x97, 0x9f, 0x3d, 0x7f, 0xf6, 0xf8, 0xe8, 0xc8, 0x3b, 0x7c, 0xf1, 0xe0, 0xfb,
0x8f, 0x7f, 0xc7, 0xdb, 0xdf, 0x3b, 0xda, 0x5f, 0xba, 0x84, 0xd6, 0x01, 0x3d, 0x7b, 0x7c, 0xf4,
0xfc, 0xf1, 0x23, 0x0b, 0xee, 0xa0, 0x45, 0xe8, 0x98, 0x80, 0x06, 0x1e, 0x40, 0xff, 0x19, 0x39,
0x7f, 0x19, 0xd2, 0x98, 0xe4, 0xb9, 0xcd, 0x1e, 0x6f, 0x03, 0x32, 0xd7, 0x24, 0xb7, 0xd9, 0x87,
0x39, 0x5f, 0x80, 0x94, 0x05, 0x96, 0x43, 0xfc, 0x31, 0xa0, 0xa3, 0x70, 0x14, 0x7f, 0x4e, 0xf2,
0xdc, 0x1f, 0x11, 0xb5, 0xd9, 0x25, 0x98, 0x19, 0xe7, 0x23, 0xa9, 0xe1, 0xec, 0x27, 0xfe, 0x0e,
0xac, 0x58, 0x78, 0x92, 0xf0, 0x55, 0x68, 0xe7, 0xe1, 0x28, 0xf6, 0xe9, 0x24, 0x23, 0x92, 0x74,
0x01, 0xc0, 0x4f, 0x60, 0xf5, 0x4b, 0x92, 0x85, 0x27, 0xd3, 0xf7, 0x91, 0xb7, 0xe9, 0x34, 0xca,
0x74, 0x1e, 0xc3, 0x5a, 0x89, 0x8e, 0x64, 0x2f, 0xb4, 0x4a, 0x9e, 0xdf, 0xbc, 0x2b, 0x06, 0xc6,
0x05, 0x69, 0x98, 0x17, 0x04, 0xbf, 0x00, 0xf4, 0x30, 0x89, 0x63, 0x32, 0xa4, 0x87, 0x84, 0x64,
0x6a, 0x31, 0xdf, 0x32, 0x74, 0xa8, 0xb3, 0xbb, 0x21, 0x0f, 0xb6, 0x7c, 0xeb, 0xa4, 0x72, 0x21,
0x68, 0xa6, 0x24, 0x1b, 0x73, 0xc2, 0xf3, 0x2e, 0xff, 0x8d, 0x77, 0x60, 0xc5, 0x22, 0x5b, 0xc8,
0x3c, 0x25, 0x24, 0xf3, 0xe4, 0xea, 0x5a, 0xae, 0x1a, 0xe2, 0x3b, 0xb0, 0xf6, 0x28, 0xcc, 0x87,
0xd5, 0xa5, 0xb0, 0x4f, 0x26, 0xc7, 0x5e, 0x71, 0x75, 0xd4, 0x90, 0xb9, 0x97, 0xf2, 0x27, 0xd2,
0xd9, 0xfe, 0x91, 0x03, 0xcd, 0xfd, 0xe7, 0x07, 0x0f, 0x99, 0xa7, 0x0e, 0xe3, 0x61, 0x32, 0x66,
0x46, 0x59, 0x88, 0x43, 0x8f, 0x2f, 0xf4, 0xb3, 0x57, 0xa1, 0xcd, 0x6d, 0x39, 0xf3, 0x84, 0xdc,
0xfe, 0x74, 0xdd, 0x02, 0xc0, 0xbc, 0x30, 0x79, 0x9d, 0x86, 0x19, 0x77, 0xb3, 0xca, 0x79, 0x36,
0xb9, 0x95, 0xaa, 0x4e, 0xe0, 0x7f, 0x6a, 0x42, 0x6f, 0x6f, 0x48, 0xc3, 0x33, 0x22, 0xad, 0x26,
0xe7, 0xca, 0x01, 0x72, 0x3d, 0x72, 0xc4, 0xec, 0x7b, 0x46, 0xc6, 0x09, 0x25, 0x9e, 0x75, 0x4c,
0x36, 0x90, 0x61, 0x0d, 0x05, 0x21, 0x2f, 0x65, 0xf6, 0x97, 0xaf, 0xaf, 0xed, 0xda, 0x40, 0x26,
0x32, 0x06, 0x60, 0x52, 0x66, 0x2b, 0x6b, 0xba, 0x6a, 0xc8, 0xe4, 0x31, 0xf4, 0x53, 0x7f, 0x18,
0xd2, 0x29, 0x77, 0x52, 0x33, 0xae, 0x1e, 0x33, 0xda, 0x51, 0x32, 0xf4, 0x23, 0xef, 0xd8, 0x8f,
0xfc, 0x78, 0x48, 0xa4, 0xc3, 0xb7, 0x81, 0xe8, 0x63, 0x58, 0x90, 0x4b, 0x52, 0x68, 0xc2, 0xef,
0x97, 0xa0, 0x2c, 0x36, 0x18, 0x26, 0xe3, 0x71, 0x48, 0x59, 0x28, 0xd0, 0x9f, 0x17, 0xb1, 0x41,
0x01, 0xe1, 0x3b, 0x11, 0xa3, 0x73, 0x21, 0xc3, 0xb6, 0xe0, 0x66, 0x01, 0x19, 0x95, 0x13, 0x42,
0xbc, 0x94, 0x64, 0xde, 0xab, 0xf3, 0x3e, 0x08, 0x2a, 0x05, 0x84, 0x9d, 0xc6, 0x24, 0xce, 0x09,
0xa5, 0x11, 0x09, 0xf4, 0x82, 0x3a, 0x1c, 0xad, 0x3a, 0x81, 0x6e, 0xc3, 0x8a, 0x88, 0x4e, 0x72,
0x9f, 0x26, 0xf9, 0x69, 0x98, 0x7b, 0x39, 0x89, 0x69, 0xbf, 0xcb, 0xf1, 0xeb, 0xa6, 0xd0, 0x5d,
0xd8, 0x28, 0x81, 0x33, 0x32, 0x24, 0xe1, 0x19, 0x09, 0xfa, 0x3d, 0xfe, 0xd5, 0x45, 0xd3, 0xe8,
0x3a, 0x74, 0x58, 0x50, 0x36, 0x49, 0x03, 0x9f, 0x92, 0xbc, 0xbf, 0xc0, 0xcf, 0xc1, 0x04, 0xa1,
0x3b, 0xd0, 0x4b, 0x89, 0x70, 0x7f, 0xa7, 0x34, 0x1a, 0xe6, 0xfd, 0x45, 0xee, 0x73, 0x3a, 0xf2,
0xb2, 0x31, 0xfd, 0x75, 0x6d, 0x0c, 0xbc, 0x06, 0x2b, 0x07, 0x61, 0x4e, 0xa5, 0x2e, 0x69, 0xfb,
0xb6, 0x0f, 0xab, 0x36, 0x58, 0xde, 0xb6, 0xdb, 0x30, 0x2f, 0x15, 0x23, 0xef, 0x77, 0x38, 0xf1,
0x55, 0x49, 0xdc, 0xd2, 0x49, 0x57, 0x63, 0xe1, 0x3f, 0x6c, 0x40, 0x93, 0xdd, 0xa4, 0x8b, 0x6f,
0x9d, 0x79, 0x85, 0x1b, 0xd6, 0x15, 0x36, 0x0d, 0xea, 0x8c, 0x65, 0x50, 0x79, 0x30, 0x3a, 0xa5,
0x44, 0xca, 0x5b, 0xe8, 0xa4, 0x01, 0x29, 0xe6, 0x33, 0x32, 0x3c, 0xe3, 0x8a, 0xa9, 0xe7, 0x19,
0x84, 0xa9, 0x6d, 0xee, 0x53, 0xf1, 0xb5, 0xd0, 0x4a, 0x3d, 0x56, 0x73, 0xfc, 0xcb, 0xb9, 0x62,
0x8e, 0x7f, 0xd7, 0x87, 0xb9, 0x30, 0x3e, 0x4e, 0x26, 0x71, 0xc0, 0x35, 0x70, 0xde, 0x55, 0x43,
0x76, 0xc9, 0x53, 0x1e, 0x78, 0x84, 0x63, 0x22, 0x55, 0xaf, 0x00, 0x60, 0xc4, 0x22, 0x8c, 0x9c,
0xdb, 0x14, 0x2d, 0xe4, 0x4f, 0x60, 0xd9, 0x80, 0x49, 0x09, 0xdf, 0x80, 0x16, 0xdb, 0xbd, 0x0a,
0x55, 0xd5, 0xd9, 0x71, 0x63, 0x24, 0x66, 0xf0, 0x12, 0x2c, 0x3c, 0x25, 0xf4, 0xb3, 0xf8, 0x24,
0x51, 0x94, 0xfe, 0xab, 0x01, 0x8b, 0x1a, 0x24, 0x09, 0x6d, 0xc2, 0x62, 0x18, 0x90, 0x98, 0x86,
0x74, 0xea, 0x59, 0x81, 0x4c, 0x19, 0xcc, 0xcc, 0xbb, 0x1f, 0x85, 0x7e, 0x2e, 0x0d, 0x84, 0x18,
0xa0, 0x5d, 0x58, 0x65, 0xba, 0xa5, 0xd4, 0x45, 0x1f, 0xbb, 0x88, 0x9f, 0x6a, 0xe7, 0xd8, 0x75,
0x60, 0x70, 0x61, 0x80, 0x8a, 0x4f, 0x84, 0x31, 0xab, 0x9b, 0x62, 0x52, 0x13, 0x94, 0xd8, 0x96,
0x5b, 0x1c, 0xaf, 0x00, 0x54, 0x52, 0x8a, 0x59, 0x11, 0xbb, 0x95, 0x53, 0x0a, 0x23, 0x2d, 0x99,
0xaf, 0xa4, 0x25, 0x9b, 0xb0, 0x98, 0x4f, 0xe3, 0x21, 0x09, 0x3c, 0x9a, 0x30, 0xbe, 0x61, 0xcc,
0x4f, 0x67, 0xde, 0x2d, 0x83, 0x79, 0x02, 0x45, 0x72, 0x1a, 0x13, 0xca, 0xed, 0xc2, 0xbc, 0xab,
0x86, 0xcc, 0xc4, 0x72, 0x14, 0xa1, 0xf4, 0x6d, 0x57, 0x8e, 0xf0, 0x4f, 0xb8, 0xab, 0xd3, 0x39,
0xd2, 0x0b, 0x7e, 0x0f, 0xd1, 0x15, 0x68, 0x0b, 0xfe, 0xf9, 0xa9, 0xaf, 0xb2, 0x39, 0x0e, 0x38,
0x3a, 0xf5, 0x59, 0x0a, 0x60, 0x6d, 0x49, 0x68, 0x7c, 0x87, 0xc3, 0xf6, 0xc5, 0x8e, 0x6e, 0xc2,
0x82, 0xca, 0xbe, 0x72, 0x2f, 0x22, 0x27, 0x54, 0xc5, 0xac, 0xf1, 0x64, 0xcc, 0xd8, 0xe5, 0x07,
0xe4, 0x84, 0xe2, 0x67, 0xb0, 0x2c, 0x6f, 0xdb, 0x17, 0x29, 0x51, 0xac, 0xbf, 0x57, 0xb6, 0xe6,
0xc2, 0xdd, 0xae, 0x48, 0x2d, 0x32, 0x03, 0xed, 0x92, 0x89, 0xc7, 0x2e, 0x20, 0x39, 0xfd, 0x30,
0x4a, 0x72, 0x22, 0x09, 0x62, 0xe8, 0x0e, 0xa3, 0x24, 0x2f, 0x47, 0xe3, 0x26, 0x8c, 0xc9, 0x2d,
0x9f, 0x0c, 0x87, 0xec, 0x96, 0x0a, 0x87, 0xad, 0x86, 0x98, 0xc0, 0x0a, 0x27, 0xa6, 0xcc, 0x82,
0x0e, 0xf2, 0x3e, 0x7c, 0x95, 0xdd, 0xa1, 0x99, 0x1c, 0xac, 0x42, 0xeb, 0x24, 0xc9, 0x86, 0x44,
0x32, 0x12, 0x03, 0xfc, 0xaf, 0x0e, 0x2c, 0x73, 0x3e, 0x47, 0xd4, 0xa7, 0x93, 0x5c, 0x2e, 0xfd,
0xd7, 0xa1, 0xc7, 0x96, 0x49, 0x94, 0x9a, 0x4a, 0x2e, 0xab, 0xfa, 0x46, 0x71, 0xa8, 0x40, 0xde,
0xbf, 0xe4, 0xda, 0xc8, 0xe8, 0x53, 0xe8, 0x9a, 0xe9, 0x2f, 0x67, 0xd8, 0xd9, 0xbd, 0xac, 0x96,
0x58, 0x39, 0xf5, 0xfd, 0x4b, 0xae, 0xf5, 0x01, 0xba, 0x0f, 0xc0, 0x7d, 0x24, 0x27, 0x2b, 0x33,
0xa1, 0xcb, 0xf6, 0x0e, 0x0d, 0x41, 0xef, 0x5f, 0x72, 0x0d, 0xf4, 0x07, 0xf3, 0x30, 0x2b, 0x8c,
0x3a, 0x7e, 0x0a, 0x3d, 0x6b, 0xa5, 0x56, 0x2c, 0xdd, 0x15, 0xb1, 0x74, 0x25, 0xc7, 0x69, 0xd4,
0xe4, 0x38, 0xff, 0xee, 0x00, 0x62, 0x9a, 0x52, 0x3a, 0x8b, 0x8f, 0x61, 0x81, 0xfa, 0xd9, 0x88,
0x50, 0xcf, 0x0e, 0xa3, 0x4a, 0x50, 0xee, 0x7d, 0x92, 0xc0, 0x8a, 0x25, 0xba, 0xae, 0x09, 0x42,
0xdb, 0x80, 0x8c, 0xa1, 0x4a, 0x5c, 0x85, 0xdd, 0xae, 0x99, 0x61, 0x06, 0x46, 0x04, 0x02, 0x2a,
0x65, 0x93, 0xb1, 0x53, 0x93, 0xdb, 0xce, 0xda, 0x39, 0x5e, 0x27, 0x99, 0xb0, 0xac, 0xd8, 0xa7,
0x2a, 0xda, 0x50, 0x63, 0xfc, 0x0b, 0x07, 0x96, 0xd8, 0x06, 0x2d, 0x25, 0xb8, 0x07, 0x5c, 0x81,
0x3e, 0x50, 0x07, 0x2c, 0xdc, 0xff, 0xbd, 0x0a, 0xdc, 0x85, 0x36, 0x27, 0x98, 0xa4, 0x24, 0x96,
0x1a, 0xd0, 0xb7, 0x35, 0xa0, 0xb8, 0xba, 0xfb, 0x97, 0xdc, 0x02, 0xd9, 0x38, 0xff, 0x0d, 0x58,
0x93, 0xab, 0xb4, 0x0f, 0x0e, 0xff, 0x31, 0xc0, 0x7a, 0x79, 0x46, 0x7b, 0x69, 0x19, 0x7a, 0x44,
0xe1, 0xf8, 0x38, 0xd1, 0x51, 0x8c, 0x63, 0x46, 0x25, 0xd6, 0x14, 0x3a, 0x81, 0x35, 0x65, 0xcc,
0x19, 0xff, 0xc2, 0x74, 0x37, 0xb8, 0x17, 0xba, 0x6d, 0xcb, 0xab, 0xc4, 0x4f, 0x81, 0x4d, 0xed,
0xaa, 0x27, 0x87, 0x46, 0xd0, 0xd7, 0x4e, 0x43, 0x9a, 0x10, 0xc3, 0xb1, 0x30, 0x56, 0xdf, 0x7a,
0x37, 0x2b, 0x7e, 0x65, 0x02, 0x05, 0xbd, 0x90, 0x18, 0x7a, 0x0d, 0xd7, 0xd4, 0x1c, 0xb7, 0x11,
0x55, 0x76, 0xcd, 0x0f, 0xd9, 0xd9, 0x13, 0xf6, 0xad, 0xcd, 0xf3, 0x3d, 0x74, 0x07, 0xff, 0xe8,
0xc0, 0x82, 0x4d, 0x8d, 0xb9, 0x20, 0x19, 0xcb, 0xaa, 0x6b, 0xa0, 0x5c, 0x71, 0x09, 0x5c, 0x8d,
0xc6, 0x1b, 0x75, 0xd1, 0xb8, 0x19, 0x73, 0xcf, 0xbc, 0x2f, 0xe6, 0x6e, 0x7e, 0x58, 0xcc, 0xdd,
0xaa, 0x8b, 0xb9, 0x07, 0x3f, 0x6f, 0x00, 0xaa, 0x9e, 0x2e, 0x7a, 0x22, 0xd2, 0x81, 0x98, 0x44,
0xf2, 0x42, 0x7d, 0xfb, 0x83, 0x14, 0x44, 0x81, 0xd5, 0xc7, 0x4c, 0x51, 0xcd, 0x0b, 0x63, 0xfa,
0xc4, 0x9e, 0x5b, 0x37, 0x85, 0xb6, 0x60, 0x89, 0xbb, 0xca, 0xdc, 0xa3, 0x61, 0x14, 0x15, 0x37,
0xab, 0xe7, 0x56, 0xe0, 0xa5, 0x84, 0xa1, 0xf9, 0xfe, 0x84, 0xa1, 0xf5, 0xfe, 0x84, 0x61, 0xb6,
0x9c, 0x30, 0x0c, 0xde, 0x40, 0xcf, 0x52, 0x90, 0xff, 0x33, 0xe1, 0x94, 0x5d, 0xaf, 0x50, 0x05,
0x0b, 0x36, 0xf8, 0xba, 0x01, 0xa8, 0xaa, 0xa3, 0xff, 0x9f, 0x4b, 0xe0, 0x0a, 0x67, 0x99, 0x99,
0x19, 0xa9, 0x70, 0x96, 0x81, 0xd9, 0x84, 0xc5, 0xb1, 0x4f, 0x27, 0x19, 0x0b, 0x3b, 0xad, 0x14,
0xb7, 0x0c, 0x66, 0x3a, 0x51, 0x9c, 0xa4, 0xa7, 0x66, 0x65, 0x6c, 0x58, 0x37, 0x85, 0xbf, 0x07,
0xab, 0xa2, 0x34, 0xfe, 0x40, 0x30, 0x53, 0xae, 0xed, 0x06, 0x74, 0xcf, 0x45, 0xf5, 0xc6, 0x4b,
0xe2, 0x68, 0x2a, 0xd3, 0xe3, 0x8e, 0x84, 0x7d, 0x11, 0x47, 0x53, 0x7c, 0x07, 0xd6, 0x4a, 0x9f,
0x16, 0x65, 0x05, 0xdb, 0x6c, 0xaa, 0x21, 0x33, 0xc8, 0x52, 0x4e, 0x36, 0x3b, 0xbc, 0x0b, 0xeb,
0xe5, 0x89, 0xf7, 0x12, 0xfb, 0x14, 0xd0, 0x0f, 0x26, 0x24, 0x9b, 0xf2, 0xd2, 0xa8, 0x2e, 0x82,
0x6d, 0x94, 0x53, 0xa5, 0xd9, 0x74, 0x72, 0xfc, 0x7d, 0x32, 0x55, 0x15, 0xe5, 0x86, 0xae, 0x28,
0xe3, 0xfb, 0xb0, 0x62, 0x11, 0xd0, 0xb5, 0xdd, 0x59, 0x5e, 0x5e, 0x55, 0x69, 0x84, 0x5d, 0x82,
0x95, 0x73, 0xf8, 0x2f, 0x1c, 0x98, 0xd9, 0x4f, 0x52, 0x33, 0xbb, 0x77, 0xec, 0xec, 0x5e, 0xda,
0x23, 0x4f, 0x9b, 0x9b, 0x86, 0xbc, 0x22, 0x26, 0x90, 0x59, 0x13, 0x7f, 0x4c, 0x59, 0x20, 0x7d,
0x92, 0x64, 0xe7, 0x7e, 0x16, 0x48, 0x1d, 0x28, 0x41, 0xd9, 0xf2, 0x8b, 0x9b, 0xc8, 0x7e, 0xb2,
0xc0, 0x9a, 0x97, 0x38, 0xd4, 0xf9, 0xca, 0x11, 0xfe, 0xa9, 0x03, 0x2d, 0xbe, 0x56, 0xa6, 0x38,
0xc2, 0x61, 0xf1, 0x57, 0x02, 0x5e, 0x41, 0x71, 0x84, 0xe2, 0x94, 0xc0, 0xa5, 0xb7, 0x83, 0x46,
0xf9, 0xed, 0x80, 0xa5, 0x1a, 0x62, 0x54, 0x14, 0xe5, 0x0b, 0x00, 0xba, 0x06, 0xcd, 0xd3, 0x24,
0x55, 0x6e, 0x01, 0x54, 0xca, 0x9c, 0xa4, 0x2e, 0x87, 0xe3, 0x2d, 0x58, 0x7c, 0x96, 0x04, 0xc4,
0xc8, 0xba, 0x2e, 0x3c, 0x26, 0xfc, 0xfb, 0x0e, 0xcc, 0x2b, 0x64, 0xb4, 0x09, 0x4d, 0x66, 0xde,
0x4b, 0x91, 0x87, 0x2e, 0x7c, 0x31, 0x3c, 0x97, 0x63, 0xb0, 0xdb, 0xc6, 0xe3, 0xfe, 0xc2, 0xf7,
0xaa, 0xa8, 0xbf, 0xf0, 0x6b, 0x2c, 0x5c, 0xe3, 0x6b, 0x2e, 0x39, 0x80, 0x12, 0x14, 0xff, 0xcc,
0x81, 0x9e, 0xc5, 0x83, 0x05, 0x70, 0x91, 0x9f, 0x53, 0x59, 0x2c, 0x90, 0x42, 0x34, 0x41, 0x66,
0x86, 0xde, 0xb0, 0x33, 0x74, 0x9d, 0x21, 0xce, 0x98, 0x19, 0xe2, 0x6d, 0x68, 0xcb, 0x74, 0x9c,
0x28, 0xb9, 0xa9, 0x97, 0x15, 0xc6, 0x51, 0x95, 0xf4, 0x0a, 0x24, 0x7c, 0x1f, 0x3a, 0xc6, 0x0c,
0x63, 0x18, 0x13, 0x7a, 0x9e, 0x64, 0xaf, 0x54, 0x49, 0x40, 0x0e, 0x75, 0xc5, 0xb9, 0x51, 0x54,
0x9c, 0xf1, 0xdf, 0x39, 0xd0, 0x63, 0x3a, 0x11, 0xc6, 0xa3, 0xc3, 0x24, 0x0a, 0x87, 0x53, 0xae,
0x1b, 0xea, 0xf8, 0xbd, 0x80, 0x44, 0xd4, 0xd7, 0xba, 0x61, 0x83, 0x99, 0xc7, 0x1c, 0x87, 0x31,
0xaf, 0x79, 0x48, 0xcd, 0xd0, 0x63, 0xa6, 0xe3, 0xcc, 0x9c, 0x1f, 0xfb, 0x39, 0xf1, 0xc6, 0x2c,
0xb0, 0x94, 0x06, 0xcc, 0x02, 0x32, 0xb3, 0xc4, 0x00, 0x99, 0x4f, 0x89, 0x37, 0x0e, 0xa3, 0x28,
0x14, 0xb8, 0x42, 0x97, 0xeb, 0xa6, 0xf0, 0x3f, 0x34, 0xa0, 0x23, 0x0d, 0xc2, 0xe3, 0x60, 0x24,
0xea, 0x57, 0xd2, 0x8d, 0xeb, 0x8b, 0x66, 0x40, 0xd4, 0xbc, 0xe5, 0xf8, 0x0d, 0x48, 0xf9, 0x00,
0x67, 0xaa, 0x07, 0xc8, 0x92, 0xe9, 0x24, 0x20, 0x77, 0x78, 0x84, 0x21, 0x1e, 0xe8, 0x0a, 0x80,
0x9a, 0xdd, 0xe5, 0xb3, 0xad, 0x62, 0x96, 0x03, 0xac, 0x98, 0x62, 0xb6, 0x14, 0x53, 0xdc, 0x85,
0xae, 0x24, 0xc3, 0xe5, 0xce, 0x8b, 0x22, 0x85, 0x2a, 0x5b, 0x67, 0xe2, 0x5a, 0x98, 0xea, 0xcb,
0x5d, 0xf5, 0xe5, 0xfc, 0xfb, 0xbe, 0x54, 0x98, 0x78, 0x0d, 0x56, 0xa4, 0xf0, 0x9e, 0x66, 0x7e,
0x7a, 0xaa, 0x8c, 0x6c, 0xa0, 0x5f, 0x8b, 0x38, 0x18, 0x6d, 0x41, 0x8b, 0x7d, 0xa6, 0xec, 0x5c,
0xfd, 0xf5, 0x12, 0x28, 0x68, 0x13, 0x5a, 0x24, 0x18, 0x11, 0x15, 0xd4, 0x22, 0x3b, 0x14, 0x67,
0x67, 0xe4, 0x0a, 0x04, 0x76, 0xd9, 0x19, 0xb4, 0x74, 0xd9, 0x6d, 0x1b, 0x39, 0xcb, 0x86, 0x9f,
0x05, 0x78, 0x15, 0xd0, 0x33, 0xa1, 0xb5, 0x66, 0x45, 0xe6, 0x0f, 0x66, 0xa0, 0x63, 0x80, 0xd9,
0xbd, 0x1d, 0xb1, 0x05, 0x7b, 0x41, 0xe8, 0x8f, 0x09, 0x25, 0x99, 0xd4, 0xd4, 0x12, 0x94, 0x9b,
0xd2, 0xb3, 0x91, 0x97, 0x4c, 0xa8, 0x17, 0x90, 0x51, 0x46, 0x44, 0xa6, 0xeb, 0xb8, 0x25, 0x28,
0xc3, 0x1b, 0xfb, 0xaf, 0x4d, 0x3c, 0xa1, 0x0f, 0x25, 0xa8, 0xaa, 0xaf, 0x08, 0x19, 0x35, 0x8b,
0xfa, 0x8a, 0x90, 0x48, 0xd9, 0xe2, 0xb4, 0x6a, 0x2c, 0xce, 0x27, 0xb0, 0x2e, 0x6c, 0x8b, 0xbc,
0x9b, 0x5e, 0x49, 0x4d, 0x2e, 0x98, 0x65, 0x91, 0x1a, 0x5b, 0xb3, 0x52, 0xf0, 0x3c, 0xfc, 0x89,
0x28, 0xec, 0x3a, 0x6e, 0x05, 0xce, 0x70, 0xd9, 0x75, 0xb4, 0x70, 0x45, 0x81, 0xb7, 0x02, 0xe7,
0xb8, 0xfe, 0x6b, 0x1b, 0xb7, 0x2d, 0x71, 0x4b, 0x70, 0xdc, 0x83, 0xce, 0x11, 0x4d, 0x52, 0x75,
0x28, 0x0b, 0xd0, 0x15, 0x43, 0x59, 0xd4, 0xbf, 0x02, 0x97, 0xb9, 0x16, 0x3d, 0x4f, 0xd2, 0x24,
0x4a, 0x46, 0xd3, 0xa3, 0xc9, 0x71, 0x3e, 0xcc, 0xc2, 0x94, 0x05, 0x9c, 0xf8, 0x9f, 0x1d, 0x58,
0xb1, 0x66, 0x65, 0x46, 0xf9, 0xab, 0x42, 0xa5, 0x75, 0x1d, 0x56, 0x28, 0xde, 0xb2, 0x61, 0xf8,
0x04, 0xa2, 0x48, 0x8e, 0x5f, 0xc8, 0xd2, 0xec, 0x1e, 0x2c, 0xaa, 0x95, 0xa9, 0x0f, 0x85, 0x16,
0xf6, 0xab, 0x5a, 0x28, 0xbf, 0x5f, 0x90, 0x1f, 0x28, 0x12, 0xbf, 0x21, 0x82, 0x31, 0x12, 0xf0,
0x3d, 0xaa, 0x7c, 0x69, 0xa0, 0xbe, 0x37, 0x03, 0x40, 0xb5, 0x82, 0xa1, 0x06, 0xe6, 0xf8, 0x4f,
0x1c, 0x80, 0x62, 0x75, 0x4c, 0x31, 0x0a, 0xe3, 0xed, 0xf0, 0xaa, 0x56, 0x01, 0x60, 0xa1, 0x93,
0xae, 0x12, 0x16, 0xfe, 0xa0, 0xa3, 0x60, 0x2c, 0x16, 0xb9, 0x05, 0x8b, 0xa3, 0x28, 0x39, 0xe6,
0xde, 0x95, 0xbf, 0x1f, 0xe5, 0xf2, 0x69, 0x63, 0x41, 0x80, 0x9f, 0x48, 0x68, 0xe1, 0x3c, 0x9a,
0x86, 0xf3, 0xc0, 0x7f, 0xda, 0xd0, 0xf5, 0xab, 0x62, 0xcf, 0x17, 0xde, 0x32, 0xb4, 0x5b, 0x31,
0x8e, 0x17, 0xd4, 0x8b, 0x78, 0x12, 0x7d, 0xf8, 0xde, 0x34, 0xe9, 0x3e, 0x2c, 0x64, 0xc2, 0xfa,
0x28, 0xd3, 0xd4, 0x7c, 0x87, 0x69, 0xea, 0x65, 0x96, 0xdf, 0xf9, 0x15, 0x58, 0xf2, 0x83, 0x33,
0x92, 0xd1, 0x90, 0x87, 0xc1, 0xdc, 0xbd, 0x0b, 0x83, 0xba, 0x68, 0xc0, 0xb9, 0xd7, 0xbd, 0x05,
0x8b, 0xf2, 0x39, 0x49, 0x63, 0xca, 0xe7, 0xf9, 0x02, 0xcc, 0x10, 0xf1, 0xdf, 0x38, 0xb2, 0x56,
0x66, 0x9f, 0xe1, 0xc5, 0x12, 0x31, 0x77, 0xd7, 0x28, 0xed, 0xee, 0x9b, 0xb2, 0xf4, 0x15, 0xa8,
0x58, 0x5b, 0x16, 0x10, 0x05, 0x50, 0x96, 0x19, 0x6d, 0x91, 0x36, 0x3f, 0x44, 0xa4, 0x78, 0x1b,
0x16, 0x8f, 0x08, 0xdd, 0x63, 0x27, 0xa8, 0x0c, 0xe3, 0x15, 0x68, 0xc7, 0xe4, 0xdc, 0x13, 0x47,
0x2c, 0xdc, 0xf8, 0x7c, 0x4c, 0xce, 0x39, 0x0e, 0x46, 0xb0, 0x54, 0xe0, 0xcb, 0x5b, 0xf7, 0xdf,
0x0d, 0x98, 0xfb, 0x2c, 0x3e, 0x4b, 0xc2, 0x21, 0x2f, 0x66, 0x8d, 0xc9, 0x38, 0x51, 0x0f, 0xc3,
0xec, 0x37, 0x8b, 0x0a, 0xf8, 0x9b, 0x47, 0x4a, 0x65, 0x95, 0x49, 0x0d, 0x99, 0x87, 0xcc, 0x8a,
0x2e, 0x04, 0xa1, 0x6d, 0x06, 0x84, 0x45, 0x93, 0x99, 0xd9, 0x58, 0x21, 0x47, 0xc5, 0xab, 0x78,
0xcb, 0x78, 0x15, 0xe7, 0x65, 0x4b, 0xf1, 0x9c, 0xc3, 0x8f, 0x64, 0xde, 0x55, 0x43, 0x1e, 0xf5,
0x66, 0x44, 0xe4, 0x9d, 0xdc, 0xd7, 0xce, 0xc9, 0xa8, 0xd7, 0x04, 0x32, 0x7f, 0x2c, 0x3e, 0x10,
0x38, 0xc2, 0x5e, 0x99, 0x20, 0x16, 0x9f, 0x94, 0x7b, 0x33, 0xda, 0x42, 0x4d, 0x4a, 0x60, 0x66,
0xd4, 0x02, 0xa2, 0x6d, 0x8f, 0xd8, 0x03, 0x88, 0x2e, 0x8b, 0x32, 0xdc, 0x88, 0x99, 0xc5, 0xb3,
0x94, 0x1c, 0xf1, 0x38, 0xc6, 0x8f, 0xa2, 0x63, 0x7f, 0xf8, 0xca, 0xe3, 0xc1, 0x53, 0x57, 0xd4,
0x0e, 0x2c, 0x20, 0xfe, 0x12, 0xd0, 0x5e, 0x10, 0x48, 0xf9, 0xeb, 0x7c, 0xa1, 0x90, 0x9c, 0x63,
0x49, 0xae, 0x66, 0x07, 0x8d, 0xda, 0x1d, 0xe0, 0xc7, 0xd0, 0x39, 0x34, 0xda, 0x58, 0xf8, 0x51,
0xa9, 0x06, 0x16, 0x79, 0xbc, 0x06, 0xc4, 0x60, 0xd8, 0x30, 0x19, 0xe2, 0x5f, 0x03, 0x74, 0x10,
0xe6, 0x54, 0xaf, 0x4f, 0x67, 0x72, 0xba, 0x9e, 0x64, 0x64, 0x72, 0x12, 0xc6, 0x33, 0xb9, 0x3d,
0xf1, 0x90, 0x55, 0xde, 0xd8, 0x16, 0xcc, 0x87, 0x02, 0xa4, 0x2c, 0xf5, 0x82, 0x54, 0x71, 0x85,
0xa9, 0xe7, 0x59, 0xc8, 0x21, 0x81, 0x96, 0x23, 0xf8, 0xa9, 0x03, 0x73, 0x72, 0x6b, 0xcc, 0x61,
0x5a, 0x0d, 0x3c, 0x62, 0x63, 0x16, 0xac, 0xbe, 0x07, 0xa3, 0xaa, 0x53, 0x33, 0x75, 0x3a, 0x85,
0xa0, 0x99, 0xfa, 0xf4, 0x94, 0x47, 0xd3, 0x6d, 0x97, 0xff, 0x56, 0x59, 0x53, 0x4b, 0x67, 0x4d,
0xea, 0xd1, 0x4e, 0x2e, 0x4a, 0xbf, 0x27, 0x3d, 0x10, 0x8f, 0x76, 0x05, 0xb8, 0x90, 0x81, 0x5c,
0x60, 0x59, 0x06, 0x12, 0xd5, 0xd5, 0xf3, 0x78, 0x00, 0xfd, 0x47, 0x24, 0x22, 0x94, 0xec, 0x45,
0x51, 0x99, 0xfe, 0x15, 0xb8, 0x5c, 0x33, 0x27, 0x6f, 0xf5, 0x13, 0x58, 0x7e, 0x44, 0x8e, 0x27,
0xa3, 0x03, 0x72, 0x56, 0x14, 0x97, 0x11, 0x34, 0xf3, 0xd3, 0xe4, 0x5c, 0x9e, 0x17, 0xff, 0x8d,
0x3e, 0x02, 0x88, 0x18, 0x8e, 0x97, 0xa7, 0x64, 0xa8, 0x9a, 0x10, 0x38, 0xe4, 0x28, 0x25, 0x43,
0xfc, 0x09, 0x20, 0x93, 0x8e, 0xdc, 0x02, 0xbb, 0x6b, 0x93, 0x63, 0x2f, 0x9f, 0xe6, 0x94, 0x8c,
0x95, 0x99, 0x31, 0x41, 0xf8, 0x16, 0x74, 0x0f, 0xfd, 0xa9, 0x4b, 0xbe, 0x92, 0x7d, 0x51, 0x2c,
0x39, 0xf3, 0xa7, 0x4c, 0x3d, 0x75, 0x72, 0xc6, 0xa7, 0xf1, 0x5f, 0x35, 0x60, 0x56, 0x60, 0x32,
0xaa, 0x01, 0xc9, 0x69, 0x18, 0x8b, 0xfa, 0xae, 0xa4, 0x6a, 0x80, 0x2a, 0xe7, 0xdd, 0xa8, 0x39,
0x6f, 0x19, 0x44, 0xa9, 0x07, 0x5b, 0x79, 0xb0, 0x16, 0x8c, 0xe7, 0x9e, 0xe1, 0x98, 0x88, 0xb6,
0xb7, 0xa6, 0xcc, 0x3d, 0x15, 0xa0, 0x94, 0x05, 0x17, 0x37, 0x5a, 0xac, 0x4f, 0x29, 0xa2, 0x74,
0x1c, 0x26, 0xa8, 0xd6, 0x6e, 0xcc, 0x89, 0x46, 0xa8, 0x8a, 0xdd, 0xa8, 0xd8, 0x87, 0xf9, 0x3a,
0xfb, 0x80, 0x60, 0xe9, 0x09, 0x21, 0x2e, 0x49, 0x93, 0x4c, 0xb7, 0x8e, 0xfd, 0xa5, 0x03, 0x4b,
0xd2, 0x23, 0xe8, 0x39, 0x74, 0xc3, 0x72, 0x1f, 0x4e, 0x5d, 0x9d, 0xf2, 0x26, 0xf4, 0x78, 0x02,
0xc5, 0xb2, 0x23, 0x9e, 0x2d, 0xc9, 0xea, 0x81, 0x05, 0x64, 0xbb, 0x54, 0xe5, 0xb4, 0x71, 0x18,
0x49, 0xf1, 0x99, 0x20, 0xe6, 0xea, 0x54, 0x82, 0xc5, 0x85, 0xe7, 0xb8, 0x7a, 0x8c, 0x0f, 0x61,
0xd9, 0x58, 0xaf, 0x54, 0x97, 0xfb, 0xa0, 0x9e, 0x8d, 0x44, 0x31, 0x40, 0x68, 0xfd, 0x86, 0xed,
0xdc, 0x8a, 0xcf, 0x2c, 0x64, 0xfc, 0xf7, 0x0e, 0x17, 0x81, 0x8c, 0xa1, 0x74, 0xcf, 0xc8, 0xac,
0x08, 0x6b, 0x84, 0x2e, 0xef, 0x5f, 0x72, 0xe5, 0x18, 0x7d, 0xf7, 0x03, 0x23, 0x13, 0xfd, 0xc2,
0x73, 0x81, 0x6c, 0x66, 0xea, 0x64, 0xf3, 0x8e, 0x9d, 0x3f, 0x98, 0x83, 0x56, 0x3e, 0x4c, 0x52,
0x82, 0x57, 0xb8, 0x08, 0xd4, 0x7a, 0x85, 0x08, 0x76, 0xff, 0xcd, 0x81, 0x05, 0x51, 0xda, 0x12,
0xcd, 0xa3, 0x24, 0x43, 0x2c, 0x77, 0x32, 0x7a, 0x52, 0x91, 0x0e, 0x1d, 0xab, 0xbd, 0xad, 0x83,
0x2b, 0xb5, 0x73, 0x2a, 0x6e, 0xfe, 0xfa, 0x17, 0xff, 0xf1, 0xb3, 0xc6, 0x1a, 0x5e, 0xda, 0x39,
0xbb, 0xb3, 0xc3, 0x0d, 0x18, 0x39, 0xe7, 0x18, 0xf7, 0x9c, 0x2d, 0xc6, 0xc5, 0x6c, 0x57, 0xd5,
0x5c, 0x6a, 0xda, 0x5e, 0x35, 0x97, 0xda, 0xfe, 0x56, 0x8b, 0xcb, 0x84, 0x63, 0x68, 0x2e, 0xbb,
0x7f, 0x7b, 0x05, 0xda, 0x3a, 0xc9, 0x43, 0x3f, 0x86, 0x9e, 0x55, 0xc6, 0x43, 0x8a, 0x70, 0x5d,
0x5d, 0x70, 0x70, 0xb5, 0x7e, 0x52, 0xb2, 0xbd, 0xc6, 0xd9, 0xf6, 0xd1, 0x3a, 0x63, 0x2b, 0xeb,
0x74, 0x3b, 0xbc, 0xec, 0x28, 0x5e, 0x89, 0x5f, 0xc1, 0x82, 0x5d, 0xe6, 0x43, 0x57, 0xed, 0xd3,
0x2e, 0x71, 0xfb, 0xe8, 0x82, 0x59, 0xc9, 0xee, 0x2a, 0x67, 0xb7, 0x8e, 0x56, 0x4d, 0x76, 0x3a,
0xf9, 0x22, 0xfc, 0x5d, 0xdf, 0xec, 0x77, 0x45, 0x8a, 0x5e, 0x7d, 0x1f, 0xec, 0xe0, 0x72, 0xb5,
0xb7, 0x55, 0x36, 0xc3, 0xe2, 0x3e, 0x67, 0x85, 0x10, 0x17, 0xa8, 0xd9, 0xee, 0x8a, 0x7e, 0x04,
0x6d, 0xdd, 0xb4, 0x87, 0x36, 0x8c, 0x16, 0x45, 0xb3, 0x0d, 0x70, 0xd0, 0xaf, 0x4e, 0xd4, 0x1d,
0x95, 0x49, 0x99, 0x29, 0xc4, 0x01, 0xac, 0x49, 0x7f, 0x7a, 0x4c, 0x7e, 0x99, 0x9d, 0xd4, 0x74,
0xe9, 0xde, 0x76, 0xd0, 0x7d, 0x98, 0x57, 0x7d, 0x8c, 0x68, 0xbd, 0xbe, 0x99, 0x72, 0xb0, 0x51,
0x81, 0x4b, 0xbb, 0xb0, 0x07, 0x50, 0xb4, 0xed, 0xa1, 0xfe, 0x45, 0xdd, 0x85, 0x5a, 0x88, 0x35,
0x3d, 0x7e, 0x23, 0xde, 0xb5, 0x68, 0x77, 0x05, 0xa2, 0x6f, 0x14, 0xf8, 0xb5, 0xfd, 0x82, 0xef,
0x20, 0x88, 0xd7, 0xb9, 0xec, 0x96, 0xd0, 0x02, 0x93, 0x5d, 0x4c, 0xce, 0x55, 0x87, 0xcb, 0x23,
0xe8, 0x18, 0xad, 0x80, 0x48, 0x51, 0xa8, 0xb6, 0x11, 0x0e, 0x06, 0x75, 0x53, 0x72, 0xb9, 0xbf,
0x05, 0x3d, 0xab, 0xa7, 0x4f, 0xdf, 0x8c, 0xba, 0x8e, 0x41, 0x7d, 0x33, 0xea, 0xdb, 0x00, 0x7f,
0x08, 0x1d, 0xa3, 0x03, 0x0f, 0x19, 0x0f, 0xa1, 0xa5, 0x0e, 0x3b, 0xbd, 0xa2, 0x9a, 0x86, 0x3d,
0xbc, 0xca, 0xf7, 0xbb, 0x80, 0xdb, 0x6c, 0xbf, 0xbc, 0xcd, 0x83, 0x29, 0xc9, 0x8f, 0x61, 0xc1,
0xee, 0xbc, 0xd3, 0xb7, 0xaa, 0xb6, 0x87, 0x4f, 0xdf, 0xaa, 0x0b, 0xda, 0xf5, 0xa4, 0x42, 0x6e,
0xad, 0x68, 0x26, 0x3b, 0x6f, 0x64, 0x31, 0xf3, 0x2d, 0xfa, 0x01, 0x33, 0x1d, 0xb2, 0xef, 0x06,
0x15, 0x9d, 0x88, 0x76, 0x77, 0x8e, 0xd6, 0xf6, 0x4a, 0x8b, 0x0e, 0x5e, 0xe6, 0xc4, 0x3b, 0xa8,
0xd8, 0x01, 0xfa, 0x1c, 0xe6, 0x64, 0xff, 0x0d, 0x5a, 0x2b, 0xb4, 0xda, 0x28, 0x08, 0x0d, 0xd6,
0xcb, 0x60, 0x49, 0x6c, 0x85, 0x13, 0xeb, 0xa1, 0x0e, 0x23, 0x36, 0x22, 0x34, 0x64, 0x34, 0x22,
0x58, 0xb4, 0x9f, 0x64, 0x72, 0x2d, 0x8e, 0xda, 0xc7, 0x60, 0x2d, 0x8e, 0xfa, 0xf7, 0x1d, 0xdb,
0xc8, 0x28, 0xe3, 0xb2, 0xa3, 0xde, 0xb9, 0x7f, 0x17, 0xba, 0x66, 0xb3, 0x97, 0xb6, 0xd8, 0x35,
0x8d, 0x61, 0xda, 0x62, 0xd7, 0x75, 0x87, 0xa9, 0xa3, 0x45, 0x5d, 0x93, 0x0d, 0xfa, 0x21, 0x2c,
0x1a, 0x6f, 0x87, 0x47, 0xd3, 0x78, 0xa8, 0x55, 0xa7, 0xda, 0x8f, 0x30, 0xa8, 0x73, 0x9d, 0x78,
0x83, 0x13, 0x5e, 0xc6, 0x16, 0x61, 0xa6, 0x36, 0x0f, 0xa1, 0x63, 0xbe, 0x4b, 0xbe, 0x83, 0xee,
0x86, 0x31, 0x65, 0x76, 0x08, 0xdc, 0x76, 0xd0, 0x9f, 0x3b, 0xd0, 0x35, 0xdb, 0x54, 0x90, 0x55,
0x53, 0x29, 0xd1, 0xe9, 0x9b, 0x73, 0x26, 0x21, 0xfc, 0x8c, 0x2f, 0x72, 0x7f, 0xeb, 0x89, 0x25,
0xe4, 0x37, 0x56, 0x48, 0xb4, 0x6d, 0xb6, 0xa7, 0xbf, 0x2d, 0x4f, 0x9a, 0xfd, 0x1a, 0x6f, 0x6f,
0x3b, 0xe8, 0x9e, 0xf8, 0x27, 0x04, 0x95, 0x7c, 0x20, 0xc3, 0xac, 0x95, 0xc5, 0x65, 0x76, 0xf6,
0x6f, 0x3a, 0xb7, 0x1d, 0xf4, 0x7b, 0xa2, 0x23, 0x5d, 0x7e, 0xcb, 0xa5, 0xfe, 0xa1, 0xdf, 0xe3,
0x9b, 0x7c, 0x27, 0xd7, 0xf0, 0x65, 0x6b, 0x27, 0x65, 0xbb, 0x7e, 0x08, 0x50, 0x64, 0x92, 0xa8,
0x94, 0x56, 0x69, 0x8b, 0x57, 0x4d, 0x36, 0xed, 0xd3, 0x54, 0xd9, 0x97, 0x30, 0x02, 0x5d, 0x23,
0x87, 0xcb, 0xf5, 0x71, 0x56, 0x33, 0xc2, 0xc1, 0xa0, 0x6e, 0x4a, 0xd2, 0xff, 0x26, 0xa7, 0xff,
0x11, 0xba, 0x62, 0xd2, 0xdf, 0x79, 0x63, 0x66, 0x90, 0x6f, 0xd1, 0x97, 0xd0, 0x3b, 0x48, 0x92,
0x57, 0x93, 0x54, 0x97, 0x22, 0xec, 0x9c, 0x88, 0x65, 0xb1, 0x83, 0xd2, 0xa6, 0xf0, 0x0d, 0x4e,
0xf9, 0x0a, 0xba, 0x6c, 0x53, 0x2e, 0xf2, 0xda, 0xb7, 0xc8, 0x87, 0x65, 0xed, 0xed, 0xf4, 0x46,
0x06, 0x36, 0x1d, 0x33, 0xbd, 0xac, 0xf0, 0xb0, 0xe2, 0x0f, 0xcd, 0x23, 0x57, 0x34, 0x6f, 0x3b,
0xe8, 0x10, 0xba, 0x8f, 0xc8, 0x30, 0x09, 0x88, 0x4c, 0x63, 0x56, 0x8a, 0x95, 0xeb, 0xfc, 0x67,
0xd0, 0xb3, 0x80, 0xb6, 0x05, 0x48, 0xfd, 0x69, 0x46, 0xbe, 0xda, 0x79, 0x23, 0x13, 0xa4, 0xb7,
0xca, 0x02, 0xa8, 0xa4, 0xce, 0xb2, 0x00, 0xa5, 0x2c, 0xd0, 0xb2, 0x00, 0x95, 0x2c, 0xd0, 0xb2,
0x00, 0x2a, 0xa9, 0x44, 0x11, 0xcb, 0x0d, 0x4b, 0x89, 0xa3, 0xf6, 0x99, 0x17, 0xa5, 0x9b, 0x83,
0xeb, 0x17, 0x23, 0xd8, 0xdc, 0xb6, 0x6c, 0x6e, 0x47, 0xd0, 0x7b, 0x44, 0x84, 0xb0, 0xc4, 0x1b,
0xc1, 0xc0, 0x36, 0x29, 0xe6, 0x7b, 0x42, 0xd9, 0xdc, 0xf0, 0x39, 0xdb, 0xc0, 0xf3, 0x02, 0x3d,
0xfa, 0x11, 0x74, 0x9e, 0x12, 0xaa, 0x1e, 0x05, 0x74, 0xe4, 0x51, 0x7a, 0x25, 0x18, 0xd4, 0xbc,
0x29, 0xe0, 0xeb, 0x9c, 0xda, 0x00, 0xf5, 0x35, 0xb5, 0x1d, 0x12, 0x8c, 0x88, 0xb8, 0xfc, 0x5e,
0x18, 0xbc, 0x45, 0xbf, 0xcd, 0x89, 0xeb, 0x17, 0xc3, 0x75, 0xa3, 0x96, 0x6c, 0x12, 0x5f, 0x2c,
0xc1, 0xeb, 0x28, 0xc7, 0x49, 0x40, 0x0c, 0x57, 0x17, 0x43, 0xc7, 0x78, 0x1e, 0xd6, 0x17, 0xaa,
0xfa, 0xe6, 0xac, 0x2f, 0x54, 0xcd, 0x6b, 0x32, 0xde, 0xe4, 0x7c, 0x30, 0xba, 0x5e, 0xf0, 0x11,
0x2f, 0xc8, 0x05, 0xa7, 0x9d, 0x37, 0xfe, 0x98, 0xbe, 0x45, 0x2f, 0x79, 0x6b, 0xaa, 0xf9, 0xf0,
0x51, 0x44, 0x3e, 0xe5, 0x37, 0x12, 0x2d, 0x2c, 0x63, 0xca, 0x8e, 0x86, 0x04, 0x2b, 0xee, 0x11,
0xbf, 0x0b, 0x70, 0x44, 0x93, 0xf4, 0x91, 0x4f, 0xc6, 0x49, 0x5c, 0x58, 0xb2, 0xa2, 0xb8, 0x5f,
0x58, 0x32, 0xa3, 0xc2, 0x8f, 0x5e, 0x1a, 0xb1, 0xa7, 0xf5, 0x6e, 0xa4, 0x94, 0xeb, 0xc2, 0xfa,
0xbf, 0x16, 0x48, 0xcd, 0x1b, 0x80, 0x0a, 0x43, 0x45, 0x61, 0xd3, 0x08, 0x43, 0xad, 0xca, 0xa8,
0x11, 0x86, 0xda, 0x15, 0x50, 0x16, 0x86, 0x16, 0x35, 0x0e, 0x1d, 0x86, 0x56, 0xca, 0x27, 0xda,
0x86, 0xd6, 0x14, 0x44, 0x0e, 0xa1, 0x5d, 0xa4, 0xe2, 0x8a, 0x51, 0x39, 0x71, 0xd7, 0xce, 0xaa,
0x92, 0x21, 0xe3, 0x25, 0x2e, 0x67, 0x40, 0xf3, 0x4c, 0xce, 0xfc, 0x79, 0xfc, 0x39, 0x80, 0xd8,
0xdd, 0x13, 0x36, 0x32, 0x48, 0x5a, 0x89, 0xb0, 0x49, 0xd2, 0xce, 0x38, 0x55, 0x24, 0x83, 0x35,
0xc9, 0x7b, 0xce, 0xd6, 0xf1, 0x2c, 0xff, 0x0f, 0xca, 0xef, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff,
0xff, 0x0b, 0xe9, 0x15, 0x81, 0x73, 0x39, 0x00, 0x00,
}

@ -28,6 +28,32 @@ var _ status.Status
var _ = runtime.String
var _ = utilities.NewDoubleArray
func request_WalletUnlocker_CreateWallet_0(ctx context.Context, marshaler runtime.Marshaler, client WalletUnlockerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq CreateWalletRequest
var metadata runtime.ServerMetadata
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.CreateWallet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func request_WalletUnlocker_UnlockWallet_0(ctx context.Context, marshaler runtime.Marshaler, client WalletUnlockerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq UnlockWalletRequest
var metadata runtime.ServerMetadata
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.UnlockWallet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
var (
filter_Lightning_WalletBalance_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
@ -510,6 +536,117 @@ func request_Lightning_UpdateFees_0(ctx context.Context, marshaler runtime.Marsh
}
// RegisterWalletUnlockerHandlerFromEndpoint is same as RegisterWalletUnlockerHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterWalletUnlockerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
conn, err := grpc.Dial(endpoint, opts...)
if err != nil {
return err
}
defer func() {
if err != nil {
if cerr := conn.Close(); cerr != nil {
grpclog.Printf("Failed to close conn to %s: %v", endpoint, cerr)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Printf("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterWalletUnlockerHandler(ctx, mux, conn)
}
// RegisterWalletUnlockerHandler registers the http handlers for service WalletUnlocker to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterWalletUnlockerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterWalletUnlockerHandlerClient(ctx, mux, NewWalletUnlockerClient(conn))
}
// RegisterWalletUnlockerHandler registers the http handlers for service WalletUnlocker to "mux".
// The handlers forward requests to the grpc endpoint over the given implementation of "WalletUnlockerClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WalletUnlockerClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "WalletUnlockerClient" to call the correct interceptors.
func RegisterWalletUnlockerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WalletUnlockerClient) error {
mux.Handle("POST", pattern_WalletUnlocker_CreateWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_WalletUnlocker_CreateWallet_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_WalletUnlocker_CreateWallet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_WalletUnlocker_UnlockWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) {
select {
case <-done:
case <-closed:
cancel()
}
}(ctx.Done(), cn.CloseNotify())
}
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_WalletUnlocker_UnlockWallet_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_WalletUnlocker_UnlockWallet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_WalletUnlocker_CreateWallet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "createwallet"}, ""))
pattern_WalletUnlocker_UnlockWallet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "unlockwallet"}, ""))
)
var (
forward_WalletUnlocker_CreateWallet_0 = runtime.ForwardResponseMessage
forward_WalletUnlocker_UnlockWallet_0 = runtime.ForwardResponseMessage
)
// RegisterLightningHandlerFromEndpoint is same as RegisterLightningHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterLightningHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
@ -538,7 +675,15 @@ func RegisterLightningHandlerFromEndpoint(ctx context.Context, mux *runtime.Serv
// RegisterLightningHandler registers the http handlers for service Lightning to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
client := NewLightningClient(conn)
return RegisterLightningHandlerClient(ctx, mux, NewLightningClient(conn))
}
// RegisterLightningHandler registers the http handlers for service Lightning to "mux".
// The handlers forward requests to the grpc endpoint over the given implementation of "LightningClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "LightningClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "LightningClient" to call the correct interceptors.
func RegisterLightningHandlerClient(ctx context.Context, mux *runtime.ServeMux, client LightningClient) error {
mux.Handle("GET", pattern_Lightning_WalletBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx)

@ -25,6 +25,43 @@ package lnrpc;
* https://github.com/MaxFangX/lightning-api
*/
// The WalletUnlocker service is used to set up a wallet password for
// lnd at first startup, and unlock a previously set up wallet.
service WalletUnlocker {
/** lncli: `create`
CreateWallet is used at lnd startup to set the encryption password for
the wallet database.
*/
rpc CreateWallet(CreateWalletRequest) returns (CreateWalletResponse) {
option (google.api.http) = {
post: "/v1/createwallet"
body: "*"
};
}
/** lncli: `unlock`
UnlockWallet is used at startup of lnd to provide a password to unlock
the wallet database.
*/
rpc UnlockWallet(UnlockWalletRequest) returns (UnlockWalletResponse) {
option (google.api.http) = {
post: "/v1/unlockwallet"
body: "*"
};
}
}
message CreateWalletRequest {
bytes password = 1;
}
message CreateWalletResponse {}
message UnlockWalletRequest {
bytes password = 1;
}
message UnlockWalletResponse {}
service Lightning {
/** lncli: `walletbalance`
WalletBalance returns the sum of all confirmed unspent outputs under control

@ -178,6 +178,33 @@
]
}
},
"/v1/createwallet": {
"post": {
"summary": "* lncli: `create`\nCreateWallet is used at lnd startup to set the encryption password for\nthe wallet database.",
"operationId": "CreateWallet",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcCreateWalletResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/lnrpcCreateWalletRequest"
}
}
],
"tags": [
"WalletUnlocker"
]
}
},
"/v1/fees": {
"get": {
"summary": "* lncli: `feereport`\nFeeReport allows the caller to obtain a report detailing the current fee\nschedule enforced by the node globally for each channel.",
@ -639,6 +666,33 @@
"Lightning"
]
}
},
"/v1/unlockwallet": {
"post": {
"summary": "* lncli: `unlock`\nUnlockWallet is used at startup of lnd to provide a password to unlock\nthe wallet database.",
"operationId": "UnlockWallet",
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/lnrpcUnlockWalletResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/lnrpcUnlockWalletRequest"
}
}
],
"tags": [
"WalletUnlocker"
]
}
}
},
"definitions": {
@ -1063,6 +1117,18 @@
}
}
},
"lnrpcCreateWalletRequest": {
"type": "object",
"properties": {
"password": {
"type": "string",
"format": "byte"
}
}
},
"lnrpcCreateWalletResponse": {
"type": "object"
},
"lnrpcDebugLevelResponse": {
"type": "object",
"properties": {
@ -1885,6 +1951,18 @@
}
}
},
"lnrpcUnlockWalletRequest": {
"type": "object",
"properties": {
"password": {
"type": "string",
"format": "byte"
}
}
},
"lnrpcUnlockWalletResponse": {
"type": "object"
},
"lnrpcVerifyMessageResponse": {
"type": "object",
"properties": {