Merge pull request #1987 from wpaulino/remove-newwitnessaddress-rpc

rpc: remove NewWitnessAddress RPC
This commit is contained in:
Olaoluwa Osuntokun 2018-09-28 15:43:56 -07:00 committed by GitHub
commit e44e588a36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 526 additions and 585 deletions

@ -37,10 +37,8 @@ description):
(many outputs). (many outputs).
* NewAddress * NewAddress
* Returns a new address, the following address types are supported: * Returns a new address, the following address types are supported:
pay-to-public-key-hash (p2pkh), pay-to-witness-key-hash (p2wkh), and pay-to-witness-key-hash (p2wkh) and nested-pay-to-witness-key-hash
nested-pay-to-witness-key-hash (np2wkh). (np2wkh).
* NewWitnessAddress
* Returns a new witness address (np2wkh) under control of the local wallet.
* SignMessage * SignMessage
* Signs a message with the node's identity key and returns a * Signs a message with the node's identity key and returns a
zbase32 encoded signature. zbase32 encoded signature.

@ -30,7 +30,6 @@ It has these top-level messages:
SendCoinsRequest SendCoinsRequest
SendCoinsResponse SendCoinsResponse
NewAddressRequest NewAddressRequest
NewWitnessAddressRequest
NewAddressResponse NewAddressResponse
SignMessageRequest SignMessageRequest
SignMessageResponse SignMessageResponse
@ -195,7 +194,7 @@ func (x ChannelCloseSummary_ClosureType) String() string {
return proto.EnumName(ChannelCloseSummary_ClosureType_name, int32(x)) return proto.EnumName(ChannelCloseSummary_ClosureType_name, int32(x))
} }
func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) { func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor0, []int{36, 0} return fileDescriptor0, []int{35, 0}
} }
type GenSeedRequest struct { type GenSeedRequest struct {
@ -1040,7 +1039,6 @@ func (m *SendCoinsResponse) GetTxid() string {
// //
// - `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) // - `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0)
// - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) // - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1)
// - `p2pkh`: Pay to public key hash (`PUBKEY_HASH` = 2)
type NewAddressRequest struct { type NewAddressRequest struct {
// / The address type // / The address type
Type NewAddressRequest_AddressType `protobuf:"varint,1,opt,name=type,enum=lnrpc.NewAddressRequest_AddressType" json:"type,omitempty"` Type NewAddressRequest_AddressType `protobuf:"varint,1,opt,name=type,enum=lnrpc.NewAddressRequest_AddressType" json:"type,omitempty"`
@ -1058,14 +1056,6 @@ func (m *NewAddressRequest) GetType() NewAddressRequest_AddressType {
return NewAddressRequest_WITNESS_PUBKEY_HASH return NewAddressRequest_WITNESS_PUBKEY_HASH
} }
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{22} }
type NewAddressResponse struct { type NewAddressResponse struct {
// / The newly generated wallet address // / The newly generated wallet address
Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
@ -1074,7 +1064,7 @@ type NewAddressResponse struct {
func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} } func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) } func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {} func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *NewAddressResponse) GetAddress() string { func (m *NewAddressResponse) GetAddress() string {
if m != nil { if m != nil {
@ -1091,7 +1081,7 @@ type SignMessageRequest struct {
func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} } func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) } func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage() {} func (*SignMessageRequest) ProtoMessage() {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } func (*SignMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
func (m *SignMessageRequest) GetMsg() []byte { func (m *SignMessageRequest) GetMsg() []byte {
if m != nil { if m != nil {
@ -1108,7 +1098,7 @@ type SignMessageResponse struct {
func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} } func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) } func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage() {} func (*SignMessageResponse) ProtoMessage() {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (*SignMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *SignMessageResponse) GetSignature() string { func (m *SignMessageResponse) GetSignature() string {
if m != nil { if m != nil {
@ -1127,7 +1117,7 @@ type VerifyMessageRequest struct {
func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} } func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) } func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage() {} func (*VerifyMessageRequest) ProtoMessage() {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (m *VerifyMessageRequest) GetMsg() []byte { func (m *VerifyMessageRequest) GetMsg() []byte {
if m != nil { if m != nil {
@ -1153,7 +1143,7 @@ type VerifyMessageResponse struct {
func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} } func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) } func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage() {} func (*VerifyMessageResponse) ProtoMessage() {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (m *VerifyMessageResponse) GetValid() bool { func (m *VerifyMessageResponse) GetValid() bool {
if m != nil { if m != nil {
@ -1180,7 +1170,7 @@ type ConnectPeerRequest struct {
func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} } func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {} func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (m *ConnectPeerRequest) GetAddr() *LightningAddress { func (m *ConnectPeerRequest) GetAddr() *LightningAddress {
if m != nil { if m != nil {
@ -1202,7 +1192,7 @@ type ConnectPeerResponse struct {
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} } func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerResponse) ProtoMessage() {} func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
type DisconnectPeerRequest struct { type DisconnectPeerRequest struct {
// / The pubkey of the node to disconnect from // / The pubkey of the node to disconnect from
@ -1212,7 +1202,7 @@ type DisconnectPeerRequest struct {
func (m *DisconnectPeerRequest) Reset() { *m = DisconnectPeerRequest{} } func (m *DisconnectPeerRequest) Reset() { *m = DisconnectPeerRequest{} }
func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) } func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerRequest) ProtoMessage() {} func (*DisconnectPeerRequest) ProtoMessage() {}
func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *DisconnectPeerRequest) GetPubKey() string { func (m *DisconnectPeerRequest) GetPubKey() string {
if m != nil { if m != nil {
@ -1227,7 +1217,7 @@ type DisconnectPeerResponse struct {
func (m *DisconnectPeerResponse) Reset() { *m = DisconnectPeerResponse{} } func (m *DisconnectPeerResponse) Reset() { *m = DisconnectPeerResponse{} }
func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) } func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerResponse) ProtoMessage() {} func (*DisconnectPeerResponse) ProtoMessage() {}
func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
type HTLC struct { type HTLC struct {
Incoming bool `protobuf:"varint,1,opt,name=incoming" json:"incoming,omitempty"` Incoming bool `protobuf:"varint,1,opt,name=incoming" json:"incoming,omitempty"`
@ -1239,7 +1229,7 @@ type HTLC struct {
func (m *HTLC) Reset() { *m = HTLC{} } func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) } func (m *HTLC) String() string { return proto.CompactTextString(m) }
func (*HTLC) ProtoMessage() {} func (*HTLC) ProtoMessage() {}
func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
func (m *HTLC) GetIncoming() bool { func (m *HTLC) GetIncoming() bool {
if m != nil { if m != nil {
@ -1329,7 +1319,7 @@ type Channel struct {
func (m *Channel) Reset() { *m = Channel{} } func (m *Channel) Reset() { *m = Channel{} }
func (m *Channel) String() string { return proto.CompactTextString(m) } func (m *Channel) String() string { return proto.CompactTextString(m) }
func (*Channel) ProtoMessage() {} func (*Channel) ProtoMessage() {}
func (*Channel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } func (*Channel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (m *Channel) GetActive() bool { func (m *Channel) GetActive() bool {
if m != nil { if m != nil {
@ -1460,7 +1450,7 @@ type ListChannelsRequest struct {
func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} } func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {} func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } func (*ListChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
func (m *ListChannelsRequest) GetActiveOnly() bool { func (m *ListChannelsRequest) GetActiveOnly() bool {
if m != nil { if m != nil {
@ -1498,7 +1488,7 @@ type ListChannelsResponse struct {
func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} } func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {} func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } func (*ListChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (m *ListChannelsResponse) GetChannels() []*Channel { func (m *ListChannelsResponse) GetChannels() []*Channel {
if m != nil { if m != nil {
@ -1533,7 +1523,7 @@ type ChannelCloseSummary struct {
func (m *ChannelCloseSummary) Reset() { *m = ChannelCloseSummary{} } func (m *ChannelCloseSummary) Reset() { *m = ChannelCloseSummary{} }
func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) } func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseSummary) ProtoMessage() {} func (*ChannelCloseSummary) ProtoMessage() {}
func (*ChannelCloseSummary) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } func (*ChannelCloseSummary) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (m *ChannelCloseSummary) GetChannelPoint() string { func (m *ChannelCloseSummary) GetChannelPoint() string {
if m != nil { if m != nil {
@ -1617,7 +1607,7 @@ type ClosedChannelsRequest struct {
func (m *ClosedChannelsRequest) Reset() { *m = ClosedChannelsRequest{} } func (m *ClosedChannelsRequest) Reset() { *m = ClosedChannelsRequest{} }
func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsRequest) ProtoMessage() {} func (*ClosedChannelsRequest) ProtoMessage() {}
func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (m *ClosedChannelsRequest) GetCooperative() bool { func (m *ClosedChannelsRequest) GetCooperative() bool {
if m != nil { if m != nil {
@ -1668,7 +1658,7 @@ type ClosedChannelsResponse struct {
func (m *ClosedChannelsResponse) Reset() { *m = ClosedChannelsResponse{} } func (m *ClosedChannelsResponse) Reset() { *m = ClosedChannelsResponse{} }
func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsResponse) ProtoMessage() {} func (*ClosedChannelsResponse) ProtoMessage() {}
func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *ClosedChannelsResponse) GetChannels() []*ChannelCloseSummary { func (m *ClosedChannelsResponse) GetChannels() []*ChannelCloseSummary {
if m != nil { if m != nil {
@ -1699,7 +1689,7 @@ type Peer struct {
func (m *Peer) Reset() { *m = Peer{} } func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) } func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {} func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
func (m *Peer) GetPubKey() string { func (m *Peer) GetPubKey() string {
if m != nil { if m != nil {
@ -1763,7 +1753,7 @@ type ListPeersRequest struct {
func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} } func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) } func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {} func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
type ListPeersResponse struct { type ListPeersResponse struct {
// / The list of currently connected peers // / The list of currently connected peers
@ -1773,7 +1763,7 @@ type ListPeersResponse struct {
func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} } func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) } func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {} func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *ListPeersResponse) GetPeers() []*Peer { func (m *ListPeersResponse) GetPeers() []*Peer {
if m != nil { if m != nil {
@ -1788,7 +1778,7 @@ type GetInfoRequest struct {
func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} } func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) } func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {} func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
type GetInfoResponse struct { type GetInfoResponse struct {
// / The identity pubkey of the current node. // / The identity pubkey of the current node.
@ -1822,7 +1812,7 @@ type GetInfoResponse struct {
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} } func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) } func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {} func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
func (m *GetInfoResponse) GetIdentityPubkey() string { func (m *GetInfoResponse) GetIdentityPubkey() string {
if m != nil { if m != nil {
@ -1924,7 +1914,7 @@ type ConfirmationUpdate struct {
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} } func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) } func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {} func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }
func (m *ConfirmationUpdate) GetBlockSha() []byte { func (m *ConfirmationUpdate) GetBlockSha() []byte {
if m != nil { if m != nil {
@ -1954,7 +1944,7 @@ type ChannelOpenUpdate struct {
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} } func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {} func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint { func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
if m != nil { if m != nil {
@ -1971,7 +1961,7 @@ type ChannelCloseUpdate struct {
func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} } func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {} func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }
func (m *ChannelCloseUpdate) GetClosingTxid() []byte { func (m *ChannelCloseUpdate) GetClosingTxid() []byte {
if m != nil { if m != nil {
@ -2004,7 +1994,7 @@ type CloseChannelRequest struct {
func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} } func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) } func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {} func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }
func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint { func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil { if m != nil {
@ -2045,7 +2035,7 @@ type CloseStatusUpdate struct {
func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} } func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {} func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }
type isCloseStatusUpdate_Update interface{ isCloseStatusUpdate_Update() } type isCloseStatusUpdate_Update interface{ isCloseStatusUpdate_Update() }
@ -2192,7 +2182,7 @@ type PendingUpdate struct {
func (m *PendingUpdate) Reset() { *m = PendingUpdate{} } func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) } func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {} func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }
func (m *PendingUpdate) GetTxid() []byte { func (m *PendingUpdate) GetTxid() []byte {
if m != nil { if m != nil {
@ -2234,7 +2224,7 @@ type OpenChannelRequest struct {
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} } func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) } func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {} func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }
func (m *OpenChannelRequest) GetNodePubkey() []byte { func (m *OpenChannelRequest) GetNodePubkey() []byte {
if m != nil { if m != nil {
@ -2317,7 +2307,7 @@ type OpenStatusUpdate struct {
func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} } func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {} func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
type isOpenStatusUpdate_Update interface{ isOpenStatusUpdate_Update() } type isOpenStatusUpdate_Update interface{ isOpenStatusUpdate_Update() }
@ -2477,7 +2467,7 @@ type PendingHTLC struct {
func (m *PendingHTLC) Reset() { *m = PendingHTLC{} } func (m *PendingHTLC) Reset() { *m = PendingHTLC{} }
func (m *PendingHTLC) String() string { return proto.CompactTextString(m) } func (m *PendingHTLC) String() string { return proto.CompactTextString(m) }
func (*PendingHTLC) ProtoMessage() {} func (*PendingHTLC) ProtoMessage() {}
func (*PendingHTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} } func (*PendingHTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }
func (m *PendingHTLC) GetIncoming() bool { func (m *PendingHTLC) GetIncoming() bool {
if m != nil { if m != nil {
@ -2527,7 +2517,7 @@ type PendingChannelsRequest struct {
func (m *PendingChannelsRequest) Reset() { *m = PendingChannelsRequest{} } func (m *PendingChannelsRequest) Reset() { *m = PendingChannelsRequest{} }
func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsRequest) ProtoMessage() {} func (*PendingChannelsRequest) ProtoMessage() {}
func (*PendingChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} } func (*PendingChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }
type PendingChannelsResponse struct { type PendingChannelsResponse struct {
// / The balance in satoshis encumbered in pending channels // / The balance in satoshis encumbered in pending channels
@ -2545,7 +2535,7 @@ type PendingChannelsResponse struct {
func (m *PendingChannelsResponse) Reset() { *m = PendingChannelsResponse{} } func (m *PendingChannelsResponse) Reset() { *m = PendingChannelsResponse{} }
func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse) ProtoMessage() {} func (*PendingChannelsResponse) ProtoMessage() {}
func (*PendingChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} } func (*PendingChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }
func (m *PendingChannelsResponse) GetTotalLimboBalance() int64 { func (m *PendingChannelsResponse) GetTotalLimboBalance() int64 {
if m != nil { if m != nil {
@ -2596,7 +2586,7 @@ func (m *PendingChannelsResponse_PendingChannel) Reset() {
func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {} func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{54, 0} return fileDescriptor0, []int{53, 0}
} }
func (m *PendingChannelsResponse_PendingChannel) GetRemoteNodePub() string { func (m *PendingChannelsResponse_PendingChannel) GetRemoteNodePub() string {
@ -2663,7 +2653,7 @@ func (m *PendingChannelsResponse_PendingOpenChannel) String() string {
} }
func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {} func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{54, 1} return fileDescriptor0, []int{53, 1}
} }
func (m *PendingChannelsResponse_PendingOpenChannel) GetChannel() *PendingChannelsResponse_PendingChannel { func (m *PendingChannelsResponse_PendingOpenChannel) GetChannel() *PendingChannelsResponse_PendingChannel {
@ -2716,7 +2706,7 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) String() string {
} }
func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {} func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {}
func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{54, 2} return fileDescriptor0, []int{53, 2}
} }
func (m *PendingChannelsResponse_WaitingCloseChannel) GetChannel() *PendingChannelsResponse_PendingChannel { func (m *PendingChannelsResponse_WaitingCloseChannel) GetChannel() *PendingChannelsResponse_PendingChannel {
@ -2744,7 +2734,7 @@ func (m *PendingChannelsResponse_ClosedChannel) Reset() { *m = PendingCh
func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) } func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {} func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{54, 3} return fileDescriptor0, []int{53, 3}
} }
func (m *PendingChannelsResponse_ClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { func (m *PendingChannelsResponse_ClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel {
@ -2788,7 +2778,7 @@ func (m *PendingChannelsResponse_ForceClosedChannel) String() string {
} }
func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {} func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) { func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{54, 4} return fileDescriptor0, []int{53, 4}
} }
func (m *PendingChannelsResponse_ForceClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { func (m *PendingChannelsResponse_ForceClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel {
@ -2846,7 +2836,7 @@ type WalletBalanceRequest struct {
func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} } func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {} func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} } func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }
type WalletBalanceResponse struct { type WalletBalanceResponse struct {
// / The balance of the wallet // / The balance of the wallet
@ -2860,7 +2850,7 @@ type WalletBalanceResponse struct {
func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} } func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {} func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} } func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} }
func (m *WalletBalanceResponse) GetTotalBalance() int64 { func (m *WalletBalanceResponse) GetTotalBalance() int64 {
if m != nil { if m != nil {
@ -2889,7 +2879,7 @@ type ChannelBalanceRequest struct {
func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} } func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) } func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {} func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} } func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }
type ChannelBalanceResponse struct { type ChannelBalanceResponse struct {
// / Sum of channels balances denominated in satoshis // / Sum of channels balances denominated in satoshis
@ -2901,7 +2891,7 @@ type ChannelBalanceResponse struct {
func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{} } func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{} }
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) } func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {} func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} } func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} }
func (m *ChannelBalanceResponse) GetBalance() int64 { func (m *ChannelBalanceResponse) GetBalance() int64 {
if m != nil { if m != nil {
@ -2937,7 +2927,7 @@ type QueryRoutesRequest struct {
func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} } func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} }
func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) } func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesRequest) ProtoMessage() {} func (*QueryRoutesRequest) ProtoMessage() {}
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} } func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }
func (m *QueryRoutesRequest) GetPubKey() string { func (m *QueryRoutesRequest) GetPubKey() string {
if m != nil { if m != nil {
@ -2981,7 +2971,7 @@ type QueryRoutesResponse struct {
func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} } func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} }
func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) } func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesResponse) ProtoMessage() {} func (*QueryRoutesResponse) ProtoMessage() {}
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} } func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }
func (m *QueryRoutesResponse) GetRoutes() []*Route { func (m *QueryRoutesResponse) GetRoutes() []*Route {
if m != nil { if m != nil {
@ -3007,7 +2997,7 @@ type Hop struct {
func (m *Hop) Reset() { *m = Hop{} } func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) } func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {} func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} } func (*Hop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} }
func (m *Hop) GetChanId() uint64 { func (m *Hop) GetChanId() uint64 {
if m != nil { if m != nil {
@ -3097,7 +3087,7 @@ type Route struct {
func (m *Route) Reset() { *m = Route{} } func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) } func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {} func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} } func (*Route) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} }
func (m *Route) GetTotalTimeLock() uint32 { func (m *Route) GetTotalTimeLock() uint32 {
if m != nil { if m != nil {
@ -3149,7 +3139,7 @@ type NodeInfoRequest struct {
func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} } func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) } func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {} func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} } func (*NodeInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} }
func (m *NodeInfoRequest) GetPubKey() string { func (m *NodeInfoRequest) GetPubKey() string {
if m != nil { if m != nil {
@ -3172,7 +3162,7 @@ type NodeInfo struct {
func (m *NodeInfo) Reset() { *m = NodeInfo{} } func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) } func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {} func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} } func (*NodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} }
func (m *NodeInfo) GetNode() *LightningNode { func (m *NodeInfo) GetNode() *LightningNode {
if m != nil { if m != nil {
@ -3211,7 +3201,7 @@ type LightningNode struct {
func (m *LightningNode) Reset() { *m = LightningNode{} } func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) } func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {} func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} } func (*LightningNode) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} }
func (m *LightningNode) GetLastUpdate() uint32 { func (m *LightningNode) GetLastUpdate() uint32 {
if m != nil { if m != nil {
@ -3256,7 +3246,7 @@ type NodeAddress struct {
func (m *NodeAddress) Reset() { *m = NodeAddress{} } func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) } func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {} func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} } func (*NodeAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }
func (m *NodeAddress) GetNetwork() string { func (m *NodeAddress) GetNetwork() string {
if m != nil { if m != nil {
@ -3283,7 +3273,7 @@ type RoutingPolicy struct {
func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} } func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) } func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {} func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} } func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} }
func (m *RoutingPolicy) GetTimeLockDelta() uint32 { func (m *RoutingPolicy) GetTimeLockDelta() uint32 {
if m != nil { if m != nil {
@ -3344,7 +3334,7 @@ type ChannelEdge struct {
func (m *ChannelEdge) Reset() { *m = ChannelEdge{} } func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) } func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {} func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} } func (*ChannelEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} }
func (m *ChannelEdge) GetChannelId() uint64 { func (m *ChannelEdge) GetChannelId() uint64 {
if m != nil { if m != nil {
@ -3408,7 +3398,7 @@ type ChannelGraphRequest struct {
func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} } func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) } func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {} func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} } func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} }
// / Returns a new instance of the directed channel graph. // / Returns a new instance of the directed channel graph.
type ChannelGraph struct { type ChannelGraph struct {
@ -3421,7 +3411,7 @@ type ChannelGraph struct {
func (m *ChannelGraph) Reset() { *m = ChannelGraph{} } func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) } func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {} func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} } func (*ChannelGraph) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} }
func (m *ChannelGraph) GetNodes() []*LightningNode { func (m *ChannelGraph) GetNodes() []*LightningNode {
if m != nil { if m != nil {
@ -3448,7 +3438,7 @@ type ChanInfoRequest struct {
func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} } func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) } func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {} func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} } func (*ChanInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} }
func (m *ChanInfoRequest) GetChanId() uint64 { func (m *ChanInfoRequest) GetChanId() uint64 {
if m != nil { if m != nil {
@ -3463,7 +3453,7 @@ type NetworkInfoRequest struct {
func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} } func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) } func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NetworkInfoRequest) ProtoMessage() {} func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} } func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} }
type NetworkInfo struct { type NetworkInfo struct {
GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter" json:"graph_diameter,omitempty"` GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter" json:"graph_diameter,omitempty"`
@ -3480,7 +3470,7 @@ type NetworkInfo struct {
func (m *NetworkInfo) Reset() { *m = NetworkInfo{} } func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *NetworkInfo) String() string { return proto.CompactTextString(m) } func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*NetworkInfo) ProtoMessage() {} func (*NetworkInfo) ProtoMessage() {}
func (*NetworkInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} } func (*NetworkInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} }
func (m *NetworkInfo) GetGraphDiameter() uint32 { func (m *NetworkInfo) GetGraphDiameter() uint32 {
if m != nil { if m != nil {
@ -3551,7 +3541,7 @@ type StopRequest struct {
func (m *StopRequest) Reset() { *m = StopRequest{} } func (m *StopRequest) Reset() { *m = StopRequest{} }
func (m *StopRequest) String() string { return proto.CompactTextString(m) } func (m *StopRequest) String() string { return proto.CompactTextString(m) }
func (*StopRequest) ProtoMessage() {} func (*StopRequest) ProtoMessage() {}
func (*StopRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} } func (*StopRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} }
type StopResponse struct { type StopResponse struct {
} }
@ -3559,7 +3549,7 @@ type StopResponse struct {
func (m *StopResponse) Reset() { *m = StopResponse{} } func (m *StopResponse) Reset() { *m = StopResponse{} }
func (m *StopResponse) String() string { return proto.CompactTextString(m) } func (m *StopResponse) String() string { return proto.CompactTextString(m) }
func (*StopResponse) ProtoMessage() {} func (*StopResponse) ProtoMessage() {}
func (*StopResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} } func (*StopResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} }
type GraphTopologySubscription struct { type GraphTopologySubscription struct {
} }
@ -3567,7 +3557,7 @@ type GraphTopologySubscription struct {
func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscription{} } func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscription{} }
func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) } func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) }
func (*GraphTopologySubscription) ProtoMessage() {} func (*GraphTopologySubscription) ProtoMessage() {}
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} } func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} }
type GraphTopologyUpdate struct { type GraphTopologyUpdate struct {
NodeUpdates []*NodeUpdate `protobuf:"bytes,1,rep,name=node_updates,json=nodeUpdates" json:"node_updates,omitempty"` NodeUpdates []*NodeUpdate `protobuf:"bytes,1,rep,name=node_updates,json=nodeUpdates" json:"node_updates,omitempty"`
@ -3578,7 +3568,7 @@ type GraphTopologyUpdate struct {
func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} } func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} }
func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) } func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) }
func (*GraphTopologyUpdate) ProtoMessage() {} func (*GraphTopologyUpdate) ProtoMessage() {}
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} } func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} }
func (m *GraphTopologyUpdate) GetNodeUpdates() []*NodeUpdate { func (m *GraphTopologyUpdate) GetNodeUpdates() []*NodeUpdate {
if m != nil { if m != nil {
@ -3611,7 +3601,7 @@ type NodeUpdate struct {
func (m *NodeUpdate) Reset() { *m = NodeUpdate{} } func (m *NodeUpdate) Reset() { *m = NodeUpdate{} }
func (m *NodeUpdate) String() string { return proto.CompactTextString(m) } func (m *NodeUpdate) String() string { return proto.CompactTextString(m) }
func (*NodeUpdate) ProtoMessage() {} func (*NodeUpdate) ProtoMessage() {}
func (*NodeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} } func (*NodeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} }
func (m *NodeUpdate) GetAddresses() []string { func (m *NodeUpdate) GetAddresses() []string {
if m != nil { if m != nil {
@ -3657,7 +3647,7 @@ type ChannelEdgeUpdate struct {
func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} } func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} }
func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEdgeUpdate) ProtoMessage() {} func (*ChannelEdgeUpdate) ProtoMessage() {}
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} } func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} }
func (m *ChannelEdgeUpdate) GetChanId() uint64 { func (m *ChannelEdgeUpdate) GetChanId() uint64 {
if m != nil { if m != nil {
@ -3715,7 +3705,7 @@ type ClosedChannelUpdate struct {
func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} } func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} }
func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) } func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelUpdate) ProtoMessage() {} func (*ClosedChannelUpdate) ProtoMessage() {}
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} } func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} }
func (m *ClosedChannelUpdate) GetChanId() uint64 { func (m *ClosedChannelUpdate) GetChanId() uint64 {
if m != nil { if m != nil {
@ -3763,7 +3753,7 @@ type HopHint struct {
func (m *HopHint) Reset() { *m = HopHint{} } func (m *HopHint) Reset() { *m = HopHint{} }
func (m *HopHint) String() string { return proto.CompactTextString(m) } func (m *HopHint) String() string { return proto.CompactTextString(m) }
func (*HopHint) ProtoMessage() {} func (*HopHint) ProtoMessage() {}
func (*HopHint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} } func (*HopHint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} }
func (m *HopHint) GetNodeId() string { func (m *HopHint) GetNodeId() string {
if m != nil { if m != nil {
@ -3810,7 +3800,7 @@ type RouteHint struct {
func (m *RouteHint) Reset() { *m = RouteHint{} } func (m *RouteHint) Reset() { *m = RouteHint{} }
func (m *RouteHint) String() string { return proto.CompactTextString(m) } func (m *RouteHint) String() string { return proto.CompactTextString(m) }
func (*RouteHint) ProtoMessage() {} func (*RouteHint) ProtoMessage() {}
func (*RouteHint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} } func (*RouteHint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} }
func (m *RouteHint) GetHopHints() []*HopHint { func (m *RouteHint) GetHopHints() []*HopHint {
if m != nil { if m != nil {
@ -3899,7 +3889,7 @@ type Invoice struct {
func (m *Invoice) Reset() { *m = Invoice{} } func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) } func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {} func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} } func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} }
func (m *Invoice) GetMemo() string { func (m *Invoice) GetMemo() string {
if m != nil { if m != nil {
@ -4059,7 +4049,7 @@ type AddInvoiceResponse struct {
func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} } func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) } func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {} func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} } func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} }
func (m *AddInvoiceResponse) GetRHash() []byte { func (m *AddInvoiceResponse) GetRHash() []byte {
if m != nil { if m != nil {
@ -4094,7 +4084,7 @@ type PaymentHash struct {
func (m *PaymentHash) Reset() { *m = PaymentHash{} } func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) } func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {} func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} } func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} }
func (m *PaymentHash) GetRHashStr() string { func (m *PaymentHash) GetRHashStr() string {
if m != nil { if m != nil {
@ -4128,7 +4118,7 @@ type ListInvoiceRequest struct {
func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} } func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) } func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {} func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} } func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} }
func (m *ListInvoiceRequest) GetPendingOnly() bool { func (m *ListInvoiceRequest) GetPendingOnly() bool {
if m != nil { if m != nil {
@ -4176,7 +4166,7 @@ type ListInvoiceResponse struct {
func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} } func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) } func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {} func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} } func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} }
func (m *ListInvoiceResponse) GetInvoices() []*Invoice { func (m *ListInvoiceResponse) GetInvoices() []*Invoice {
if m != nil { if m != nil {
@ -4217,7 +4207,7 @@ type InvoiceSubscription struct {
func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} } func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} }
func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) } func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) }
func (*InvoiceSubscription) ProtoMessage() {} func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} } func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} }
func (m *InvoiceSubscription) GetAddIndex() uint64 { func (m *InvoiceSubscription) GetAddIndex() uint64 {
if m != nil { if m != nil {
@ -4255,7 +4245,7 @@ type Payment struct {
func (m *Payment) Reset() { *m = Payment{} } func (m *Payment) Reset() { *m = Payment{} }
func (m *Payment) String() string { return proto.CompactTextString(m) } func (m *Payment) String() string { return proto.CompactTextString(m) }
func (*Payment) ProtoMessage() {} func (*Payment) ProtoMessage() {}
func (*Payment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} } func (*Payment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} }
func (m *Payment) GetPaymentHash() string { func (m *Payment) GetPaymentHash() string {
if m != nil { if m != nil {
@ -4319,7 +4309,7 @@ type ListPaymentsRequest struct {
func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} } func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} }
func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) } func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsRequest) ProtoMessage() {} func (*ListPaymentsRequest) ProtoMessage() {}
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} } func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} }
type ListPaymentsResponse struct { type ListPaymentsResponse struct {
// / The list of payments // / The list of payments
@ -4329,7 +4319,7 @@ type ListPaymentsResponse struct {
func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} } func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} }
func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) } func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsResponse) ProtoMessage() {} func (*ListPaymentsResponse) ProtoMessage() {}
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} } func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} }
func (m *ListPaymentsResponse) GetPayments() []*Payment { func (m *ListPaymentsResponse) GetPayments() []*Payment {
if m != nil { if m != nil {
@ -4344,7 +4334,7 @@ type DeleteAllPaymentsRequest struct {
func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsRequest{} } func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsRequest{} }
func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) } func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsRequest) ProtoMessage() {} func (*DeleteAllPaymentsRequest) ProtoMessage() {}
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} } func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} }
type DeleteAllPaymentsResponse struct { type DeleteAllPaymentsResponse struct {
} }
@ -4352,7 +4342,7 @@ type DeleteAllPaymentsResponse struct {
func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResponse{} } func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResponse{} }
func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) } func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsResponse) ProtoMessage() {} func (*DeleteAllPaymentsResponse) ProtoMessage() {}
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} } func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }
type AbandonChannelRequest struct { type AbandonChannelRequest struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"` ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
@ -4361,7 +4351,7 @@ type AbandonChannelRequest struct {
func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} } func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} }
func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) } func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelRequest) ProtoMessage() {} func (*AbandonChannelRequest) ProtoMessage() {}
func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} } func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} }
func (m *AbandonChannelRequest) GetChannelPoint() *ChannelPoint { func (m *AbandonChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil { if m != nil {
@ -4376,7 +4366,7 @@ type AbandonChannelResponse struct {
func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{} } func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{} }
func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) } func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelResponse) ProtoMessage() {} func (*AbandonChannelResponse) ProtoMessage() {}
func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} } func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} }
type DebugLevelRequest struct { type DebugLevelRequest struct {
Show bool `protobuf:"varint,1,opt,name=show" json:"show,omitempty"` Show bool `protobuf:"varint,1,opt,name=show" json:"show,omitempty"`
@ -4386,7 +4376,7 @@ type DebugLevelRequest struct {
func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} } func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} }
func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) } func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) }
func (*DebugLevelRequest) ProtoMessage() {} func (*DebugLevelRequest) ProtoMessage() {}
func (*DebugLevelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} } func (*DebugLevelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} }
func (m *DebugLevelRequest) GetShow() bool { func (m *DebugLevelRequest) GetShow() bool {
if m != nil { if m != nil {
@ -4409,7 +4399,7 @@ type DebugLevelResponse struct {
func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} } func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) } func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) }
func (*DebugLevelResponse) ProtoMessage() {} func (*DebugLevelResponse) ProtoMessage() {}
func (*DebugLevelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} } func (*DebugLevelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} }
func (m *DebugLevelResponse) GetSubSystems() string { func (m *DebugLevelResponse) GetSubSystems() string {
if m != nil { if m != nil {
@ -4426,7 +4416,7 @@ type PayReqString struct {
func (m *PayReqString) Reset() { *m = PayReqString{} } func (m *PayReqString) Reset() { *m = PayReqString{} }
func (m *PayReqString) String() string { return proto.CompactTextString(m) } func (m *PayReqString) String() string { return proto.CompactTextString(m) }
func (*PayReqString) ProtoMessage() {} func (*PayReqString) ProtoMessage() {}
func (*PayReqString) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} } func (*PayReqString) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} }
func (m *PayReqString) GetPayReq() string { func (m *PayReqString) GetPayReq() string {
if m != nil { if m != nil {
@ -4451,7 +4441,7 @@ type PayReq struct {
func (m *PayReq) Reset() { *m = PayReq{} } func (m *PayReq) Reset() { *m = PayReq{} }
func (m *PayReq) String() string { return proto.CompactTextString(m) } func (m *PayReq) String() string { return proto.CompactTextString(m) }
func (*PayReq) ProtoMessage() {} func (*PayReq) ProtoMessage() {}
func (*PayReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} } func (*PayReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} }
func (m *PayReq) GetDestination() string { func (m *PayReq) GetDestination() string {
if m != nil { if m != nil {
@ -4529,7 +4519,7 @@ type FeeReportRequest struct {
func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} } func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} }
func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) } func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) }
func (*FeeReportRequest) ProtoMessage() {} func (*FeeReportRequest) ProtoMessage() {}
func (*FeeReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} } func (*FeeReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} }
type ChannelFeeReport struct { type ChannelFeeReport struct {
// / The channel that this fee report belongs to. // / The channel that this fee report belongs to.
@ -4545,7 +4535,7 @@ type ChannelFeeReport struct {
func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} } func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} }
func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) } func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) }
func (*ChannelFeeReport) ProtoMessage() {} func (*ChannelFeeReport) ProtoMessage() {}
func (*ChannelFeeReport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} } func (*ChannelFeeReport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} }
func (m *ChannelFeeReport) GetChanPoint() string { func (m *ChannelFeeReport) GetChanPoint() string {
if m != nil { if m != nil {
@ -4589,7 +4579,7 @@ type FeeReportResponse struct {
func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} } func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} }
func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) } func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) }
func (*FeeReportResponse) ProtoMessage() {} func (*FeeReportResponse) ProtoMessage() {}
func (*FeeReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} } func (*FeeReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} }
func (m *FeeReportResponse) GetChannelFees() []*ChannelFeeReport { func (m *FeeReportResponse) GetChannelFees() []*ChannelFeeReport {
if m != nil { if m != nil {
@ -4635,7 +4625,7 @@ type PolicyUpdateRequest struct {
func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} } func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} }
func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) } func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateRequest) ProtoMessage() {} func (*PolicyUpdateRequest) ProtoMessage() {}
func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} } func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} }
type isPolicyUpdateRequest_Scope interface{ isPolicyUpdateRequest_Scope() } type isPolicyUpdateRequest_Scope interface{ isPolicyUpdateRequest_Scope() }
@ -4770,7 +4760,7 @@ type PolicyUpdateResponse struct {
func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} } func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} }
func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) } func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateResponse) ProtoMessage() {} func (*PolicyUpdateResponse) ProtoMessage() {}
func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} } func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} }
type ForwardingHistoryRequest struct { type ForwardingHistoryRequest struct {
// / Start time is the starting point of the forwarding history request. All records beyond this point will be included, respecting the end time, and the index offset. // / Start time is the starting point of the forwarding history request. All records beyond this point will be included, respecting the end time, and the index offset.
@ -4786,7 +4776,7 @@ type ForwardingHistoryRequest struct {
func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryRequest{} } func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryRequest{} }
func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) } func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryRequest) ProtoMessage() {} func (*ForwardingHistoryRequest) ProtoMessage() {}
func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} } func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} }
func (m *ForwardingHistoryRequest) GetStartTime() uint64 { func (m *ForwardingHistoryRequest) GetStartTime() uint64 {
if m != nil { if m != nil {
@ -4834,7 +4824,7 @@ type ForwardingEvent struct {
func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} } func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} }
func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) } func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) }
func (*ForwardingEvent) ProtoMessage() {} func (*ForwardingEvent) ProtoMessage() {}
func (*ForwardingEvent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} } func (*ForwardingEvent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} }
func (m *ForwardingEvent) GetTimestamp() uint64 { func (m *ForwardingEvent) GetTimestamp() uint64 {
if m != nil { if m != nil {
@ -4888,7 +4878,7 @@ type ForwardingHistoryResponse struct {
func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResponse{} } func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResponse{} }
func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) } func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryResponse) ProtoMessage() {} func (*ForwardingHistoryResponse) ProtoMessage() {}
func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} } func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} }
func (m *ForwardingHistoryResponse) GetForwardingEvents() []*ForwardingEvent { func (m *ForwardingHistoryResponse) GetForwardingEvents() []*ForwardingEvent {
if m != nil { if m != nil {
@ -4927,7 +4917,6 @@ func init() {
proto.RegisterType((*SendCoinsRequest)(nil), "lnrpc.SendCoinsRequest") proto.RegisterType((*SendCoinsRequest)(nil), "lnrpc.SendCoinsRequest")
proto.RegisterType((*SendCoinsResponse)(nil), "lnrpc.SendCoinsResponse") proto.RegisterType((*SendCoinsResponse)(nil), "lnrpc.SendCoinsResponse")
proto.RegisterType((*NewAddressRequest)(nil), "lnrpc.NewAddressRequest") proto.RegisterType((*NewAddressRequest)(nil), "lnrpc.NewAddressRequest")
proto.RegisterType((*NewWitnessAddressRequest)(nil), "lnrpc.NewWitnessAddressRequest")
proto.RegisterType((*NewAddressResponse)(nil), "lnrpc.NewAddressResponse") proto.RegisterType((*NewAddressResponse)(nil), "lnrpc.NewAddressResponse")
proto.RegisterType((*SignMessageRequest)(nil), "lnrpc.SignMessageRequest") proto.RegisterType((*SignMessageRequest)(nil), "lnrpc.SignMessageRequest")
proto.RegisterType((*SignMessageResponse)(nil), "lnrpc.SignMessageResponse") proto.RegisterType((*SignMessageResponse)(nil), "lnrpc.SignMessageResponse")
@ -5286,9 +5275,6 @@ type LightningClient interface {
// * lncli: `newaddress` // * lncli: `newaddress`
// NewAddress creates a new address under control of the local wallet. // NewAddress creates a new address under control of the local wallet.
NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error)
// *
// NewWitnessAddress creates a new witness address under control of the local wallet.
NewWitnessAddress(ctx context.Context, in *NewWitnessAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error)
// * lncli: `signmessage` // * lncli: `signmessage`
// SignMessage signs a message with this node's private key. The returned // SignMessage signs a message with this node's private key. The returned
// signature string is `zbase32` encoded and pubkey recoverable, meaning that // signature string is `zbase32` encoded and pubkey recoverable, meaning that
@ -5588,15 +5574,6 @@ func (c *lightningClient) NewAddress(ctx context.Context, in *NewAddressRequest,
return out, nil return out, nil
} }
func (c *lightningClient) NewWitnessAddress(ctx context.Context, in *NewWitnessAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) {
out := new(NewAddressResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/NewWitnessAddress", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) { func (c *lightningClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) {
out := new(SignMessageResponse) out := new(SignMessageResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/SignMessage", in, out, c.cc, opts...) err := grpc.Invoke(ctx, "/lnrpc.Lightning/SignMessage", in, out, c.cc, opts...)
@ -6085,9 +6062,6 @@ type LightningServer interface {
// * lncli: `newaddress` // * lncli: `newaddress`
// NewAddress creates a new address under control of the local wallet. // NewAddress creates a new address under control of the local wallet.
NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error) NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error)
// *
// NewWitnessAddress creates a new witness address under control of the local wallet.
NewWitnessAddress(context.Context, *NewWitnessAddressRequest) (*NewAddressResponse, error)
// * lncli: `signmessage` // * lncli: `signmessage`
// SignMessage signs a message with this node's private key. The returned // SignMessage signs a message with this node's private key. The returned
// signature string is `zbase32` encoded and pubkey recoverable, meaning that // signature string is `zbase32` encoded and pubkey recoverable, meaning that
@ -6426,24 +6400,6 @@ func _Lightning_NewAddress_Handler(srv interface{}, ctx context.Context, dec fun
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Lightning_NewWitnessAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(NewWitnessAddressRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).NewWitnessAddress(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/NewWitnessAddress",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).NewWitnessAddress(ctx, req.(*NewWitnessAddressRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Lightning_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SignMessageRequest) in := new(SignMessageRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
@ -7130,10 +7086,6 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "NewAddress", MethodName: "NewAddress",
Handler: _Lightning_NewAddress_Handler, Handler: _Lightning_NewAddress_Handler,
}, },
{
MethodName: "NewWitnessAddress",
Handler: _Lightning_NewWitnessAddress_Handler,
},
{ {
MethodName: "SignMessage", MethodName: "SignMessage",
Handler: _Lightning_SignMessage_Handler, Handler: _Lightning_SignMessage_Handler,
@ -7296,406 +7248,405 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) } func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 6415 bytes of a gzipped FileDescriptorProto // 6385 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7c, 0xcd, 0x6f, 0x1c, 0xd9, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7c, 0xdf, 0x6f, 0x24, 0xd9,
0x75, 0xaf, 0xaa, 0xd9, 0x4d, 0xb2, 0x4f, 0x37, 0xc9, 0xe6, 0xe5, 0x57, 0xab, 0x47, 0xa3, 0xd1, 0x55, 0xff, 0x54, 0xbb, 0xdb, 0x76, 0x9f, 0x6e, 0xdb, 0xed, 0xeb, 0x5f, 0x3d, 0xbd, 0xb3, 0xb3,
0x94, 0x07, 0x23, 0x99, 0x6f, 0x9e, 0xa4, 0xa1, 0xed, 0xc1, 0x78, 0xe6, 0x3d, 0xfb, 0x51, 0x24, 0xb3, 0x95, 0xd5, 0xce, 0xc4, 0xdf, 0xfd, 0xce, 0xcc, 0x3a, 0xc9, 0x6a, 0xb3, 0x0b, 0x09, 0x1e,
0x25, 0xca, 0xe6, 0x48, 0x74, 0x51, 0x63, 0xbd, 0xd8, 0x09, 0xda, 0xc5, 0xee, 0xcb, 0x66, 0x59, 0xdb, 0x33, 0x9e, 0xc4, 0x3b, 0xe3, 0x94, 0x67, 0xb3, 0x24, 0x01, 0x75, 0xca, 0xdd, 0xd7, 0xed,
0xdd, 0x55, 0xed, 0xaa, 0x6a, 0x72, 0xda, 0x13, 0x01, 0x49, 0x1c, 0x64, 0x11, 0xc4, 0x08, 0x82, 0xca, 0x74, 0x57, 0x75, 0xaa, 0xaa, 0xed, 0xed, 0x2c, 0x23, 0x01, 0x41, 0x3c, 0x20, 0x22, 0x84,
0x04, 0x08, 0x1c, 0x20, 0x08, 0xe2, 0x78, 0xe1, 0xfc, 0x01, 0xf1, 0x26, 0xc9, 0x2e, 0x9b, 0x04, 0x40, 0x42, 0x41, 0x42, 0x88, 0xc0, 0x43, 0xf8, 0x03, 0xc8, 0x0b, 0xf0, 0xc6, 0x0b, 0x48, 0x88,
0x08, 0xb2, 0xf0, 0xca, 0x08, 0x90, 0x4d, 0xb2, 0x49, 0x82, 0x6c, 0x02, 0x64, 0x99, 0x20, 0x38, 0x87, 0x7d, 0x8a, 0x90, 0x78, 0x81, 0x17, 0x40, 0xbc, 0x20, 0xf1, 0x08, 0x42, 0xe7, 0xdc, 0x1f,
0xe7, 0x7e, 0xd4, 0xbd, 0x55, 0x45, 0x51, 0xfe, 0xca, 0xae, 0xef, 0xef, 0x9e, 0xba, 0x9f, 0xe7, 0x75, 0x6f, 0x55, 0x79, 0x3c, 0xf9, 0xc5, 0x5b, 0xdf, 0xcf, 0x3d, 0x75, 0x7f, 0x9e, 0x5f, 0xf7,
0xeb, 0x9e, 0x7b, 0x6e, 0x43, 0x3d, 0x1e, 0xf7, 0x6e, 0x8f, 0xe3, 0x28, 0x8d, 0x58, 0x6d, 0x18, 0xdc, 0x73, 0x1b, 0xea, 0xf1, 0xb8, 0x77, 0x7b, 0x1c, 0x47, 0x69, 0xc4, 0x6a, 0xc3, 0x30, 0x1e,
0xc6, 0xe3, 0x5e, 0xe7, 0xda, 0x20, 0x8a, 0x06, 0x43, 0x7e, 0xc7, 0x1f, 0x07, 0x77, 0xfc, 0x30, 0xf7, 0x3a, 0xd7, 0x06, 0x51, 0x34, 0x18, 0xf2, 0x3b, 0xfe, 0x38, 0xb8, 0xe3, 0x87, 0x61, 0x94,
0x8c, 0x52, 0x3f, 0x0d, 0xa2, 0x30, 0x11, 0x44, 0xee, 0xd7, 0x60, 0xf1, 0x01, 0x0f, 0x8f, 0x38, 0xfa, 0x69, 0x10, 0x85, 0x89, 0x20, 0x72, 0xbf, 0x0e, 0x8b, 0x0f, 0x78, 0x78, 0xc4, 0x79, 0xdf,
0xef, 0x7b, 0xfc, 0x1b, 0x13, 0x9e, 0xa4, 0xec, 0x7f, 0xc1, 0xb2, 0xcf, 0xbf, 0xc9, 0x79, 0xbf, 0xe3, 0xdf, 0x9c, 0xf0, 0x24, 0x65, 0xff, 0x0f, 0x96, 0x7d, 0xfe, 0x2d, 0xce, 0xfb, 0xdd, 0xb1,
0x3b, 0xf6, 0x93, 0x64, 0x7c, 0x1a, 0xfb, 0x09, 0x6f, 0x3b, 0x37, 0x9c, 0x5b, 0x4d, 0xaf, 0x25, 0x9f, 0x24, 0xe3, 0xd3, 0xd8, 0x4f, 0x78, 0xdb, 0xb9, 0xe1, 0xdc, 0x6a, 0x7a, 0x2d, 0x51, 0x71,
0x2a, 0x0e, 0x35, 0xce, 0x5e, 0x87, 0x66, 0x82, 0xa4, 0x3c, 0x4c, 0xe3, 0x68, 0x3c, 0x6d, 0x57, 0xa8, 0x71, 0xf6, 0x2a, 0x34, 0x13, 0x24, 0xe5, 0x61, 0x1a, 0x47, 0xe3, 0x69, 0xbb, 0x42, 0x74,
0x88, 0xae, 0x81, 0xd8, 0x9e, 0x80, 0xdc, 0x21, 0x2c, 0xe9, 0x1e, 0x92, 0x71, 0x14, 0x26, 0x9c, 0x0d, 0xc4, 0xf6, 0x04, 0xe4, 0x0e, 0x61, 0x49, 0xf7, 0x90, 0x8c, 0xa3, 0x30, 0xe1, 0xec, 0x2e,
0xdd, 0x85, 0xd5, 0x5e, 0x30, 0x3e, 0xe5, 0x71, 0x97, 0x3e, 0x1e, 0x85, 0x7c, 0x14, 0x85, 0x41, 0xac, 0xf6, 0x82, 0xf1, 0x29, 0x8f, 0xbb, 0xf4, 0xf1, 0x28, 0xe4, 0xa3, 0x28, 0x0c, 0x7a, 0x6d,
0xaf, 0xed, 0xdc, 0x98, 0xb9, 0x55, 0xf7, 0x98, 0xa8, 0xc3, 0x2f, 0x3e, 0x90, 0x35, 0xec, 0x26, 0xe7, 0xc6, 0xcc, 0xad, 0xba, 0xc7, 0x44, 0x1d, 0x7e, 0xf1, 0x9e, 0xac, 0x61, 0x37, 0x61, 0x89,
0x2c, 0xf1, 0x50, 0xe0, 0xbc, 0x4f, 0x5f, 0xc9, 0xae, 0x16, 0x33, 0x18, 0x3f, 0x70, 0xff, 0xca, 0x87, 0x02, 0xe7, 0x7d, 0xfa, 0x4a, 0x76, 0xb5, 0x98, 0xc1, 0xf8, 0x81, 0xfb, 0x37, 0x0e, 0x2c,
0x81, 0xe5, 0x87, 0x61, 0x90, 0x3e, 0xf5, 0x87, 0x43, 0x9e, 0xaa, 0x39, 0xdd, 0x84, 0xa5, 0x73, 0x3f, 0x0c, 0x83, 0xf4, 0x03, 0x7f, 0x38, 0xe4, 0xa9, 0x9a, 0xd3, 0x4d, 0x58, 0x3a, 0x27, 0x80,
0x02, 0x68, 0x4e, 0xe7, 0x51, 0xdc, 0x97, 0x33, 0x5a, 0x14, 0xf0, 0xa1, 0x44, 0x2f, 0x1c, 0x59, 0xe6, 0x74, 0x1e, 0xc5, 0x7d, 0x39, 0xa3, 0x45, 0x01, 0x1f, 0x4a, 0xf4, 0xc2, 0x91, 0x55, 0x2e,
0xe5, 0xc2, 0x91, 0x95, 0x2e, 0xd7, 0xcc, 0x05, 0xcb, 0x75, 0x13, 0x96, 0x62, 0xde, 0x8b, 0xce, 0x1c, 0x59, 0xe9, 0x72, 0xcd, 0x5c, 0xb0, 0x5c, 0x37, 0x61, 0x29, 0xe6, 0xbd, 0xe8, 0x8c, 0xc7,
0x78, 0x3c, 0xed, 0x9e, 0x07, 0x61, 0x3f, 0x3a, 0x6f, 0x57, 0x6f, 0x38, 0xb7, 0x6a, 0xde, 0xa2, 0xd3, 0xee, 0x79, 0x10, 0xf6, 0xa3, 0xf3, 0x76, 0xf5, 0x86, 0x73, 0xab, 0xe6, 0x2d, 0x2a, 0xf8,
0x82, 0x9f, 0x12, 0xea, 0xae, 0x02, 0x33, 0x67, 0x21, 0xd6, 0xcd, 0x1d, 0xc0, 0xca, 0x87, 0xe1, 0x03, 0x42, 0xdd, 0x55, 0x60, 0xe6, 0x2c, 0xc4, 0xba, 0xb9, 0x03, 0x58, 0x79, 0x3f, 0x1c, 0x46,
0x30, 0xea, 0x3d, 0xfb, 0x09, 0x67, 0x57, 0xd2, 0x7d, 0xa5, 0xb4, 0xfb, 0x75, 0x58, 0xb5, 0x3b, 0xbd, 0xa7, 0x3f, 0xe6, 0xec, 0x4a, 0xba, 0xaf, 0x94, 0x76, 0xbf, 0x0e, 0xab, 0x76, 0x47, 0x72,
0x92, 0x03, 0xe0, 0xb0, 0xb6, 0x73, 0xea, 0x87, 0x03, 0xae, 0x9a, 0x54, 0x43, 0xf8, 0x24, 0xb4, 0x00, 0x1c, 0xd6, 0x76, 0x4e, 0xfd, 0x70, 0xc0, 0x55, 0x93, 0x6a, 0x08, 0x9f, 0x84, 0x56, 0x6f,
0x7a, 0x93, 0x38, 0xe6, 0x61, 0x61, 0x0c, 0x4b, 0x12, 0xd7, 0x83, 0x78, 0x1d, 0x9a, 0x21, 0x3f, 0x12, 0xc7, 0x3c, 0x2c, 0x8c, 0x61, 0x49, 0xe2, 0x7a, 0x10, 0xaf, 0x42, 0x33, 0xe4, 0xe7, 0x19,
0xcf, 0xc8, 0x24, 0xcb, 0x84, 0xfc, 0x5c, 0x91, 0xb8, 0x6d, 0x58, 0xcf, 0x77, 0x23, 0x07, 0xf0, 0x99, 0x64, 0x99, 0x90, 0x9f, 0x2b, 0x12, 0xb7, 0x0d, 0xeb, 0xf9, 0x6e, 0xe4, 0x00, 0xbe, 0x5b,
0x9d, 0x0a, 0x34, 0x9e, 0xc4, 0x7e, 0x98, 0xf8, 0x3d, 0xe4, 0x62, 0xd6, 0x86, 0xb9, 0xf4, 0xa3, 0x81, 0xc6, 0x93, 0xd8, 0x0f, 0x13, 0xbf, 0x87, 0x5c, 0xcc, 0xda, 0x30, 0x97, 0x7e, 0xd8, 0x3d,
0xee, 0xa9, 0x9f, 0x9c, 0x52, 0x77, 0x75, 0x4f, 0x15, 0xd9, 0x3a, 0xcc, 0xfa, 0xa3, 0x68, 0x12, 0xf5, 0x93, 0x53, 0xea, 0xae, 0xee, 0xa9, 0x22, 0x5b, 0x87, 0x59, 0x7f, 0x14, 0x4d, 0xc2, 0x94,
0xa6, 0xd4, 0xc1, 0x8c, 0x27, 0x4b, 0xec, 0x2d, 0x58, 0x0e, 0x27, 0xa3, 0x6e, 0x2f, 0x0a, 0x4f, 0x3a, 0x98, 0xf1, 0x64, 0x89, 0xbd, 0x01, 0xcb, 0xe1, 0x64, 0xd4, 0xed, 0x45, 0xe1, 0x49, 0x10,
0x82, 0x78, 0x24, 0x64, 0x81, 0xf6, 0xab, 0xe6, 0x15, 0x2b, 0xd8, 0x75, 0x80, 0x63, 0x5c, 0x07, 0x8f, 0x84, 0x2c, 0xd0, 0x7e, 0xd5, 0xbc, 0x62, 0x05, 0xbb, 0x0e, 0x70, 0x8c, 0xeb, 0x20, 0xba,
0xd1, 0x45, 0x95, 0xba, 0x30, 0x10, 0xe6, 0x42, 0x53, 0x96, 0x78, 0x30, 0x38, 0x4d, 0xdb, 0x35, 0xa8, 0x52, 0x17, 0x06, 0xc2, 0x5c, 0x68, 0xca, 0x12, 0x0f, 0x06, 0xa7, 0x69, 0xbb, 0x46, 0x0d,
0x6a, 0xc8, 0xc2, 0xb0, 0x8d, 0x34, 0x18, 0xf1, 0x6e, 0x92, 0xfa, 0xa3, 0x71, 0x7b, 0x96, 0x46, 0x59, 0x18, 0xb6, 0x91, 0x06, 0x23, 0xde, 0x4d, 0x52, 0x7f, 0x34, 0x6e, 0xcf, 0xd2, 0x68, 0x0c,
0x63, 0x20, 0x54, 0x1f, 0xa5, 0xfe, 0xb0, 0x7b, 0xc2, 0x79, 0xd2, 0x9e, 0x93, 0xf5, 0x1a, 0x61, 0x84, 0xea, 0xa3, 0xd4, 0x1f, 0x76, 0x4f, 0x38, 0x4f, 0xda, 0x73, 0xb2, 0x5e, 0x23, 0xec, 0x75,
0x6f, 0xc2, 0x62, 0x9f, 0x27, 0x69, 0xd7, 0xef, 0xf7, 0x63, 0x9e, 0x24, 0x3c, 0x69, 0xcf, 0x13, 0x58, 0xec, 0xf3, 0x24, 0xed, 0xfa, 0xfd, 0x7e, 0xcc, 0x93, 0x84, 0x27, 0xed, 0x79, 0xe2, 0xc6,
0x37, 0xe6, 0x50, 0x5c, 0xb5, 0x07, 0x3c, 0x35, 0x56, 0x27, 0x91, 0xbb, 0xe3, 0x1e, 0x00, 0x33, 0x1c, 0x8a, 0xab, 0xf6, 0x80, 0xa7, 0xc6, 0xea, 0x24, 0x72, 0x77, 0xdc, 0x03, 0x60, 0x06, 0xbc,
0xe0, 0x5d, 0x9e, 0xfa, 0xc1, 0x30, 0x61, 0xef, 0x40, 0x33, 0x35, 0x88, 0x49, 0xfa, 0x1a, 0x5b, 0xcb, 0x53, 0x3f, 0x18, 0x26, 0xec, 0x2d, 0x68, 0xa6, 0x06, 0x31, 0x49, 0x5f, 0x63, 0x8b, 0xdd,
0xec, 0x36, 0xa9, 0x8d, 0xdb, 0xc6, 0x07, 0x9e, 0x45, 0xe7, 0x3e, 0x80, 0xf9, 0xfb, 0x9c, 0x1f, 0x26, 0xb5, 0x71, 0xdb, 0xf8, 0xc0, 0xb3, 0xe8, 0xdc, 0x07, 0x30, 0x7f, 0x9f, 0xf3, 0x83, 0x60,
0x04, 0xa3, 0x20, 0x65, 0xeb, 0x50, 0x3b, 0x09, 0x3e, 0xe2, 0x62, 0xb3, 0x67, 0xf6, 0xaf, 0x78, 0x14, 0xa4, 0x6c, 0x1d, 0x6a, 0x27, 0xc1, 0x87, 0x5c, 0x6c, 0xf6, 0xcc, 0xfe, 0x15, 0x4f, 0x14,
0xa2, 0xc8, 0x3a, 0x30, 0x37, 0xe6, 0x71, 0x8f, 0xab, 0xe5, 0xdf, 0xbf, 0xe2, 0x29, 0xe0, 0xde, 0x59, 0x07, 0xe6, 0xc6, 0x3c, 0xee, 0x71, 0xb5, 0xfc, 0xfb, 0x57, 0x3c, 0x05, 0xdc, 0x9b, 0x83,
0x1c, 0xd4, 0x86, 0xf8, 0xb1, 0xfb, 0xfd, 0x0a, 0x34, 0x8e, 0x78, 0xa8, 0x99, 0x88, 0x41, 0x15, 0xda, 0x10, 0x3f, 0x76, 0xbf, 0x5f, 0x81, 0xc6, 0x11, 0x0f, 0x35, 0x13, 0x31, 0xa8, 0xe2, 0x94,
0xa7, 0x24, 0x19, 0x87, 0x7e, 0xb3, 0xd7, 0xa0, 0x41, 0xd3, 0x4c, 0xd2, 0x38, 0x08, 0x07, 0xd4, 0x24, 0xe3, 0xd0, 0x6f, 0xf6, 0x0a, 0x34, 0x68, 0x9a, 0x49, 0x1a, 0x07, 0xe1, 0x80, 0x1a, 0xab,
0x58, 0xdd, 0x03, 0x84, 0x8e, 0x08, 0x61, 0x2d, 0x98, 0xf1, 0x47, 0x29, 0xed, 0xe0, 0x8c, 0x87, 0x7b, 0x80, 0xd0, 0x11, 0x21, 0xac, 0x05, 0x33, 0xfe, 0x28, 0xa5, 0x1d, 0x9c, 0xf1, 0xf0, 0x27,
0x3f, 0x91, 0xc1, 0xc6, 0xfe, 0x74, 0x84, 0xbc, 0xa8, 0x77, 0xad, 0xe9, 0x35, 0x24, 0xb6, 0x8f, 0x32, 0xd8, 0xd8, 0x9f, 0x8e, 0x90, 0x17, 0xf5, 0xae, 0x35, 0xbd, 0x86, 0xc4, 0xf6, 0x71, 0xdb,
0xdb, 0x76, 0x1b, 0x56, 0x4c, 0x12, 0xd5, 0x7a, 0x8d, 0x5a, 0x5f, 0x36, 0x28, 0x65, 0x27, 0x37, 0x6e, 0xc3, 0x8a, 0x49, 0xa2, 0x5a, 0xaf, 0x51, 0xeb, 0xcb, 0x06, 0xa5, 0xec, 0xe4, 0x26, 0x2c,
0x61, 0x49, 0xd1, 0xc7, 0x62, 0xb0, 0xb4, 0x8f, 0x75, 0x6f, 0x51, 0xc2, 0x6a, 0x0a, 0xb7, 0xa0, 0x29, 0xfa, 0x58, 0x0c, 0x96, 0xf6, 0xb1, 0xee, 0x2d, 0x4a, 0x58, 0x4d, 0xe1, 0x16, 0xb4, 0x4e,
0x75, 0x12, 0x84, 0xfe, 0xb0, 0xdb, 0x1b, 0xa6, 0x67, 0xdd, 0x3e, 0x1f, 0xa6, 0x3e, 0xed, 0x68, 0x82, 0xd0, 0x1f, 0x76, 0x7b, 0xc3, 0xf4, 0xac, 0xdb, 0xe7, 0xc3, 0xd4, 0xa7, 0x1d, 0xad, 0x79,
0xcd, 0x5b, 0x24, 0x7c, 0x67, 0x98, 0x9e, 0xed, 0x22, 0xca, 0xde, 0x82, 0xfa, 0x09, 0xe7, 0x5d, 0x8b, 0x84, 0xef, 0x0c, 0xd3, 0xb3, 0x5d, 0x44, 0xd9, 0x1b, 0x50, 0x3f, 0xe1, 0xbc, 0x4b, 0x2b,
0x5a, 0x89, 0xf6, 0xfc, 0x0d, 0xe7, 0x56, 0x63, 0x6b, 0x49, 0x2e, 0xbd, 0x5a, 0x5d, 0x6f, 0xfe, 0xd1, 0x9e, 0xbf, 0xe1, 0xdc, 0x6a, 0x6c, 0x2d, 0xc9, 0xa5, 0x57, 0xab, 0xeb, 0xcd, 0x9f, 0xc8,
0x44, 0xfe, 0x72, 0x7f, 0xcf, 0x81, 0xa6, 0x58, 0x2a, 0xa9, 0x42, 0xdf, 0x80, 0x05, 0x35, 0x22, 0x5f, 0xee, 0xef, 0x3b, 0xd0, 0x14, 0x4b, 0x25, 0x55, 0xe8, 0x6b, 0xb0, 0xa0, 0x46, 0xc4, 0xe3,
0x1e, 0xc7, 0x51, 0x2c, 0xd9, 0xdf, 0x06, 0xd9, 0x26, 0xb4, 0x14, 0x30, 0x8e, 0x79, 0x30, 0xf2, 0x38, 0x8a, 0x25, 0xfb, 0xdb, 0x20, 0xdb, 0x84, 0x96, 0x02, 0xc6, 0x31, 0x0f, 0x46, 0xfe, 0x80,
0x07, 0x5c, 0xca, 0x5b, 0x01, 0x67, 0x5b, 0x59, 0x8b, 0x71, 0x34, 0x49, 0x85, 0x12, 0x6b, 0x6c, 0x4b, 0x79, 0x2b, 0xe0, 0x6c, 0x2b, 0x6b, 0x31, 0x8e, 0x26, 0xa9, 0x50, 0x62, 0x8d, 0xad, 0xa6,
0x35, 0xe5, 0xa0, 0x3c, 0xc4, 0x3c, 0x9b, 0xc4, 0xfd, 0xb6, 0x03, 0x0c, 0x87, 0xf5, 0x24, 0x12, 0x1c, 0x94, 0x87, 0x98, 0x67, 0x93, 0xb8, 0xdf, 0x71, 0x80, 0xe1, 0xb0, 0x9e, 0x44, 0xa2, 0x5a,
0xd5, 0x72, 0x15, 0xf2, 0x3b, 0xe0, 0xbc, 0xf4, 0x0e, 0x54, 0x2e, 0xda, 0x81, 0x37, 0x60, 0x96, 0xae, 0x42, 0x7e, 0x07, 0x9c, 0x17, 0xde, 0x81, 0xca, 0x45, 0x3b, 0xf0, 0x1a, 0xcc, 0x52, 0x97,
0xba, 0x44, 0x59, 0x9d, 0x29, 0x0c, 0x4b, 0xd6, 0xb9, 0xdf, 0x75, 0xa0, 0x89, 0x9a, 0x23, 0xe4, 0x28, 0xab, 0x33, 0x85, 0x61, 0xc9, 0x3a, 0xf7, 0x7b, 0x0e, 0x34, 0x51, 0x73, 0x84, 0x7c, 0x78,
0xc3, 0xc3, 0x28, 0x08, 0x53, 0x76, 0x17, 0xd8, 0xc9, 0x24, 0xec, 0x07, 0xe1, 0xa0, 0x9b, 0x7e, 0x18, 0x05, 0x61, 0xca, 0xee, 0x02, 0x3b, 0x99, 0x84, 0xfd, 0x20, 0x1c, 0x74, 0xd3, 0x0f, 0x83,
0x14, 0xf4, 0xbb, 0xc7, 0x53, 0x6c, 0x82, 0xc6, 0xb3, 0x7f, 0xc5, 0x2b, 0xa9, 0x63, 0x6f, 0x41, 0x7e, 0xf7, 0x78, 0x8a, 0x4d, 0xd0, 0x78, 0xf6, 0xaf, 0x78, 0x25, 0x75, 0xec, 0x0d, 0x68, 0x59,
0xcb, 0x42, 0x93, 0x34, 0x16, 0xa3, 0xda, 0xbf, 0xe2, 0x15, 0x6a, 0x50, 0xfe, 0xa3, 0x49, 0x3a, 0x68, 0x92, 0xc6, 0x62, 0x54, 0xfb, 0x57, 0xbc, 0x42, 0x0d, 0xca, 0x7f, 0x34, 0x49, 0xc7, 0x93,
0x9e, 0xa4, 0xdd, 0x20, 0xec, 0xf3, 0x8f, 0x68, 0xcd, 0x16, 0x3c, 0x0b, 0xbb, 0xb7, 0x08, 0x4d, 0xb4, 0x1b, 0x84, 0x7d, 0xfe, 0x21, 0xad, 0xd9, 0x82, 0x67, 0x61, 0xf7, 0x16, 0xa1, 0x69, 0x7e,
0xf3, 0x3b, 0xf7, 0x73, 0xd0, 0x3a, 0x40, 0xc5, 0x10, 0x06, 0xe1, 0x60, 0x5b, 0x48, 0x2f, 0x6a, 0xe7, 0x7e, 0x0e, 0x5a, 0x07, 0xa8, 0x18, 0xc2, 0x20, 0x1c, 0x6c, 0x0b, 0xe9, 0x45, 0x6d, 0x35,
0xab, 0xf1, 0xe4, 0xf8, 0x19, 0x9f, 0xca, 0x7d, 0x94, 0x25, 0x14, 0x89, 0xd3, 0x28, 0x49, 0xe5, 0x9e, 0x1c, 0x3f, 0xe5, 0x53, 0xb9, 0x8f, 0xb2, 0x84, 0x22, 0x71, 0x1a, 0x25, 0xa9, 0x5c, 0x17,
0xba, 0xd0, 0x6f, 0xf7, 0x1f, 0x1d, 0x58, 0xc2, 0x45, 0xff, 0xc0, 0x0f, 0xa7, 0x6a, 0xc5, 0x0f, 0xfa, 0xed, 0xfe, 0xb3, 0x03, 0x4b, 0xb8, 0xe8, 0xef, 0xf9, 0xe1, 0x54, 0xad, 0xf8, 0x01, 0x34,
0xa0, 0x89, 0x4d, 0x3d, 0x89, 0xb6, 0x85, 0xce, 0x13, 0xb2, 0x7c, 0x4b, 0x2e, 0x52, 0x8e, 0xfa, 0xb1, 0xa9, 0x27, 0xd1, 0xb6, 0xd0, 0x79, 0x42, 0x96, 0x6f, 0xc9, 0x45, 0xca, 0x51, 0xdf, 0x36,
0xb6, 0x49, 0x8a, 0x66, 0x7a, 0xea, 0x59, 0x5f, 0xa3, 0xd0, 0xa5, 0x7e, 0x3c, 0xe0, 0x29, 0x69, 0x49, 0xd1, 0x4c, 0x4f, 0x3d, 0xeb, 0x6b, 0x14, 0xba, 0xd4, 0x8f, 0x07, 0x3c, 0x25, 0x6d, 0x28,
0x43, 0xa9, 0x1d, 0x41, 0x40, 0x3b, 0x51, 0x78, 0xc2, 0x6e, 0x40, 0x33, 0xf1, 0xd3, 0xee, 0x98, 0xb5, 0x23, 0x08, 0x68, 0x27, 0x0a, 0x4f, 0xd8, 0x0d, 0x68, 0x26, 0x7e, 0xda, 0x1d, 0xf3, 0x98,
0xc7, 0xb4, 0x6a, 0x24, 0x38, 0x33, 0x1e, 0x24, 0x7e, 0x7a, 0xc8, 0xe3, 0x7b, 0xd3, 0x94, 0x77, 0x56, 0x8d, 0x04, 0x67, 0xc6, 0x83, 0xc4, 0x4f, 0x0f, 0x79, 0x7c, 0x6f, 0x9a, 0xf2, 0xce, 0xe7,
0x3e, 0x0f, 0xcb, 0x85, 0x5e, 0x50, 0x56, 0xb3, 0x29, 0xe2, 0x4f, 0xb6, 0x0a, 0xb5, 0x33, 0x7f, 0x61, 0xb9, 0xd0, 0x0b, 0xca, 0x6a, 0x36, 0x45, 0xfc, 0xc9, 0x56, 0xa1, 0x76, 0xe6, 0x0f, 0x27,
0x38, 0xe1, 0x52, 0x49, 0x8b, 0xc2, 0x7b, 0x95, 0x77, 0x1d, 0xf7, 0x4d, 0x68, 0x65, 0xc3, 0x96, 0x5c, 0x2a, 0x69, 0x51, 0x78, 0xa7, 0xf2, 0xb6, 0xe3, 0xbe, 0x0e, 0xad, 0x6c, 0xd8, 0x92, 0xe9,
0x4c, 0xcf, 0xa0, 0x8a, 0x2b, 0x28, 0x1b, 0xa0, 0xdf, 0xee, 0xaf, 0x3a, 0x82, 0x70, 0x27, 0x0a, 0x19, 0x54, 0x71, 0x05, 0x65, 0x03, 0xf4, 0xdb, 0xfd, 0x35, 0x47, 0x10, 0xee, 0x44, 0x81, 0x56,
0xb4, 0xc2, 0x43, 0x42, 0xd4, 0x8b, 0x8a, 0x10, 0x7f, 0x5f, 0x68, 0x10, 0x7e, 0xfa, 0xc9, 0xba, 0x78, 0x48, 0x88, 0x7a, 0x51, 0x11, 0xe2, 0xef, 0x0b, 0x0d, 0xc2, 0x4f, 0x3e, 0x59, 0xf7, 0x26,
0x37, 0x61, 0xd9, 0x18, 0xc2, 0x0b, 0x06, 0xfb, 0x6d, 0x07, 0x96, 0x1f, 0xf1, 0x73, 0xb9, 0xeb, 0x2c, 0x1b, 0x43, 0x78, 0xce, 0x60, 0xbf, 0xe3, 0xc0, 0xf2, 0x23, 0x7e, 0x2e, 0x77, 0x5d, 0x8d,
0x6a, 0xb4, 0xef, 0x42, 0x35, 0x9d, 0x8e, 0x85, 0x93, 0xb5, 0xb8, 0xf5, 0x86, 0xdc, 0xb4, 0x02, 0xf6, 0x6d, 0xa8, 0xa6, 0xd3, 0xb1, 0x70, 0xb2, 0x16, 0xb7, 0x5e, 0x93, 0x9b, 0x56, 0xa0, 0xbb,
0xdd, 0x6d, 0x59, 0x7c, 0x32, 0x1d, 0x73, 0x8f, 0xbe, 0x70, 0x3f, 0x07, 0x0d, 0x03, 0x64, 0x1b, 0x2d, 0x8b, 0x4f, 0xa6, 0x63, 0xee, 0xd1, 0x17, 0xee, 0xe7, 0xa0, 0x61, 0x80, 0x6c, 0x03, 0x56,
0xb0, 0xf2, 0xf4, 0xe1, 0x93, 0x47, 0x7b, 0x47, 0x47, 0xdd, 0xc3, 0x0f, 0xef, 0x7d, 0x71, 0xef, 0x3e, 0x78, 0xf8, 0xe4, 0xd1, 0xde, 0xd1, 0x51, 0xf7, 0xf0, 0xfd, 0x7b, 0x5f, 0xdc, 0xfb, 0x4a,
0x17, 0xba, 0xfb, 0xdb, 0x47, 0xfb, 0xad, 0x2b, 0x6c, 0x1d, 0xd8, 0xa3, 0xbd, 0xa3, 0x27, 0x7b, 0x77, 0x7f, 0xfb, 0x68, 0xbf, 0x75, 0x85, 0xad, 0x03, 0x7b, 0xb4, 0x77, 0xf4, 0x64, 0x6f, 0xd7,
0xbb, 0x16, 0xee, 0xb8, 0x1d, 0x68, 0x3f, 0xe2, 0xe7, 0x4f, 0x83, 0x34, 0xe4, 0x49, 0x62, 0xf7, 0xc2, 0x1d, 0xf7, 0x36, 0x30, 0xb3, 0x1b, 0x39, 0xf2, 0x36, 0xcc, 0x49, 0xab, 0xa2, 0x8c, 0xaa,
0xe6, 0xde, 0x06, 0x66, 0x0e, 0x41, 0xce, 0xaa, 0x0d, 0x73, 0xd2, 0xe2, 0x28, 0x83, 0x2b, 0x8b, 0x2c, 0xba, 0xaf, 0x03, 0x3b, 0x0a, 0x06, 0xe1, 0x7b, 0x3c, 0x49, 0xfc, 0x81, 0x16, 0xf7, 0x16,
0xee, 0x9b, 0xc0, 0x8e, 0x82, 0x41, 0xf8, 0x01, 0x4f, 0x12, 0x7f, 0xa0, 0x55, 0x41, 0x0b, 0x66, 0xcc, 0x8c, 0x92, 0x81, 0x94, 0x72, 0xfc, 0xe9, 0x7e, 0x0a, 0x56, 0x2c, 0x3a, 0xd9, 0xf0, 0x35,
0x46, 0xc9, 0x40, 0x6a, 0x00, 0xfc, 0xe9, 0x7e, 0x0a, 0x56, 0x2c, 0x3a, 0xd9, 0xf0, 0x35, 0xa8, 0xa8, 0x27, 0xc1, 0x20, 0xf4, 0xd3, 0x49, 0xcc, 0x65, 0xd3, 0x19, 0xe0, 0xde, 0x87, 0xd5, 0x2f,
0x27, 0xc1, 0x20, 0xf4, 0xd3, 0x49, 0xcc, 0x65, 0xd3, 0x19, 0xe0, 0xde, 0x87, 0xd5, 0x2f, 0xf3, 0xf3, 0x38, 0x38, 0x99, 0x5e, 0xd6, 0xbc, 0xdd, 0x4e, 0x25, 0xdf, 0xce, 0x1e, 0xac, 0xe5, 0xda,
0x38, 0x38, 0x99, 0x5e, 0xd6, 0xbc, 0xdd, 0x4e, 0x25, 0xdf, 0xce, 0x1e, 0xac, 0xe5, 0xda, 0x91, 0x91, 0xdd, 0x0b, 0x66, 0x93, 0x5b, 0x32, 0xef, 0x89, 0x82, 0x21, 0x7a, 0x15, 0x53, 0xf4, 0xdc,
0xdd, 0x0b, 0x46, 0x94, 0xdb, 0x35, 0xef, 0x89, 0x82, 0x21, 0x96, 0x15, 0x53, 0x2c, 0xdd, 0x0f, 0xf7, 0x81, 0xed, 0x44, 0x61, 0xc8, 0x7b, 0xe9, 0x21, 0xe7, 0x71, 0xe6, 0x1d, 0x67, 0x9c, 0xd5,
0x81, 0xed, 0x44, 0x61, 0xc8, 0x7b, 0xe9, 0x21, 0xe7, 0x71, 0xe6, 0x39, 0x67, 0x5c, 0xd7, 0xd8, 0xd8, 0xda, 0x90, 0x7b, 0x95, 0x97, 0x67, 0xc9, 0x72, 0x0c, 0xaa, 0x63, 0x1e, 0x8f, 0xa8, 0xe1,
0xda, 0x90, 0xfb, 0x98, 0x97, 0x75, 0xc9, 0x8e, 0x0c, 0xaa, 0x63, 0x1e, 0x8f, 0xa8, 0xe1, 0x79, 0x79, 0x8f, 0x7e, 0xbb, 0x6b, 0xb0, 0x62, 0x35, 0x2b, 0x1d, 0x9b, 0x37, 0x61, 0x6d, 0x37, 0x48,
0x8f, 0x7e, 0xbb, 0x6b, 0xb0, 0x62, 0x35, 0x2b, 0x9d, 0x9e, 0xb7, 0x61, 0x6d, 0x37, 0x48, 0x7a, 0x7a, 0xc5, 0x0e, 0xdb, 0x30, 0x37, 0x9e, 0x1c, 0x77, 0x33, 0xb9, 0x51, 0x45, 0xb4, 0xf7, 0xf9,
0xc5, 0x0e, 0xdb, 0x30, 0x37, 0x9e, 0x1c, 0x77, 0x33, 0x99, 0x52, 0x45, 0xf4, 0x05, 0xf2, 0x9f, 0x4f, 0x64, 0x63, 0xbf, 0xe9, 0x40, 0x75, 0xff, 0xc9, 0xc1, 0x0e, 0xeb, 0xc0, 0x7c, 0x10, 0xf6,
0xc8, 0xc6, 0x7e, 0xc3, 0x81, 0xea, 0xfe, 0x93, 0x83, 0x1d, 0xd6, 0x81, 0xf9, 0x20, 0xec, 0x45, 0xa2, 0x11, 0xaa, 0x56, 0x31, 0x69, 0x5d, 0xbe, 0x50, 0x1e, 0xae, 0x41, 0x9d, 0x34, 0x32, 0xba,
0x23, 0x54, 0xbb, 0x62, 0xd2, 0xba, 0x7c, 0xa1, 0xac, 0x5c, 0x83, 0x3a, 0x69, 0x6b, 0x74, 0x6f, 0x30, 0xd2, 0x91, 0xcd, 0x00, 0x74, 0x9f, 0xf8, 0x87, 0xe3, 0x20, 0x26, 0xff, 0x48, 0x79, 0x3d,
0xa4, 0x93, 0x9b, 0x01, 0xe8, 0x5a, 0xf1, 0x8f, 0xc6, 0x41, 0x4c, 0xbe, 0x93, 0xf2, 0x88, 0xaa, 0x55, 0xd2, 0x7a, 0xc5, 0x0a, 0xf7, 0x7f, 0xaa, 0x30, 0x27, 0xf5, 0x31, 0xf5, 0xd7, 0x4b, 0x83,
0xa4, 0x11, 0x8b, 0x15, 0xee, 0x7f, 0x55, 0x61, 0x4e, 0xea, 0x6a, 0xea, 0xaf, 0x97, 0x06, 0x67, 0x33, 0x2e, 0x47, 0x22, 0x4b, 0x68, 0xc9, 0x62, 0x3e, 0x8a, 0x52, 0xde, 0xb5, 0xb6, 0xc1, 0x06,
0x5c, 0x8e, 0x44, 0x96, 0xd0, 0xca, 0xc5, 0x7c, 0x14, 0xa5, 0xbc, 0x6b, 0x6d, 0x83, 0x0d, 0x22, 0x91, 0xaa, 0x27, 0x1a, 0xea, 0x8e, 0x51, 0xb3, 0xd3, 0xc8, 0xea, 0x9e, 0x0d, 0xe2, 0x62, 0x21,
0x55, 0x4f, 0x34, 0xd4, 0x1d, 0xa3, 0xd6, 0xa7, 0x91, 0xd5, 0x3d, 0x1b, 0xc4, 0xc5, 0x42, 0xa0, 0xd0, 0x0d, 0xfa, 0x34, 0xa6, 0xaa, 0xa7, 0x8a, 0xb8, 0x12, 0x3d, 0x7f, 0xec, 0xf7, 0x82, 0x74,
0x1b, 0xf4, 0x69, 0x4c, 0x55, 0x4f, 0x15, 0x71, 0x25, 0x7a, 0xfe, 0xd8, 0xef, 0x05, 0xe9, 0x54, 0x2a, 0x05, 0x58, 0x97, 0xb1, 0xed, 0x61, 0xd4, 0xf3, 0x87, 0xdd, 0x63, 0x7f, 0xe8, 0x87, 0x3d,
0x0a, 0xb7, 0x2e, 0x63, 0xdb, 0xc3, 0xa8, 0xe7, 0x0f, 0xbb, 0xc7, 0xfe, 0xd0, 0x0f, 0x7b, 0x5c, 0x2e, 0x7d, 0x34, 0x1b, 0x44, 0x37, 0x4c, 0x0e, 0x49, 0x91, 0x09, 0x57, 0x2d, 0x87, 0xa2, 0x3b,
0xfa, 0x6f, 0x36, 0x88, 0x2e, 0x9a, 0x1c, 0x92, 0x22, 0x13, 0x6e, 0x5c, 0x0e, 0x45, 0x57, 0xaf, 0xd7, 0x8b, 0x46, 0xa3, 0x20, 0x45, 0xef, 0x8d, 0x2c, 0xfb, 0x8c, 0x67, 0x20, 0x34, 0x13, 0x51,
0x17, 0x8d, 0x46, 0x41, 0x8a, 0x9e, 0x1d, 0x59, 0xfd, 0x19, 0xcf, 0x40, 0x68, 0x26, 0xa2, 0x74, 0x3a, 0x17, 0xab, 0x57, 0x17, 0xbd, 0x59, 0x20, 0xb6, 0x82, 0xee, 0x01, 0x2a, 0x9d, 0xa7, 0xe7,
0x2e, 0x56, 0xaf, 0x2e, 0x7a, 0xb3, 0x40, 0x6c, 0x05, 0x5d, 0x07, 0x54, 0x48, 0xcf, 0xce, 0xdb, 0x6d, 0x10, 0xad, 0x64, 0x08, 0xee, 0xc3, 0x24, 0x4c, 0x78, 0x9a, 0x0e, 0x79, 0x5f, 0x0f, 0xa8,
0x20, 0x5a, 0xc9, 0x10, 0xdc, 0x87, 0x49, 0x98, 0xf0, 0x34, 0x1d, 0xf2, 0xbe, 0x1e, 0x50, 0x83, 0x41, 0x64, 0xc5, 0x0a, 0x76, 0x17, 0x56, 0x84, 0x43, 0x99, 0xf8, 0x69, 0x94, 0x9c, 0x06, 0x49,
0xc8, 0x8a, 0x15, 0xec, 0x2e, 0xac, 0x08, 0x67, 0x33, 0xf1, 0xd3, 0x28, 0x39, 0x0d, 0x92, 0x6e, 0x37, 0x41, 0xd7, 0xac, 0x49, 0xf4, 0x65, 0x55, 0xec, 0x6d, 0xd8, 0xc8, 0xc1, 0x31, 0xef, 0xf1,
0x82, 0x6e, 0x5b, 0x93, 0xe8, 0xcb, 0xaa, 0xd8, 0xbb, 0xb0, 0x91, 0x83, 0x63, 0xde, 0xe3, 0xc1, 0xe0, 0x8c, 0xf7, 0xdb, 0x0b, 0xf4, 0xd5, 0x45, 0xd5, 0xec, 0x06, 0x34, 0xd0, 0x8f, 0x9e, 0x8c,
0x19, 0xef, 0xb7, 0x17, 0xe8, 0xab, 0x8b, 0xaa, 0xd9, 0x0d, 0x68, 0xa0, 0x8f, 0x3d, 0x19, 0xf7, 0xfb, 0x3e, 0xda, 0xda, 0x45, 0xda, 0x07, 0x13, 0x62, 0x6f, 0xc2, 0xc2, 0x98, 0x0b, 0x83, 0x78,
0x7d, 0xb4, 0xc3, 0x8b, 0xb4, 0x0f, 0x26, 0xc4, 0xde, 0x86, 0x85, 0x31, 0x17, 0xc6, 0xf2, 0x34, 0x9a, 0x0e, 0x7b, 0x49, 0x7b, 0x89, 0xac, 0x55, 0x43, 0x0a, 0x13, 0x72, 0xae, 0x67, 0x53, 0x20,
0x1d, 0xf6, 0x92, 0xf6, 0x12, 0x59, 0xb2, 0x86, 0x14, 0x26, 0xe4, 0x5c, 0xcf, 0xa6, 0x40, 0xa6, 0x53, 0xf6, 0x12, 0x72, 0xa8, 0xfc, 0x69, 0xbb, 0x45, 0xec, 0x96, 0x01, 0x24, 0x23, 0x71, 0x70,
0xec, 0x25, 0xe4, 0x6c, 0xf9, 0xd3, 0x76, 0x8b, 0xd8, 0x2d, 0x03, 0x48, 0x46, 0xe2, 0xe0, 0xcc, 0xe6, 0xa7, 0xbc, 0xbd, 0x4c, 0xbc, 0xa5, 0x8a, 0xee, 0x1f, 0x3b, 0xb0, 0x72, 0x10, 0x24, 0xa9,
0x4f, 0x79, 0x7b, 0x99, 0x78, 0x4b, 0x15, 0xdd, 0x3f, 0x72, 0x60, 0xe5, 0x20, 0x48, 0x52, 0xc9, 0x64, 0x42, 0xad, 0x72, 0x5f, 0x81, 0x86, 0x60, 0xbf, 0x6e, 0x14, 0x0e, 0xa7, 0x92, 0x23, 0x41,
0x84, 0x5a, 0x1d, 0xbf, 0x06, 0x0d, 0xc1, 0x7e, 0xdd, 0x28, 0x1c, 0x4e, 0x25, 0x47, 0x82, 0x80, 0x40, 0x8f, 0xc3, 0xe1, 0x94, 0x7d, 0x02, 0x16, 0x82, 0xd0, 0x24, 0x11, 0x32, 0xdc, 0x54, 0x20,
0x1e, 0x87, 0xc3, 0x29, 0xfb, 0x04, 0x2c, 0x04, 0xa1, 0x49, 0x22, 0x64, 0xb8, 0xa9, 0x40, 0x22, 0x11, 0xbd, 0x02, 0x8d, 0xf1, 0xe4, 0x78, 0x18, 0xf4, 0x04, 0xc9, 0x8c, 0x68, 0x45, 0x40, 0x44,
0x7a, 0x0d, 0x1a, 0xe3, 0xc9, 0xf1, 0x30, 0xe8, 0x09, 0x92, 0x19, 0xd1, 0x8a, 0x80, 0x88, 0x00, 0x80, 0x8e, 0x90, 0x18, 0x89, 0xa0, 0xa8, 0x12, 0x45, 0x43, 0x62, 0x48, 0xe2, 0xde, 0x83, 0x55,
0x9d, 0x24, 0x31, 0x12, 0x41, 0x51, 0x25, 0x8a, 0x86, 0xc4, 0x90, 0xc4, 0xbd, 0x07, 0xab, 0xf6, 0x7b, 0x80, 0x52, 0x59, 0x6d, 0xc2, 0xbc, 0xe4, 0xed, 0xa4, 0xdd, 0xa0, 0xf5, 0x59, 0x94, 0xeb,
0x00, 0xa5, 0xb2, 0xda, 0x84, 0x79, 0xc9, 0xdb, 0x49, 0xbb, 0x41, 0xeb, 0xb3, 0x28, 0xd7, 0x47, 0x23, 0x49, 0x3d, 0x5d, 0xef, 0xfe, 0xa0, 0x0a, 0x2b, 0x12, 0xdd, 0x19, 0x46, 0x09, 0x3f, 0x9a,
0x92, 0x7a, 0xba, 0xde, 0xfd, 0x41, 0x15, 0x56, 0x24, 0xba, 0x33, 0x8c, 0x12, 0x7e, 0x34, 0x19, 0x8c, 0x46, 0x7e, 0x5c, 0x22, 0x34, 0xce, 0x25, 0x42, 0x53, 0xb1, 0x85, 0x06, 0x59, 0xf9, 0xd4,
0x8d, 0xfc, 0xb8, 0x44, 0x68, 0x9c, 0x4b, 0x84, 0xa6, 0x62, 0x0b, 0x0d, 0xb2, 0xf2, 0xa9, 0x1f, 0x0f, 0x42, 0xe1, 0xc5, 0x09, 0x89, 0x33, 0x10, 0x76, 0x0b, 0x96, 0x7a, 0xc3, 0x28, 0x11, 0x9e,
0x84, 0xc2, 0xc3, 0x13, 0x12, 0x67, 0x20, 0xec, 0x16, 0x2c, 0xf5, 0x86, 0x51, 0x22, 0xbc, 0x1e, 0x8d, 0x79, 0x44, 0xca, 0xc3, 0x45, 0x21, 0xaf, 0x95, 0x09, 0xb9, 0x29, 0xa4, 0xb3, 0x39, 0x21,
0xf3, 0xf8, 0x94, 0x87, 0x8b, 0x42, 0x5e, 0x2b, 0x13, 0x72, 0x53, 0x48, 0x67, 0x73, 0x42, 0xea, 0x75, 0xa1, 0x89, 0x8d, 0x72, 0xa5, 0x73, 0xe6, 0x84, 0xa7, 0x65, 0x62, 0x38, 0x9e, 0xbc, 0x48,
0x42, 0x13, 0x1b, 0xe5, 0x4a, 0xe7, 0xcc, 0x09, 0x2f, 0xcc, 0xc4, 0x70, 0x3c, 0x79, 0x91, 0x10, 0x08, 0xf9, 0x5b, 0x2a, 0x13, 0x08, 0x3c, 0x81, 0xa1, 0x4e, 0x33, 0xa8, 0xeb, 0x52, 0x20, 0x8a,
0xf2, 0xb7, 0x54, 0x26, 0x10, 0x78, 0x3a, 0x43, 0x9d, 0x66, 0x50, 0xd7, 0xa5, 0x40, 0x14, 0xab, 0x55, 0xec, 0x3e, 0x80, 0xe8, 0x8b, 0x4c, 0x35, 0x90, 0xa9, 0x7e, 0xdd, 0xde, 0x11, 0x73, 0xed,
0xd8, 0x7d, 0x00, 0xd1, 0x17, 0x99, 0x71, 0x20, 0x33, 0xfe, 0xa6, 0xbd, 0x23, 0xe6, 0xda, 0xdf, 0x6f, 0x63, 0x61, 0x12, 0x73, 0x32, 0xd6, 0xc6, 0x97, 0xee, 0x6f, 0x39, 0xd0, 0x30, 0xea, 0xd8,
0xc6, 0xc2, 0x24, 0xe6, 0x64, 0xc8, 0x8d, 0x2f, 0xdd, 0xdf, 0x74, 0xa0, 0x61, 0xd4, 0xb1, 0x35, 0x1a, 0x2c, 0xef, 0x3c, 0x7e, 0x7c, 0xb8, 0xe7, 0x6d, 0x3f, 0x79, 0xf8, 0xe5, 0xbd, 0xee, 0xce,
0x58, 0xde, 0x79, 0xfc, 0xf8, 0x70, 0xcf, 0xdb, 0x7e, 0xf2, 0xf0, 0xcb, 0x7b, 0xdd, 0x9d, 0x83, 0xc1, 0xe3, 0xa3, 0xbd, 0xd6, 0x15, 0x84, 0x0f, 0x1e, 0xef, 0x6c, 0x1f, 0x74, 0xef, 0x3f, 0xf6,
0xc7, 0x47, 0x7b, 0xad, 0x2b, 0x08, 0x1f, 0x3c, 0xde, 0xd9, 0x3e, 0xe8, 0xde, 0x7f, 0xec, 0xed, 0x76, 0x14, 0xec, 0xa0, 0x21, 0xf7, 0xf6, 0xde, 0x7b, 0xfc, 0x64, 0xcf, 0xc2, 0x2b, 0xac, 0x05,
0x28, 0xd8, 0x41, 0x23, 0xef, 0xed, 0x7d, 0xf0, 0xf8, 0xc9, 0x9e, 0x85, 0x57, 0x58, 0x0b, 0x9a, 0xcd, 0x7b, 0xde, 0xde, 0xf6, 0xce, 0xbe, 0x44, 0x66, 0xd8, 0x2a, 0xb4, 0xee, 0xbf, 0xff, 0x68,
0xf7, 0xbc, 0xbd, 0xed, 0x9d, 0x7d, 0x89, 0xcc, 0xb0, 0x55, 0x68, 0xdd, 0xff, 0xf0, 0xd1, 0xee, 0xf7, 0xe1, 0xa3, 0x07, 0xdd, 0x9d, 0xed, 0x47, 0x3b, 0x7b, 0x07, 0x7b, 0xbb, 0xad, 0x2a, 0x5b,
0xc3, 0x47, 0x0f, 0xba, 0x3b, 0xdb, 0x8f, 0x76, 0xf6, 0x0e, 0xf6, 0x76, 0x5b, 0x55, 0xb6, 0x00, 0x80, 0xfa, 0xf6, 0xbd, 0xed, 0x47, 0xbb, 0x8f, 0x1f, 0xed, 0xed, 0xb6, 0x6a, 0xee, 0x3f, 0x39,
0xf5, 0xed, 0x7b, 0xdb, 0x8f, 0x76, 0x1f, 0x3f, 0xda, 0xdb, 0x6d, 0xd5, 0xdc, 0x7f, 0x70, 0x60, 0xb0, 0x46, 0xa3, 0xee, 0xe7, 0x05, 0xe4, 0x06, 0x34, 0x7a, 0x51, 0x34, 0xe6, 0xa8, 0xcf, 0xb5,
0x8d, 0x46, 0xdd, 0xcf, 0x0b, 0xc8, 0x0d, 0x68, 0xf4, 0xa2, 0x68, 0xcc, 0x51, 0x9f, 0x6b, 0x95, 0xca, 0x36, 0x21, 0x64, 0x7e, 0xa1, 0x20, 0x4f, 0xa2, 0xb8, 0xc7, 0xa5, 0x7c, 0x00, 0x41, 0xf7,
0x6d, 0x42, 0xc8, 0xfc, 0x42, 0x41, 0x9e, 0x44, 0x71, 0x8f, 0x4b, 0xf9, 0x00, 0x82, 0xee, 0x23, 0x11, 0x41, 0xe6, 0x97, 0xdb, 0x2b, 0x28, 0x84, 0x78, 0x34, 0x04, 0x26, 0x48, 0xd6, 0x61, 0xf6,
0x82, 0xcc, 0x2f, 0xb7, 0x57, 0x50, 0x08, 0xf1, 0x68, 0x08, 0x4c, 0x90, 0xac, 0xc3, 0xec, 0x71, 0x38, 0xe6, 0x7e, 0xef, 0x54, 0x4a, 0x86, 0x2c, 0xb1, 0x4f, 0x66, 0x4e, 0x78, 0x0f, 0x57, 0x7f,
0xcc, 0xfd, 0xde, 0xa9, 0x94, 0x0c, 0x59, 0x62, 0x9f, 0xcc, 0x1c, 0xf4, 0x1e, 0xae, 0xfe, 0x90, 0xc8, 0xfb, 0xc4, 0x31, 0xf3, 0xde, 0x92, 0xc4, 0x77, 0x24, 0x8c, 0x9a, 0xc1, 0x3f, 0xf6, 0xc3,
0xf7, 0x89, 0x63, 0xe6, 0xbd, 0x25, 0x89, 0xef, 0x48, 0x18, 0x35, 0x83, 0x7f, 0xec, 0x87, 0xfd, 0x7e, 0x14, 0xf2, 0x3e, 0x31, 0xcd, 0xbc, 0x97, 0x01, 0xee, 0x21, 0xac, 0xe7, 0xe7, 0x27, 0xe5,
0x28, 0xe4, 0x7d, 0x62, 0x9a, 0x79, 0x2f, 0x03, 0xdc, 0x43, 0x58, 0xcf, 0xcf, 0x4f, 0xca, 0xd7, 0xeb, 0x2d, 0x43, 0xbe, 0x84, 0xb7, 0xdc, 0xb9, 0x78, 0x37, 0x0d, 0x59, 0xfb, 0x37, 0x07, 0xaa,
0x3b, 0x86, 0x7c, 0x09, 0x4f, 0xba, 0x73, 0xf1, 0x6e, 0x1a, 0xb2, 0xf6, 0x2f, 0x0e, 0x54, 0xd1, 0x68, 0x6c, 0x2f, 0x36, 0xcc, 0xa6, 0xff, 0x34, 0x63, 0xf9, 0x4f, 0x14, 0x4e, 0xc0, 0x53, 0x86,
0xd8, 0x5e, 0x6c, 0x98, 0x4d, 0xff, 0x69, 0xc6, 0xf2, 0x9f, 0x28, 0xd4, 0x80, 0x27, 0x10, 0xa1, 0x50, 0xbf, 0xc2, 0x44, 0x19, 0x48, 0x56, 0x1f, 0xf3, 0xde, 0x19, 0xcd, 0x58, 0xd7, 0x23, 0x82,
0x7e, 0x85, 0x89, 0x32, 0x90, 0xac, 0x3e, 0xe6, 0xbd, 0x33, 0x9a, 0xb1, 0xae, 0x47, 0x04, 0x05, 0x02, 0x82, 0xae, 0x28, 0x7d, 0x2d, 0x05, 0x44, 0x95, 0x55, 0x1d, 0x7d, 0x39, 0x97, 0xd5, 0xd1,
0x04, 0xdd, 0x54, 0xfa, 0x5a, 0x0a, 0x88, 0x2a, 0xab, 0x3a, 0xfa, 0x72, 0x2e, 0xab, 0xa3, 0xef, 0x77, 0x6d, 0x98, 0x0b, 0xc2, 0xe3, 0x68, 0x12, 0xf6, 0x49, 0x20, 0xe6, 0x3d, 0x55, 0xc4, 0xe5,
0xda, 0x30, 0x17, 0x84, 0xc7, 0xd1, 0x24, 0xec, 0x93, 0x40, 0xcc, 0x7b, 0xaa, 0x88, 0xcb, 0x37, 0x1b, 0x93, 0xa0, 0x06, 0x23, 0xc5, 0xfe, 0x19, 0xe0, 0x32, 0x3c, 0xaa, 0x24, 0xe4, 0x5c, 0xe8,
0x26, 0x41, 0x0d, 0x46, 0x8a, 0xfd, 0x33, 0xc0, 0x65, 0x78, 0x8c, 0x49, 0xc8, 0xb9, 0xd0, 0x3e, 0x60, 0xc2, 0x5b, 0xb0, 0x6c, 0x60, 0x72, 0x35, 0x5f, 0x85, 0xda, 0x18, 0x01, 0xb9, 0x94, 0x4a,
0xe3, 0x3b, 0xb0, 0x6c, 0x60, 0x72, 0x35, 0x5f, 0x87, 0xda, 0x18, 0x01, 0xb9, 0x94, 0x4a, 0x95, 0x95, 0x93, 0x57, 0x22, 0x6a, 0xdc, 0x16, 0x2c, 0x3e, 0xe0, 0xe9, 0xc3, 0xf0, 0x24, 0x52, 0x2d,
0x93, 0x57, 0x22, 0x6a, 0xdc, 0x16, 0x2c, 0x3e, 0xe0, 0xe9, 0xc3, 0xf0, 0x24, 0x52, 0x2d, 0xfd, 0xfd, 0x70, 0x06, 0x96, 0x34, 0x24, 0x1b, 0xba, 0x05, 0x4b, 0x41, 0x9f, 0x87, 0x69, 0x90, 0x4e,
0x68, 0x06, 0x96, 0x34, 0x24, 0x1b, 0xba, 0x05, 0x4b, 0x41, 0x9f, 0x87, 0x69, 0x90, 0x4e, 0xbb, 0xbb, 0xd6, 0x89, 0x28, 0x0f, 0xa3, 0x37, 0xe7, 0x0f, 0x03, 0x3f, 0x91, 0xfe, 0x82, 0x28, 0xb0,
0xd6, 0x69, 0x29, 0x0f, 0xa3, 0x37, 0xe7, 0x0f, 0x03, 0x3f, 0x91, 0xfe, 0x82, 0x28, 0xb0, 0x2d, 0x2d, 0x58, 0x45, 0x53, 0xa3, 0xac, 0x87, 0xde, 0x62, 0x71, 0x30, 0x2b, 0xad, 0x43, 0x65, 0x80,
0x58, 0x45, 0x53, 0xa3, 0xac, 0x87, 0xde, 0x62, 0x71, 0x68, 0x2b, 0xad, 0x43, 0x65, 0x80, 0xb8, 0xb8, 0xd4, 0xf6, 0xfa, 0x13, 0xe1, 0xd5, 0x94, 0x55, 0xe1, 0xaa, 0x89, 0x96, 0x70, 0xca, 0x35,
0xd4, 0xf6, 0xfa, 0x13, 0xe1, 0xd5, 0x94, 0x55, 0xe1, 0xaa, 0x89, 0x96, 0x70, 0xca, 0x35, 0x61, 0x61, 0x8e, 0x34, 0x50, 0x08, 0x0a, 0xcd, 0x0a, 0x55, 0x95, 0x0f, 0x0a, 0x19, 0x81, 0xa5, 0xf9,
0x8e, 0x34, 0x50, 0x08, 0x18, 0xcd, 0x0a, 0x55, 0x95, 0x0f, 0x18, 0x19, 0x41, 0xa7, 0xf9, 0x42, 0x42, 0x60, 0x09, 0x55, 0xd9, 0x34, 0xec, 0xf1, 0x7e, 0x37, 0x8d, 0xba, 0xa4, 0x72, 0x69, 0x77,
0xd0, 0x09, 0x55, 0xd9, 0x34, 0xec, 0xf1, 0x7e, 0x37, 0x8d, 0xba, 0xa4, 0x72, 0x69, 0x77, 0xe6, 0xe6, 0xbd, 0x3c, 0x4c, 0x21, 0x30, 0x9e, 0xa4, 0x21, 0x4f, 0x49, 0x2b, 0xcd, 0x7b, 0xaa, 0x88,
0xbd, 0x3c, 0x4c, 0xe1, 0x31, 0x9e, 0xa4, 0x21, 0x4f, 0x49, 0x2b, 0xcd, 0x7b, 0xaa, 0x88, 0xd2, 0xd2, 0x45, 0x24, 0xc2, 0x80, 0xd4, 0x3d, 0x59, 0x42, 0xb7, 0x74, 0x12, 0x07, 0x49, 0xbb, 0x49,
0x45, 0x24, 0xc2, 0x80, 0xd4, 0x3d, 0x59, 0x42, 0xb7, 0x74, 0x12, 0x07, 0x49, 0xbb, 0x49, 0x28, 0x28, 0xfd, 0x66, 0x9f, 0x86, 0xb5, 0x63, 0x9e, 0xa4, 0xdd, 0x53, 0xee, 0xf7, 0x79, 0x4c, 0xbb,
0xfd, 0x66, 0x9f, 0x86, 0xb5, 0x63, 0x9e, 0xa4, 0xdd, 0x53, 0xee, 0xf7, 0x79, 0x4c, 0xbb, 0x2f, 0x2f, 0xe2, 0x55, 0xc2, 0xda, 0x97, 0x57, 0x62, 0xdf, 0x67, 0x3c, 0x4e, 0x82, 0x28, 0x24, 0x3b,
0x62, 0x59, 0xc2, 0xda, 0x97, 0x57, 0x62, 0xdf, 0x67, 0x3c, 0x4e, 0x82, 0x28, 0x24, 0x3b, 0x5f, 0x5f, 0xf7, 0x54, 0xd1, 0xfd, 0x16, 0x79, 0xcf, 0x3a, 0x92, 0xf6, 0x3e, 0x99, 0x7e, 0xf6, 0x12,
0xf7, 0x54, 0xd1, 0xfd, 0x26, 0x79, 0xcf, 0x3a, 0xca, 0xf6, 0x21, 0x99, 0x7e, 0xf6, 0x0a, 0xd4, 0xd4, 0xc5, 0x1c, 0x93, 0x53, 0x5f, 0x3a, 0xf4, 0xf3, 0x04, 0x1c, 0x9d, 0xfa, 0xa8, 0x2f, 0xac,
0xc5, 0x1c, 0x93, 0x53, 0x5f, 0x3a, 0xf4, 0xf3, 0x04, 0x1c, 0x9d, 0xfa, 0xa8, 0x2f, 0xac, 0x65, 0x65, 0x13, 0xa1, 0xc9, 0x06, 0x61, 0xfb, 0x62, 0xd5, 0x5e, 0x83, 0x45, 0x15, 0xa3, 0x4b, 0xba,
0x13, 0x61, 0xcb, 0x06, 0x61, 0xfb, 0x62, 0xd5, 0xde, 0x80, 0x45, 0x15, 0xbf, 0x4b, 0xba, 0x43, 0x43, 0x7e, 0x92, 0xaa, 0x03, 0x77, 0x38, 0x19, 0x61, 0x77, 0xc9, 0x01, 0x3f, 0x49, 0xdd, 0x47,
0x7e, 0x92, 0xaa, 0xc3, 0x78, 0x38, 0x19, 0x61, 0x77, 0xc9, 0x01, 0x3f, 0x49, 0xdd, 0x47, 0xb0, 0xb0, 0x2c, 0x65, 0xf8, 0xf1, 0x98, 0xab, 0xae, 0x3f, 0x5b, 0x66, 0x0b, 0x1b, 0x5b, 0x2b, 0xb6,
0x2c, 0x65, 0xf8, 0xf1, 0x98, 0xab, 0xae, 0x3f, 0x5b, 0x66, 0x0b, 0x1b, 0x5b, 0x2b, 0xb6, 0xd0, 0xd0, 0x53, 0xd4, 0x20, 0x67, 0x20, 0x5d, 0x0f, 0x98, 0xa9, 0x13, 0x64, 0x83, 0xd2, 0x20, 0xa9,
0x53, 0x44, 0x21, 0x67, 0x20, 0x5d, 0x0f, 0x98, 0xa9, 0x13, 0x64, 0x83, 0xd2, 0x20, 0xa9, 0x23, 0x63, 0xbd, 0x9c, 0x8e, 0x85, 0xe1, 0xfa, 0x24, 0x93, 0x5e, 0x0f, 0x35, 0x81, 0xd0, 0x8f, 0xaa,
0xbf, 0x9c, 0x8e, 0x85, 0xe1, 0xfa, 0x24, 0x93, 0x5e, 0x0f, 0x35, 0x81, 0xd0, 0x8f, 0xaa, 0xe8, 0xe8, 0x7e, 0xdf, 0x81, 0x15, 0x6a, 0x4d, 0x59, 0x73, 0x7d, 0x16, 0x7c, 0xf1, 0x61, 0x36, 0x7b,
0x7e, 0xdf, 0x81, 0x15, 0x6a, 0x4d, 0x59, 0x73, 0x7d, 0x4e, 0x7c, 0xf9, 0x61, 0x36, 0x7b, 0x66, 0x66, 0xa8, 0x63, 0x15, 0x6a, 0xa6, 0x26, 0x16, 0x85, 0x1f, 0xfd, 0x74, 0x5b, 0x2d, 0x9c, 0x6e,
0x18, 0x64, 0x15, 0x6a, 0xa6, 0x26, 0x16, 0x85, 0x1f, 0xff, 0xe4, 0x5b, 0x2d, 0x9c, 0x7c, 0x7f, 0x7f, 0xe8, 0xc0, 0xb2, 0x50, 0x86, 0xa9, 0x9f, 0x4e, 0x12, 0x39, 0xfd, 0x9f, 0x83, 0x05, 0x61,
0xe4, 0xc0, 0xb2, 0x50, 0x86, 0xa9, 0x9f, 0x4e, 0x12, 0x39, 0xfd, 0xff, 0x03, 0x0b, 0xc2, 0xaa, 0xd5, 0xa4, 0x38, 0xc9, 0x81, 0xae, 0x6a, 0xc9, 0x27, 0x54, 0x10, 0xef, 0x5f, 0xf1, 0x6c, 0x62,
0x49, 0x71, 0x92, 0x03, 0x5d, 0xd5, 0x92, 0x4f, 0xa8, 0x20, 0xde, 0xbf, 0xe2, 0xd9, 0xc4, 0xec, 0xf6, 0x79, 0x68, 0x9a, 0x81, 0x56, 0x1a, 0x73, 0x63, 0xeb, 0xaa, 0x9a, 0x65, 0x81, 0x73, 0xf6,
0xf3, 0xd0, 0x34, 0x83, 0xb0, 0x34, 0xe6, 0xc6, 0xd6, 0x55, 0x35, 0xcb, 0x02, 0xe7, 0xec, 0x5f, 0xaf, 0x78, 0xd6, 0x07, 0xec, 0x5d, 0x72, 0x4d, 0xc2, 0x2e, 0x35, 0x2b, 0x43, 0x55, 0x57, 0x4b,
0xf1, 0xac, 0x0f, 0xd8, 0xfb, 0xe4, 0x9a, 0x84, 0x5d, 0x6a, 0x56, 0x86, 0xb1, 0xae, 0x96, 0x28, 0x14, 0xb8, 0xfe, 0xdc, 0x20, 0xbf, 0x37, 0x0f, 0xb3, 0xc2, 0x17, 0x75, 0x1f, 0xc0, 0x82, 0x35,
0x70, 0xfd, 0xb9, 0x41, 0x7e, 0x6f, 0x1e, 0x66, 0x85, 0x2f, 0xea, 0x3e, 0x80, 0x05, 0x6b, 0xa4, 0x52, 0xeb, 0xd4, 0xde, 0x14, 0xa7, 0xf6, 0x42, 0x90, 0xa7, 0x52, 0x0c, 0xf2, 0xb8, 0xdf, 0x9e,
0xd6, 0x89, 0xbe, 0x29, 0x4e, 0xf4, 0x85, 0x00, 0x50, 0xa5, 0x18, 0x00, 0x72, 0xbf, 0x35, 0x03, 0x01, 0x86, 0xdc, 0x96, 0xdb, 0x4e, 0x74, 0x86, 0xa3, 0xbe, 0x75, 0xb4, 0x69, 0x7a, 0x26, 0xc4,
0x0c, 0xb9, 0x2d, 0xb7, 0x9d, 0xe8, 0x0c, 0x47, 0x7d, 0xeb, 0x68, 0xd3, 0xf4, 0x4c, 0x88, 0xdd, 0x6e, 0x03, 0x33, 0x8a, 0x2a, 0x0e, 0x26, 0xec, 0x46, 0x49, 0x0d, 0x2a, 0x38, 0x69, 0x76, 0xa5,
0x06, 0x66, 0x14, 0x55, 0x8c, 0x4c, 0xd8, 0x8d, 0x92, 0x1a, 0x54, 0x70, 0xd2, 0xec, 0x4a, 0x03, 0x81, 0x94, 0x87, 0x38, 0xb1, 0x6f, 0xa5, 0x75, 0x68, 0x1a, 0xc6, 0x93, 0xe4, 0x14, 0x9d, 0x75,
0x29, 0x0f, 0x71, 0x62, 0xdf, 0x4a, 0xeb, 0xd0, 0x34, 0x8c, 0x27, 0xc9, 0x29, 0x3a, 0xeb, 0xea, 0x75, 0xf8, 0x51, 0xe5, 0x3c, 0x83, 0xcc, 0x5e, 0xca, 0x20, 0x73, 0x79, 0x06, 0x31, 0xdd, 0xef,
0xf0, 0xa3, 0xca, 0x79, 0x06, 0x99, 0xbd, 0x94, 0x41, 0xe6, 0xf2, 0x0c, 0x62, 0xba, 0xdf, 0xf3, 0x79, 0xcb, 0xfd, 0x46, 0xb7, 0x6f, 0x84, 0xce, 0x62, 0x3a, 0xec, 0x75, 0x47, 0xd8, 0xbb, 0x3c,
0x96, 0xfb, 0x8d, 0x6e, 0xdf, 0x08, 0x9d, 0xc5, 0x74, 0xd8, 0xeb, 0x8e, 0xb0, 0x77, 0x79, 0xd6, 0xeb, 0x58, 0x20, 0xdb, 0x84, 0x96, 0x74, 0x14, 0x32, 0x1f, 0x1f, 0x68, 0x8d, 0x0b, 0x38, 0x6a,
0xb1, 0x40, 0xb6, 0x09, 0x2d, 0xe9, 0x28, 0x64, 0x3e, 0x3e, 0xd0, 0x1a, 0x17, 0x70, 0xd4, 0xbc, 0x5e, 0xfc, 0x98, 0x34, 0x00, 0x9d, 0x77, 0x6a, 0x5e, 0x06, 0xb8, 0x1f, 0x3b, 0xd0, 0xc2, 0x5d,
0xf8, 0x31, 0x69, 0x00, 0x3a, 0xef, 0xd4, 0xbc, 0x0c, 0x70, 0x7f, 0xe8, 0x40, 0x0b, 0x77, 0xc1, 0xb0, 0x38, 0xf5, 0x1d, 0x20, 0x41, 0x79, 0x41, 0x46, 0xb5, 0x68, 0x7f, 0x72, 0x3e, 0x7d, 0x1b,
0xe2, 0xd4, 0xf7, 0x80, 0x04, 0xe5, 0x25, 0x19, 0xd5, 0xa2, 0xfd, 0xe9, 0xf9, 0xf4, 0x5d, 0xa8, 0xea, 0xd4, 0x60, 0x34, 0xe6, 0xa1, 0x64, 0xd3, 0xb6, 0xcd, 0xa6, 0x99, 0x8e, 0xda, 0xbf, 0xe2,
0x53, 0x83, 0xd1, 0x98, 0x87, 0x92, 0x4d, 0xdb, 0x36, 0x9b, 0x66, 0x3a, 0x6a, 0xff, 0x8a, 0x97, 0x65, 0xc4, 0x06, 0x93, 0xfe, 0x83, 0x03, 0x0d, 0x39, 0xcc, 0x1f, 0xfb, 0x54, 0xdf, 0x81, 0x79,
0x11, 0x1b, 0x4c, 0xfa, 0x77, 0x0e, 0x34, 0xe4, 0x30, 0x7f, 0xe2, 0x53, 0x7d, 0x07, 0xe6, 0x91, 0xe4, 0x57, 0xe3, 0xe8, 0xac, 0xcb, 0x68, 0x6b, 0x46, 0x7e, 0x3a, 0x89, 0xd1, 0xb8, 0x5a, 0x27,
0x5f, 0x8d, 0xa3, 0xb3, 0x2e, 0xa3, 0xad, 0x19, 0xf9, 0xe9, 0x24, 0x46, 0xe3, 0x6a, 0x9d, 0xe8, 0xfa, 0x3c, 0x8c, 0x96, 0x92, 0xd4, 0x71, 0xd2, 0x4d, 0x83, 0x61, 0x57, 0xd5, 0xca, 0x5b, 0x8f,
0xf3, 0x30, 0x5a, 0x4a, 0x52, 0xc7, 0x49, 0x37, 0x0d, 0x86, 0x5d, 0x55, 0x2b, 0x6f, 0x44, 0xca, 0xb2, 0x2a, 0xd4, 0x4a, 0x49, 0xea, 0x0f, 0xb8, 0x34, 0x82, 0xa2, 0xe0, 0xb6, 0x61, 0x5d, 0x4e,
0xaa, 0x50, 0x2b, 0x25, 0xa9, 0x3f, 0xe0, 0xd2, 0x08, 0x8a, 0x82, 0xdb, 0x86, 0x75, 0x39, 0xa1, 0x28, 0xe7, 0x77, 0xba, 0x7f, 0xdd, 0x84, 0x8d, 0x42, 0x95, 0xbe, 0x36, 0x94, 0x47, 0xd5, 0x61,
0x9c, 0xdf, 0xe9, 0xfe, 0x65, 0x13, 0x36, 0x0a, 0x55, 0xfa, 0x4a, 0x51, 0x1e, 0x55, 0x87, 0xc1, 0x30, 0x3a, 0x8e, 0xb4, 0xd3, 0xee, 0x98, 0xa7, 0x58, 0xab, 0x8a, 0x0d, 0x60, 0x4d, 0x59, 0x7b,
0xe8, 0x38, 0xd2, 0x4e, 0xbb, 0x63, 0x9e, 0x62, 0xad, 0x2a, 0x36, 0x80, 0x35, 0x65, 0xed, 0x71, 0x5c, 0xd3, 0xcc, 0xb6, 0x57, 0xc8, 0x4d, 0x79, 0xd3, 0xe6, 0x81, 0x7c, 0x87, 0x0a, 0x37, 0xe5,
0x4d, 0x33, 0xdb, 0x5e, 0x21, 0x37, 0xe5, 0x6d, 0x9b, 0x07, 0xf2, 0x1d, 0x2a, 0xdc, 0x94, 0xeb, 0xba, 0xbc, 0x3d, 0x76, 0x0a, 0x6d, 0xed, 0x56, 0x48, 0x03, 0x60, 0xb8, 0x1e, 0xd8, 0xd7, 0x1b,
0xf2, 0xf6, 0xd8, 0x29, 0xb4, 0xb5, 0x5b, 0x21, 0x0d, 0x80, 0xe1, 0x7a, 0x60, 0x5f, 0x6f, 0x5d, 0x97, 0xf4, 0x65, 0xb9, 0xa9, 0xde, 0x85, 0xad, 0xb1, 0x29, 0x5c, 0x57, 0x75, 0xa4, 0xe1, 0x8b,
0xd2, 0x97, 0xe5, 0xa6, 0x7a, 0x17, 0xb6, 0xc6, 0xa6, 0x70, 0x5d, 0xd5, 0x91, 0x86, 0x2f, 0xf6, 0xfd, 0x55, 0x5f, 0x68, 0x6e, 0xe4, 0x80, 0xdb, 0x9d, 0x5e, 0xd2, 0x30, 0xfb, 0x06, 0xac, 0x9f,
0x57, 0x7d, 0xa9, 0xb9, 0x91, 0x03, 0x6e, 0x77, 0x7a, 0x49, 0xc3, 0xec, 0xeb, 0xb0, 0x7e, 0xee, 0xfb, 0x41, 0xaa, 0x86, 0x65, 0xb8, 0x4a, 0x35, 0xea, 0x72, 0xeb, 0x92, 0x2e, 0x3f, 0x10, 0x1f,
0x07, 0xa9, 0x1a, 0x96, 0xe1, 0x2a, 0xd5, 0xa8, 0xcb, 0xad, 0x4b, 0xba, 0x7c, 0x2a, 0x3e, 0xb6, 0x5b, 0x66, 0xef, 0x82, 0x16, 0x3b, 0x7f, 0xe7, 0xc0, 0xa2, 0xdd, 0x0e, 0xb2, 0xa9, 0x54, 0x07,
0xcc, 0xde, 0x05, 0x2d, 0x76, 0xfe, 0xc6, 0x81, 0x45, 0xbb, 0x1d, 0x64, 0x53, 0xa9, 0x0e, 0x94, 0x4a, 0x2d, 0x2a, 0xd7, 0x30, 0x07, 0x17, 0xcf, 0xbd, 0x95, 0xb2, 0x73, 0xaf, 0x79, 0xda, 0x9c,
0x5a, 0x54, 0xae, 0x61, 0x0e, 0x2e, 0x9e, 0x7b, 0x2b, 0x65, 0xe7, 0x5e, 0xf3, 0xb4, 0x39, 0x73, 0xb9, 0x2c, 0x24, 0x54, 0x7d, 0xb1, 0x90, 0x50, 0xad, 0x2c, 0x24, 0xd4, 0xf9, 0x2f, 0x07, 0x58,
0x59, 0x48, 0xa8, 0xfa, 0x72, 0x21, 0xa1, 0x5a, 0x59, 0x48, 0xa8, 0xf3, 0x1f, 0x0e, 0xb0, 0x22, 0x91, 0x97, 0xd8, 0x03, 0x71, 0xf0, 0x0e, 0xf9, 0x50, 0xea, 0xa4, 0xff, 0xff, 0x62, 0xfc, 0xa8,
0x2f, 0xb1, 0x07, 0xe2, 0xe0, 0x1d, 0xf2, 0xa1, 0xd4, 0x49, 0xff, 0xfb, 0xe5, 0xf8, 0x51, 0xad, 0xd6, 0x4e, 0x7d, 0x8d, 0x82, 0x61, 0x2a, 0x1d, 0xd3, 0x81, 0x5a, 0xf0, 0xca, 0xaa, 0x72, 0x41,
0x9d, 0xfa, 0x1a, 0x05, 0xc3, 0x54, 0x3a, 0xa6, 0x03, 0xb5, 0xe0, 0x95, 0x55, 0xe5, 0x82, 0x54, 0xaa, 0xea, 0xe5, 0x41, 0xaa, 0xda, 0xe5, 0x41, 0xaa, 0xd9, 0x7c, 0x90, 0xaa, 0xf3, 0x1b, 0x0e,
0xd5, 0xcb, 0x83, 0x54, 0xb5, 0xcb, 0x83, 0x54, 0xb3, 0xf9, 0x20, 0x55, 0xe7, 0xd7, 0x1d, 0x58, 0xac, 0x94, 0x6c, 0xfa, 0x4f, 0x6f, 0xe2, 0xb8, 0x4d, 0x96, 0x2e, 0xa8, 0xc8, 0x6d, 0x32, 0xc1,
0x29, 0xd9, 0xf4, 0x9f, 0xdd, 0xc4, 0x71, 0x9b, 0x2c, 0x5d, 0x50, 0x91, 0xdb, 0x64, 0x82, 0x9d, 0xce, 0xaf, 0xc0, 0x82, 0xc5, 0xe8, 0x3f, 0xbd, 0xfe, 0xf3, 0x3e, 0xa0, 0xe0, 0x33, 0x0b, 0xeb,
0x5f, 0x86, 0x05, 0x8b, 0xd1, 0x7f, 0x76, 0xfd, 0xe7, 0x7d, 0x40, 0xc1, 0x67, 0x16, 0xd6, 0xf9, 0xfc, 0x7b, 0x05, 0x58, 0x51, 0xd8, 0xfe, 0x4f, 0xc7, 0x50, 0x5c, 0xa7, 0x99, 0x92, 0x75, 0xfa,
0xd7, 0x0a, 0xb0, 0xa2, 0xb0, 0xfd, 0x8f, 0x8e, 0xa1, 0xb8, 0x4e, 0x33, 0x25, 0xeb, 0xf4, 0x73, 0x99, 0xda, 0x81, 0x37, 0x60, 0x59, 0xe6, 0x18, 0x18, 0xe1, 0x16, 0xc1, 0x31, 0xc5, 0x0a, 0xf4,
0xb5, 0x03, 0x6f, 0xc1, 0xb2, 0xcc, 0x3f, 0x30, 0xc2, 0x2d, 0x82, 0x63, 0x8a, 0x15, 0xe8, 0x05, 0x82, 0xed, 0x08, 0xe1, 0xbc, 0x75, 0x37, 0x6d, 0x18, 0xc3, 0x5c, 0xa0, 0xd0, 0x5d, 0x87, 0x55,
0xdb, 0x11, 0xc2, 0x79, 0xeb, 0xde, 0xda, 0x30, 0x86, 0xb9, 0x40, 0xa1, 0xbb, 0x0e, 0xab, 0x22, 0x91, 0xb3, 0x70, 0x4f, 0x34, 0xa5, 0xec, 0xca, 0x1f, 0x39, 0xb0, 0x96, 0xab, 0xc8, 0x6e, 0x52,
0x9f, 0xe1, 0x9e, 0x68, 0x4a, 0xd9, 0x95, 0x3f, 0x74, 0x60, 0x2d, 0x57, 0x91, 0xdd, 0xb2, 0x0a, 0x85, 0xe9, 0xb0, 0xed, 0x89, 0x0d, 0xe2, 0xf8, 0xa5, 0x1c, 0x19, 0xe3, 0x17, 0xdc, 0x56, 0xac,
0xd3, 0x61, 0xdb, 0x13, 0x1b, 0xc4, 0xf1, 0x4b, 0x39, 0x32, 0xc6, 0x2f, 0xb8, 0xad, 0x58, 0x81, 0xc0, 0xf5, 0x99, 0x84, 0x45, 0x7a, 0xb1, 0xea, 0x65, 0x55, 0xee, 0x86, 0xc8, 0xac, 0x08, 0xf9,
0xeb, 0x33, 0x09, 0x8b, 0xf4, 0x62, 0xd5, 0xcb, 0xaa, 0xdc, 0x0d, 0x91, 0x75, 0x11, 0xf2, 0x61, 0x30, 0x37, 0xf0, 0x13, 0x91, 0x0b, 0x61, 0x56, 0x64, 0xd7, 0x34, 0xf6, 0x90, 0x55, 0x11, 0x7d,
0x6e, 0xe0, 0x27, 0x22, 0x4f, 0xc2, 0xac, 0xc8, 0xae, 0x69, 0xec, 0x21, 0xab, 0x22, 0xfa, 0x88, 0x44, 0xcb, 0x4c, 0xd9, 0xe3, 0x2d, 0xad, 0x73, 0x7f, 0xe0, 0x00, 0xfb, 0xd2, 0x84, 0xc7, 0x53,
0x96, 0x99, 0xb2, 0xc7, 0x5b, 0x5a, 0xe7, 0xfe, 0xc0, 0x01, 0xf6, 0xa5, 0x09, 0x8f, 0xa7, 0x74, 0xba, 0x51, 0xd5, 0x71, 0xa0, 0x8d, 0x7c, 0x94, 0x63, 0x76, 0x3c, 0x39, 0xfe, 0x22, 0x9f, 0xaa,
0xdb, 0xaa, 0xe3, 0x40, 0x1b, 0xf9, 0x28, 0xc7, 0xec, 0x78, 0x72, 0xfc, 0x45, 0x3e, 0x55, 0x77, 0x7b, 0xf7, 0x4a, 0x76, 0xef, 0xfe, 0x32, 0x00, 0x1e, 0xce, 0xf4, 0x35, 0x2d, 0xf9, 0x66, 0xe1,
0xf2, 0x95, 0xec, 0x4e, 0xfe, 0x55, 0x00, 0x3c, 0x9c, 0xe9, 0x2b, 0x5c, 0xf2, 0xcd, 0xc2, 0xc9, 0x64, 0x24, 0x1a, 0x2c, 0xbd, 0x1a, 0xaf, 0x5e, 0x7e, 0x35, 0x5e, 0xbb, 0xec, 0x6a, 0xfc, 0x5d,
0x48, 0x34, 0x58, 0x7a, 0x6d, 0x5e, 0xbd, 0xfc, 0xda, 0xbc, 0x76, 0xd9, 0xb5, 0xf9, 0xfb, 0xb0, 0x58, 0xb1, 0xc6, 0xad, 0xb7, 0x55, 0x5d, 0x18, 0x3b, 0xcf, 0xb9, 0x30, 0xfe, 0x0f, 0x07, 0x66,
0x62, 0x8d, 0x5b, 0x6f, 0xab, 0xba, 0x4c, 0x76, 0x5e, 0x70, 0x99, 0xfc, 0x6f, 0x0e, 0xcc, 0xec, 0xf6, 0xa3, 0xb1, 0x19, 0x03, 0x75, 0xec, 0x18, 0xa8, 0xb4, 0x25, 0x5d, 0x6d, 0x2a, 0xa4, 0x8a,
0x47, 0x63, 0x33, 0x06, 0xea, 0xd8, 0x31, 0x50, 0x69, 0x4b, 0xba, 0xda, 0x54, 0x48, 0x15, 0x63, 0xb1, 0x40, 0xb6, 0x09, 0x8b, 0xfe, 0x28, 0xc5, 0x43, 0xf9, 0x49, 0x14, 0x9f, 0xfb, 0x71, 0x5f,
0x81, 0x6c, 0x13, 0x16, 0xfd, 0x51, 0x8a, 0x87, 0xf2, 0x93, 0x28, 0x3e, 0xf7, 0xe3, 0xbe, 0xd8, 0xec, 0xf5, 0xbd, 0x4a, 0xdb, 0xf1, 0x72, 0x35, 0x6c, 0x15, 0x66, 0xb4, 0xd2, 0x25, 0x02, 0x2c,
0xeb, 0x7b, 0x95, 0xb6, 0xe3, 0xe5, 0x6a, 0xd8, 0x2a, 0xcc, 0x68, 0xa5, 0x4b, 0x04, 0x58, 0x44, 0xa2, 0xe3, 0x46, 0xf7, 0x27, 0x53, 0x19, 0x4f, 0x90, 0x25, 0x64, 0x25, 0xfb, 0x7b, 0xe1, 0x48,
0xc7, 0x8d, 0xee, 0x4f, 0xa6, 0x32, 0x9e, 0x20, 0x4b, 0xc8, 0x4a, 0xf6, 0xf7, 0xc2, 0x91, 0x16, 0x0b, 0xd1, 0x29, 0xab, 0x42, 0xbb, 0x86, 0xcb, 0x47, 0x64, 0x32, 0x10, 0xa4, 0xca, 0xee, 0xbf,
0xa2, 0x53, 0x56, 0x85, 0x76, 0x0d, 0x97, 0x8f, 0xc8, 0x64, 0x20, 0x48, 0x95, 0xdd, 0x7f, 0x76, 0x3a, 0x50, 0xa3, 0x15, 0x40, 0x61, 0x17, 0x1c, 0xae, 0x83, 0x9d, 0x34, 0xf3, 0x05, 0x2f, 0x0f,
0xa0, 0x46, 0x2b, 0x80, 0xc2, 0x2e, 0x38, 0x5c, 0x07, 0x3b, 0x69, 0xe6, 0x0b, 0x5e, 0x1e, 0x66, 0x33, 0xd7, 0xca, 0x4f, 0xa9, 0xe8, 0x61, 0x9b, 0x39, 0x2a, 0x37, 0xa0, 0x2e, 0x4a, 0x3a, 0x17,
0xae, 0x95, 0xbb, 0x52, 0xd1, 0xc3, 0x36, 0xf3, 0x57, 0x6e, 0x40, 0x5d, 0x94, 0x74, 0x9e, 0x06, 0x83, 0x48, 0x32, 0x90, 0x5d, 0x87, 0xea, 0x69, 0x34, 0x56, 0xde, 0x09, 0xa8, 0x58, 0x7f, 0x34,
0x91, 0x64, 0x20, 0xbb, 0x0e, 0xd5, 0xd3, 0x68, 0xac, 0xbc, 0x13, 0x50, 0xb1, 0xfe, 0x68, 0xec, 0xf6, 0x08, 0xcf, 0xc6, 0x83, 0xed, 0x89, 0xc1, 0x0b, 0x9b, 0x93, 0x87, 0xd1, 0xea, 0xea, 0x66,
0x11, 0x9e, 0x8d, 0x07, 0xdb, 0x13, 0x83, 0x17, 0x36, 0x27, 0x0f, 0xa3, 0xd5, 0xd5, 0xcd, 0x9a, 0xcd, 0xc5, 0xc8, 0xa1, 0xee, 0x26, 0x2c, 0x3d, 0x8a, 0xfa, 0xdc, 0x88, 0x38, 0x5d, 0xc8, 0xcd,
0x8b, 0x91, 0x43, 0xdd, 0x4d, 0x58, 0x7a, 0x14, 0xf5, 0xb9, 0x11, 0x71, 0xba, 0x90, 0x9b, 0xdd, 0xee, 0xaf, 0x3a, 0x30, 0xaf, 0x88, 0xd9, 0x2d, 0xa8, 0xa2, 0x2b, 0x91, 0x3b, 0x28, 0xe8, 0x3b,
0x5f, 0x71, 0x60, 0x5e, 0x11, 0xb3, 0x5b, 0x50, 0x45, 0x57, 0x22, 0x77, 0x50, 0xd0, 0x77, 0x7c, 0x3e, 0xa4, 0xf3, 0x88, 0x02, 0x75, 0x2f, 0xc5, 0x23, 0x32, 0xb7, 0x52, 0x45, 0x23, 0x32, 0xaf,
0x48, 0xe7, 0x11, 0x05, 0xea, 0x5e, 0x8a, 0x47, 0x64, 0x6e, 0xa5, 0x8a, 0x46, 0x64, 0x5e, 0x93, 0x49, 0x0f, 0x37, 0xe7, 0x6c, 0xe4, 0x50, 0xf7, 0xcf, 0x1d, 0x58, 0xb0, 0xfa, 0xc0, 0xc3, 0xe3,
0x1e, 0x6e, 0xce, 0xd9, 0xc8, 0xa1, 0xee, 0x9f, 0x3a, 0xb0, 0x60, 0xf5, 0x81, 0x87, 0xc7, 0xa1, 0xd0, 0x4f, 0x52, 0x79, 0x6f, 0x22, 0xb7, 0xc7, 0x84, 0xcc, 0x18, 0x64, 0xc5, 0x8e, 0x41, 0xea,
0x9f, 0xa4, 0xf2, 0xde, 0x44, 0x6e, 0x8f, 0x09, 0x99, 0x31, 0xc8, 0x8a, 0x1d, 0x83, 0xd4, 0xd1, 0xe8, 0xd8, 0x8c, 0x19, 0x1d, 0xbb, 0x0b, 0xf5, 0x2c, 0x8b, 0xa8, 0x6a, 0xe9, 0x54, 0xec, 0x51,
0xb1, 0x19, 0x33, 0x3a, 0x76, 0x17, 0xea, 0x59, 0x86, 0x51, 0xd5, 0xd2, 0xa9, 0xd8, 0xa3, 0xba, 0xdd, 0x5e, 0x66, 0x44, 0xd8, 0x4e, 0x2f, 0x1a, 0x46, 0xb1, 0x0c, 0xd8, 0x8b, 0x82, 0xfb, 0x2e,
0xbd, 0xcc, 0x88, 0xb0, 0x9d, 0x5e, 0x34, 0x8c, 0x62, 0x19, 0xb0, 0x17, 0x05, 0xf7, 0x7d, 0x68, 0x34, 0x0c, 0x7a, 0x1c, 0x46, 0xc8, 0xd3, 0xf3, 0x28, 0x7e, 0xaa, 0x42, 0xa1, 0xb2, 0xa8, 0x2f,
0x18, 0xf4, 0x38, 0x8c, 0x90, 0xa7, 0xe7, 0x51, 0xfc, 0x4c, 0x85, 0x42, 0x65, 0x51, 0x5f, 0xd2, 0xe2, 0x2b, 0xd9, 0x45, 0xbc, 0xfb, 0xb7, 0x0e, 0x2c, 0x20, 0x0f, 0x06, 0xe1, 0xe0, 0x30, 0x1a,
0x57, 0xb2, 0x4b, 0x7a, 0xf7, 0xaf, 0x1d, 0x58, 0x40, 0x1e, 0x0c, 0xc2, 0xc1, 0x61, 0x34, 0x0c, 0x06, 0xbd, 0x29, 0xed, 0xbd, 0x62, 0x37, 0xa9, 0x19, 0x14, 0x2f, 0xda, 0x30, 0xf2, 0xb6, 0x3a,
0x7a, 0x53, 0xda, 0x7b, 0xc5, 0x6e, 0x52, 0x33, 0x28, 0x5e, 0xb4, 0x61, 0xe4, 0x6d, 0x75, 0x76, 0x3b, 0x4a, 0x41, 0xd4, 0x65, 0x94, 0x54, 0xe4, 0xf3, 0x63, 0x3f, 0x91, 0xcc, 0x2f, 0x8d, 0x9c,
0x94, 0x82, 0xa8, 0xcb, 0x28, 0xa9, 0xc8, 0xe7, 0xc7, 0x7e, 0x22, 0x99, 0x5f, 0x1a, 0x39, 0x0b, 0x05, 0xa2, 0x3c, 0x21, 0x10, 0xfb, 0x29, 0xef, 0x8e, 0x82, 0xe1, 0x30, 0x10, 0xb4, 0xc2, 0x05,
0x44, 0x79, 0x42, 0x20, 0xf6, 0x53, 0xde, 0x1d, 0x05, 0xc3, 0x61, 0x20, 0x68, 0x85, 0x0b, 0x54, 0x2a, 0xab, 0xc2, 0x3e, 0xfb, 0x41, 0xe2, 0x1f, 0x67, 0x41, 0x68, 0x5d, 0x76, 0xff, 0xb2, 0x02,
0x56, 0x85, 0x7d, 0xf6, 0x83, 0xc4, 0x3f, 0xce, 0x82, 0xd0, 0xba, 0xec, 0xfe, 0x79, 0x05, 0x1a, 0x0d, 0xa9, 0x9e, 0xf7, 0xfa, 0x03, 0x2e, 0x6f, 0x4c, 0xc8, 0xc9, 0xd4, 0xaa, 0xc4, 0x40, 0x54,
0x52, 0x3d, 0xef, 0xf5, 0x07, 0x5c, 0xde, 0x98, 0x90, 0x93, 0xa9, 0x55, 0x89, 0x81, 0xa8, 0x7a, 0xbd, 0xe5, 0x96, 0x1a, 0x48, 0x7e, 0xcb, 0x67, 0x8a, 0x5b, 0x7e, 0x0d, 0xea, 0xc8, 0x7a, 0x6f,
0xcb, 0x2d, 0x35, 0x90, 0xfc, 0x96, 0xcf, 0x14, 0xb7, 0xfc, 0x1a, 0xd4, 0x91, 0xf5, 0xde, 0x26, 0x92, 0xff, 0x2b, 0x6e, 0x5b, 0x32, 0x40, 0xd5, 0x6e, 0x51, 0x6d, 0x2d, 0xab, 0x25, 0xe0, 0xb9,
0xff, 0x57, 0xdc, 0xb6, 0x64, 0x80, 0xaa, 0xdd, 0xa2, 0xda, 0x5a, 0x56, 0x4b, 0xc0, 0x0b, 0xef, 0xf7, 0x2b, 0x6f, 0x43, 0x53, 0x36, 0x43, 0x7b, 0x42, 0x9a, 0x23, 0x63, 0x7e, 0x6b, 0xbf, 0x3c,
0x57, 0xde, 0x85, 0xa6, 0x6c, 0x86, 0xf6, 0x84, 0x34, 0x47, 0xc6, 0xfc, 0xd6, 0x7e, 0x79, 0x16, 0x8b, 0x52, 0x7d, 0xb9, 0xa5, 0xbe, 0x9c, 0xbf, 0xec, 0x4b, 0x45, 0x49, 0x77, 0xe1, 0x62, 0x6d,
0xa5, 0xfa, 0x72, 0x4b, 0x7d, 0x39, 0x7f, 0xd9, 0x97, 0x8a, 0x92, 0xee, 0xc2, 0xc5, 0xda, 0x3c, 0x1e, 0xc4, 0xfe, 0xf8, 0x54, 0x99, 0xbc, 0xbe, 0x4e, 0xe2, 0x21, 0x98, 0x6d, 0x42, 0x0d, 0x3f,
0x88, 0xfd, 0xf1, 0xa9, 0x32, 0x79, 0x7d, 0x9d, 0xe0, 0x43, 0x30, 0xdb, 0x84, 0x1a, 0x7e, 0xa6, 0x53, 0x9a, 0xbc, 0x5c, 0x20, 0x05, 0x09, 0xbb, 0x05, 0x35, 0xde, 0x1f, 0x70, 0x75, 0xc2, 0x63,
0x34, 0x79, 0xb9, 0x40, 0x0a, 0x12, 0x76, 0x0b, 0x6a, 0xbc, 0x3f, 0xe0, 0xea, 0x84, 0xc7, 0xec, 0xf6, 0x59, 0x1b, 0xf7, 0xc8, 0x13, 0x04, 0xa8, 0x1e, 0x10, 0xcd, 0xa9, 0x07, 0xdb, 0x0a, 0xcc,
0xb3, 0x36, 0xee, 0x91, 0x27, 0x08, 0x50, 0x3d, 0x20, 0x9a, 0x53, 0x0f, 0xb6, 0x15, 0x98, 0xc5, 0x62, 0xf1, 0x61, 0xdf, 0x5d, 0x05, 0xf6, 0x48, 0x70, 0xb4, 0x19, 0xbf, 0xfe, 0xf6, 0x0c, 0x34,
0xe2, 0xc3, 0xbe, 0xbb, 0x0a, 0xec, 0x91, 0xe0, 0x68, 0x33, 0x7e, 0xfd, 0xad, 0x19, 0x68, 0x18, 0x0c, 0x18, 0x25, 0x7d, 0x80, 0x03, 0xee, 0xf6, 0x03, 0x7f, 0xc4, 0x53, 0x1e, 0x4b, 0x2e, 0xce,
0x30, 0x4a, 0xfa, 0x00, 0x07, 0xdc, 0xed, 0x07, 0xfe, 0x88, 0xa7, 0x3c, 0x96, 0x5c, 0x9c, 0x43, 0xa1, 0x48, 0xe7, 0x9f, 0x0d, 0xba, 0xd1, 0x24, 0xed, 0xf6, 0xf9, 0x20, 0xe6, 0xc2, 0x30, 0xa3,
0x91, 0xce, 0x3f, 0x1b, 0x74, 0xa3, 0x49, 0xda, 0xed, 0xf3, 0x41, 0xcc, 0x85, 0x61, 0x46, 0x43, 0xa1, 0xb0, 0x50, 0xa4, 0x1b, 0xf9, 0x1f, 0x9a, 0x74, 0x82, 0x1f, 0x72, 0xa8, 0x8a, 0x46, 0x8b,
0x61, 0xa1, 0x48, 0x37, 0xf2, 0x3f, 0x32, 0xe9, 0x04, 0x3f, 0xe4, 0x50, 0x15, 0x8d, 0x16, 0x6b, 0x35, 0xaa, 0x66, 0xd1, 0x68, 0xb1, 0x22, 0x79, 0x1d, 0x55, 0x2b, 0xd1, 0x51, 0x6f, 0xc1, 0xba,
0x54, 0xcd, 0xa2, 0xd1, 0x62, 0x45, 0xf2, 0x3a, 0xaa, 0x56, 0xa2, 0xa3, 0xde, 0x81, 0x75, 0xa1, 0xd0, 0x46, 0x52, 0x6e, 0xbb, 0x39, 0x36, 0xb9, 0xa0, 0x96, 0x6d, 0x42, 0x0b, 0xc7, 0xac, 0x18,
0x8d, 0xa4, 0xdc, 0x76, 0x73, 0x6c, 0x72, 0x41, 0x2d, 0xdb, 0x84, 0x16, 0x8e, 0x59, 0x31, 0x78, 0x3c, 0x09, 0xbe, 0x25, 0xe2, 0x43, 0x8e, 0x57, 0xc0, 0x91, 0x96, 0x02, 0x35, 0x26, 0xad, 0xb8,
0x12, 0x7c, 0x53, 0xc4, 0x87, 0x1c, 0xaf, 0x80, 0x23, 0x2d, 0x05, 0x6a, 0x4c, 0x5a, 0x71, 0x3b, 0x9d, 0x2b, 0xe0, 0x44, 0xeb, 0x7f, 0x68, 0xd3, 0xd6, 0x25, 0x6d, 0x0e, 0x77, 0x17, 0xa0, 0x71,
0x57, 0xc0, 0x89, 0xd6, 0xff, 0xc8, 0xa6, 0xad, 0x4b, 0xda, 0x1c, 0xee, 0x2e, 0x40, 0xe3, 0x28, 0x94, 0x46, 0x63, 0xb5, 0x29, 0x8b, 0xd0, 0x14, 0x45, 0x99, 0x0b, 0xf1, 0x12, 0x5c, 0x25, 0x2e,
0x8d, 0xc6, 0x6a, 0x53, 0x16, 0xa1, 0x29, 0x8a, 0x32, 0x17, 0xe2, 0x15, 0xb8, 0x4a, 0x5c, 0xf4, 0x7a, 0x12, 0x8d, 0xa3, 0x61, 0x34, 0x98, 0x1e, 0x4d, 0x8e, 0x93, 0x5e, 0x1c, 0x8c, 0xf1, 0x34,
0x24, 0x1a, 0x47, 0xc3, 0x68, 0x30, 0x3d, 0x9a, 0x1c, 0x27, 0xbd, 0x38, 0x18, 0xe3, 0x69, 0xc8, 0xe4, 0xfe, 0xbd, 0x03, 0x2b, 0x56, 0xad, 0x0c, 0x19, 0x7d, 0x5a, 0xb0, 0xb4, 0xbe, 0xc4, 0x16,
0xfd, 0x5b, 0x07, 0x56, 0xac, 0x5a, 0x19, 0x32, 0xfa, 0xb4, 0x60, 0x69, 0x7d, 0x89, 0x2d, 0x18, 0x8c, 0xb7, 0x6c, 0xa8, 0x4a, 0x41, 0x28, 0x42, 0x79, 0xef, 0xcb, 0x7b, 0xed, 0x6d, 0x58, 0x52,
0x6f, 0xd9, 0x50, 0x95, 0x82, 0x50, 0x84, 0xf2, 0x3e, 0x94, 0xf7, 0xda, 0xdb, 0xb0, 0xa4, 0x46, 0x23, 0x53, 0x1f, 0x0a, 0x2e, 0x6c, 0x17, 0xb9, 0x50, 0x7e, 0xbf, 0x28, 0x3f, 0x50, 0x4d, 0xfc,
0xa6, 0x3e, 0x14, 0x5c, 0xd8, 0x2e, 0x72, 0xa1, 0xfc, 0x7e, 0x51, 0x7e, 0xa0, 0x9a, 0xf8, 0xbf, 0xbc, 0xbc, 0xe5, 0xec, 0xd3, 0x1c, 0x55, 0xec, 0x40, 0xdf, 0x4c, 0x99, 0x27, 0x08, 0x35, 0x82,
0xf2, 0x96, 0xb3, 0x4f, 0x73, 0x54, 0xb1, 0x03, 0x7d, 0x33, 0x65, 0x9e, 0x20, 0xd4, 0x08, 0x7a, 0x9e, 0x06, 0x13, 0xf7, 0xb7, 0x1d, 0x80, 0x6c, 0x74, 0x74, 0x37, 0xa6, 0xd5, 0xbd, 0x48, 0xae,
0x1a, 0x4c, 0xdc, 0xdf, 0x72, 0x00, 0xb2, 0xd1, 0xd1, 0xdd, 0x98, 0x56, 0xf7, 0x22, 0xf1, 0xda, 0x36, 0x54, 0xfb, 0xab, 0xd0, 0xd4, 0x77, 0x2a, 0x99, 0x05, 0x69, 0x28, 0x0c, 0x9d, 0xbc, 0x9b,
0x50, 0xed, 0xaf, 0x43, 0x53, 0xdf, 0xa9, 0x64, 0x16, 0xa4, 0xa1, 0x30, 0x74, 0xf2, 0x6e, 0xc2, 0xb0, 0x34, 0x18, 0x46, 0xc7, 0x64, 0x7e, 0x29, 0xb9, 0x26, 0x91, 0x19, 0x21, 0x8b, 0x02, 0xbe,
0xd2, 0x60, 0x18, 0x1d, 0x93, 0xf9, 0xa5, 0xe4, 0x9a, 0x44, 0x66, 0x84, 0x2c, 0x0a, 0xf8, 0xbe, 0x2f, 0xd1, 0xcc, 0xdc, 0x54, 0x0d, 0x73, 0xe3, 0x7e, 0xa7, 0xa2, 0x23, 0xf1, 0xd9, 0x9c, 0x2f,
0x44, 0x33, 0x73, 0x53, 0x35, 0xcc, 0x8d, 0xfb, 0xed, 0x8a, 0x8e, 0xc4, 0x67, 0x73, 0xbe, 0x50, 0x94, 0x32, 0xb6, 0x55, 0x50, 0x8e, 0x17, 0x04, 0xbe, 0x29, 0x4a, 0x76, 0x78, 0xe9, 0x21, 0xfe,
0xca, 0xd8, 0x56, 0x41, 0x39, 0x5e, 0x10, 0xf8, 0xa6, 0x28, 0xd9, 0xe1, 0xa5, 0x87, 0xf8, 0xf7, 0x5d, 0x58, 0x8c, 0x85, 0xf6, 0x51, 0xaa, 0xa9, 0xfa, 0x1c, 0xd5, 0xb4, 0x10, 0x5b, 0x36, 0xe9,
0x61, 0x31, 0x16, 0xda, 0x47, 0xa9, 0xa6, 0xea, 0x0b, 0x54, 0xd3, 0x42, 0x6c, 0xd9, 0xa4, 0x4f, 0x93, 0xd0, 0xf2, 0xfb, 0x67, 0x3c, 0x4e, 0x03, 0x3a, 0x46, 0x91, 0x43, 0x20, 0x14, 0xea, 0x92,
0x42, 0xcb, 0xef, 0x9f, 0xf1, 0x38, 0x0d, 0xe8, 0x18, 0x45, 0x0e, 0x81, 0x50, 0xa8, 0x4b, 0x06, 0x81, 0x93, 0x9d, 0xbe, 0x09, 0x4b, 0x32, 0x0b, 0x47, 0x53, 0xca, 0xec, 0xd0, 0x0c, 0x46, 0x42,
0x4e, 0x76, 0xfa, 0x26, 0x2c, 0xc9, 0x2c, 0x1c, 0x4d, 0x29, 0x33, 0x47, 0x33, 0x18, 0x09, 0xdd, 0xf7, 0x4f, 0x55, 0xd0, 0xdf, 0xde, 0xc3, 0x8b, 0x57, 0xc4, 0x9c, 0x5d, 0x25, 0x37, 0xbb, 0x4f,
0x3f, 0x51, 0x41, 0x7f, 0x7b, 0x0f, 0x2f, 0x5e, 0x11, 0x73, 0x76, 0x95, 0xdc, 0xec, 0x3e, 0x21, 0xc8, 0x00, 0x7c, 0x5f, 0x9d, 0xd5, 0x66, 0x8c, 0x1b, 0xf1, 0xbe, 0xbc, 0x30, 0xb1, 0x97, 0xb4,
0x03, 0xf0, 0x7d, 0x75, 0x56, 0x9b, 0x31, 0x6e, 0xc4, 0xfb, 0xf2, 0xc2, 0xc4, 0x5e, 0xd2, 0xea, 0xfa, 0x22, 0x4b, 0xea, 0x7e, 0xec, 0xc0, 0xdc, 0x7e, 0x34, 0xde, 0x97, 0xb9, 0x01, 0x24, 0x08,
0xcb, 0x2c, 0xa9, 0xfb, 0x43, 0x07, 0xe6, 0xf6, 0xa3, 0xf1, 0xbe, 0xcc, 0x0d, 0x20, 0x41, 0xd0, 0x3a, 0x8f, 0x4d, 0x15, 0x9f, 0x93, 0x35, 0x50, 0x6a, 0x87, 0x17, 0xf2, 0x76, 0xf8, 0x17, 0xe0,
0x39, 0x6e, 0xaa, 0xf8, 0x82, 0xac, 0x81, 0x52, 0x3b, 0xbc, 0x90, 0xb7, 0xc3, 0xff, 0x0f, 0x5e, 0x25, 0x8a, 0x14, 0xc4, 0xd1, 0x38, 0x8a, 0x51, 0x18, 0xfd, 0xa1, 0x30, 0xba, 0x51, 0x98, 0x9e,
0xa1, 0x48, 0x41, 0x1c, 0x8d, 0xa3, 0x18, 0x85, 0xd1, 0x1f, 0x0a, 0xa3, 0x1b, 0x85, 0xe9, 0xa9, 0x2a, 0x35, 0xf6, 0x3c, 0x12, 0x3a, 0x92, 0xe1, 0x51, 0x42, 0x38, 0xca, 0xd2, 0x6f, 0x10, 0xda,
0x52, 0x63, 0x2f, 0x22, 0xa1, 0x23, 0x19, 0x1e, 0x25, 0x84, 0xa3, 0x2c, 0xfd, 0x06, 0xa1, 0xdd, 0xad, 0x58, 0xe1, 0x7e, 0x16, 0xea, 0xe4, 0xf8, 0xd2, 0xb4, 0xde, 0x80, 0xfa, 0x69, 0x34, 0xee,
0x8a, 0x15, 0xee, 0x67, 0xa1, 0x4e, 0x8e, 0x2f, 0x4d, 0xeb, 0x2d, 0xa8, 0x9f, 0x46, 0xe3, 0xee, 0x9e, 0x06, 0x61, 0xaa, 0x84, 0x7b, 0x31, 0xf3, 0x48, 0xf7, 0x69, 0x41, 0x34, 0x81, 0xfb, 0x07,
0x69, 0x10, 0xa6, 0x4a, 0xb8, 0x17, 0x33, 0x8f, 0x74, 0x9f, 0x16, 0x44, 0x13, 0xb8, 0xbf, 0x5f, 0x35, 0x98, 0x7b, 0x18, 0x9e, 0x45, 0x41, 0x8f, 0xee, 0x07, 0x46, 0x7c, 0x14, 0xa9, 0xac, 0x3e,
0x83, 0xb9, 0x87, 0xe1, 0x59, 0x14, 0xf4, 0xe8, 0x7e, 0x60, 0xc4, 0x47, 0x91, 0xca, 0xf8, 0xc3, 0xfc, 0x8d, 0x4b, 0x41, 0xd9, 0x2f, 0xe3, 0x54, 0x06, 0xf8, 0x55, 0x11, 0xcd, 0x7d, 0x9c, 0x65,
0xdf, 0xb8, 0x14, 0x94, 0xfd, 0x32, 0x4e, 0x65, 0x80, 0x5f, 0x15, 0xd1, 0xdc, 0xc7, 0x59, 0x56, 0xde, 0x0a, 0xd1, 0x31, 0x10, 0x74, 0xfa, 0x63, 0x33, 0x49, 0x59, 0x96, 0xb2, 0xb4, 0xc8, 0x9a,
0xae, 0x10, 0x1d, 0x03, 0x41, 0xa7, 0x3f, 0x36, 0x13, 0x98, 0x65, 0x29, 0x4b, 0x99, 0xac, 0x19, 0x91, 0x16, 0x49, 0xb7, 0x49, 0x22, 0x8f, 0x41, 0x5e, 0x74, 0xab, 0x22, 0x1d, 0x52, 0x62, 0x2e,
0x29, 0x93, 0x74, 0x9b, 0x24, 0xf2, 0x18, 0xe4, 0x45, 0xb7, 0x2a, 0xd2, 0x21, 0x25, 0xe6, 0x22, 0x22, 0x3c, 0xe4, 0x38, 0xcc, 0xc9, 0x43, 0x8a, 0x09, 0xa2, 0x73, 0x21, 0x3e, 0x10, 0x34, 0x42,
0xc2, 0x43, 0x8e, 0xc3, 0x9c, 0x3c, 0xa4, 0x98, 0x20, 0x3a, 0x17, 0xe2, 0x03, 0x41, 0x23, 0x94, 0xf9, 0x9a, 0x10, 0x3a, 0x62, 0xf9, 0x3c, 0xe7, 0xba, 0xe0, 0xf9, 0x1c, 0x8c, 0x1a, 0xba, 0xcf,
0xaf, 0x09, 0xa1, 0x23, 0x96, 0xcf, 0x81, 0xae, 0x0b, 0x9e, 0xcf, 0xc1, 0xa8, 0xa1, 0xfb, 0x5c, 0xb5, 0x22, 0x15, 0x73, 0x00, 0x91, 0x59, 0x9c, 0xc7, 0x8d, 0xa3, 0x8d, 0x48, 0x50, 0x52, 0x47,
0x2b, 0x52, 0x31, 0x07, 0x10, 0x59, 0xc7, 0x79, 0xdc, 0x38, 0xda, 0x88, 0x04, 0x25, 0x75, 0xb4, 0x1b, 0x64, 0x14, 0x7f, 0x38, 0x3c, 0xf6, 0x7b, 0x4f, 0x29, 0x8d, 0x9d, 0xf2, 0x91, 0xea, 0x9e,
0x41, 0x46, 0xf1, 0x87, 0xc3, 0x63, 0xbf, 0xf7, 0x8c, 0x52, 0xdc, 0x29, 0x1f, 0xa9, 0xee, 0xd9, 0x0d, 0x52, 0x26, 0x42, 0xb6, 0x9b, 0x74, 0x1f, 0x59, 0xf5, 0x4c, 0x88, 0x6d, 0x41, 0x83, 0x8e,
0x20, 0x65, 0x22, 0x64, 0xbb, 0x49, 0xf7, 0x91, 0x55, 0xcf, 0x84, 0xd8, 0x16, 0x34, 0xe8, 0x38, 0x73, 0x72, 0x3f, 0x17, 0x69, 0x3f, 0x5b, 0xe6, 0x79, 0x8f, 0x76, 0xd4, 0x24, 0x32, 0xef, 0x2c,
0x27, 0xf7, 0x73, 0x91, 0xf6, 0xb3, 0x65, 0x9e, 0xf7, 0x68, 0x47, 0x4d, 0x22, 0xf3, 0xce, 0x62, 0x96, 0xec, 0x3b, 0x0b, 0xa1, 0x34, 0xe5, 0x55, 0x4f, 0x8b, 0x7a, 0xcb, 0x00, 0xb4, 0xa6, 0x72,
0xc9, 0xbe, 0xb3, 0x10, 0x4a, 0x53, 0x5e, 0xf5, 0xb4, 0xa8, 0xb7, 0x0c, 0x40, 0x6b, 0x2a, 0x17, 0xc1, 0x04, 0xc1, 0x32, 0x11, 0x58, 0x18, 0xbb, 0x0e, 0xf3, 0x78, 0x08, 0x19, 0xfb, 0x41, 0xbf,
0x4c, 0x10, 0x2c, 0x13, 0x81, 0x85, 0xb1, 0xeb, 0x30, 0x8f, 0x87, 0x90, 0xb1, 0x1f, 0xf4, 0xdb, 0xcd, 0xf4, 0x59, 0x48, 0x63, 0xd8, 0x86, 0xfa, 0x4d, 0x57, 0x32, 0x2b, 0xb4, 0x2a, 0x16, 0x86,
0x4c, 0x9f, 0x85, 0x34, 0x86, 0x6d, 0xa8, 0xdf, 0x74, 0x25, 0xb3, 0x42, 0xab, 0x62, 0x61, 0xb8, 0x6b, 0xa3, 0xcb, 0x24, 0x44, 0xab, 0x62, 0x47, 0x2d, 0xd0, 0x4d, 0x81, 0x6d, 0xf7, 0xfb, 0x92,
0x36, 0xba, 0x4c, 0x42, 0xb4, 0x2a, 0x76, 0xd4, 0x02, 0xdd, 0x14, 0xd8, 0x76, 0xbf, 0x2f, 0x79, 0x37, 0xf5, 0xd1, 0x37, 0xe3, 0x2a, 0xc7, 0xe2, 0xaa, 0x92, 0xdd, 0xad, 0x94, 0xef, 0xee, 0x73,
0x53, 0x1f, 0x7d, 0x33, 0xae, 0x72, 0x2c, 0xae, 0x2a, 0xd9, 0xdd, 0x4a, 0xf9, 0xee, 0xbe, 0x70, 0xd7, 0xc0, 0xdd, 0x83, 0xc6, 0xa1, 0x91, 0xca, 0x4d, 0x4c, 0xae, 0x92, 0xb8, 0xa5, 0x60, 0x18,
0x0d, 0xdc, 0x3d, 0x68, 0x1c, 0x1a, 0x69, 0xde, 0xc4, 0xe4, 0x2a, 0xc1, 0x5b, 0x0a, 0x86, 0x81, 0x88, 0x31, 0x9c, 0x8a, 0x39, 0x1c, 0xf7, 0xcf, 0x1c, 0x60, 0x07, 0x41, 0x92, 0xea, 0xe1, 0x8b,
0x18, 0xc3, 0xa9, 0x98, 0xc3, 0x71, 0xbf, 0xe7, 0x00, 0x3b, 0x08, 0x92, 0x54, 0x0f, 0x5f, 0xf4, 0xbe, 0x5d, 0x68, 0xea, 0x00, 0x45, 0x96, 0x9b, 0x65, 0x61, 0x48, 0x43, 0x43, 0xe9, 0x46, 0x27,
0xed, 0x42, 0x53, 0x07, 0x28, 0xb2, 0xdc, 0x2c, 0x0b, 0x43, 0x1a, 0x1a, 0x4a, 0x37, 0x3a, 0x39, 0x27, 0x09, 0x57, 0x99, 0x14, 0x16, 0x86, 0x1c, 0x8a, 0x3e, 0x0e, 0xfa, 0x0b, 0x81, 0xe8, 0x21,
0x49, 0xb8, 0xca, 0xa4, 0xb0, 0x30, 0xe4, 0x50, 0xf4, 0x71, 0xd0, 0x5f, 0x08, 0x44, 0x0f, 0x89, 0x91, 0x19, 0x15, 0x05, 0x1c, 0xf5, 0x6c, 0xcc, 0xcf, 0x78, 0x9c, 0x68, 0xd1, 0xd2, 0x65, 0x9d,
0xcc, 0xa8, 0x28, 0xe0, 0xa8, 0x67, 0x63, 0x7e, 0xc6, 0xe3, 0x44, 0x8b, 0x96, 0x2e, 0xeb, 0x14, 0x42, 0x96, 0x5f, 0xe5, 0x4d, 0x98, 0xd7, 0xed, 0xda, 0x2a, 0x44, 0x51, 0xea, 0x7a, 0x54, 0x55,
0xb2, 0xfc, 0x2a, 0x6f, 0xc2, 0xbc, 0x6e, 0xd7, 0x56, 0x21, 0x8a, 0x52, 0xd7, 0xa3, 0xaa, 0x22, 0xe4, 0xc3, 0x5b, 0x83, 0x16, 0x6a, 0xb3, 0x58, 0xc1, 0x6e, 0x03, 0x3b, 0x09, 0xe2, 0x3c, 0xf9,
0x1f, 0xde, 0x1a, 0xb4, 0x50, 0x9b, 0xc5, 0x0a, 0x76, 0x1b, 0xd8, 0x49, 0x10, 0xe7, 0xc9, 0x67, 0x0c, 0x91, 0x97, 0xd4, 0xb8, 0x1f, 0xc0, 0x8a, 0xec, 0xd2, 0x74, 0x6e, 0xec, 0x4d, 0x74, 0x2e,
0x88, 0xbc, 0xa4, 0xc6, 0x7d, 0x0a, 0x2b, 0xb2, 0x4b, 0xd3, 0xb9, 0xb1, 0x37, 0xd1, 0xb9, 0x8c, 0x63, 0xe4, 0x4a, 0x91, 0x91, 0xdd, 0xff, 0x76, 0x60, 0x4e, 0xee, 0x34, 0x6d, 0x4b, 0x3e, 0xa7,
0x91, 0x2b, 0x45, 0x46, 0x76, 0xff, 0xd3, 0x81, 0x39, 0xb9, 0xd3, 0xb4, 0x2d, 0xf9, 0x7c, 0xff, 0xbf, 0xee, 0x59, 0x18, 0x6b, 0x5b, 0xd9, 0xdc, 0xc4, 0xf5, 0x52, 0x75, 0x15, 0x14, 0xd4, 0x4c,
0xba, 0x67, 0x61, 0xac, 0x6d, 0x65, 0x7a, 0x13, 0xd7, 0x4b, 0xd5, 0x55, 0x50, 0x50, 0x33, 0x65, 0x99, 0x82, 0x62, 0x50, 0x1d, 0xfb, 0xe9, 0x29, 0x9d, 0x4c, 0xeb, 0x1e, 0xfd, 0x66, 0x2d, 0x11,
0x0a, 0x8a, 0x41, 0x75, 0xec, 0xa7, 0xa7, 0x74, 0x32, 0xad, 0x7b, 0xf4, 0x9b, 0xb5, 0x44, 0xb4, 0x2d, 0x11, 0x8a, 0x90, 0x22, 0x25, 0x65, 0x8f, 0x1a, 0x84, 0xbd, 0x2d, 0x3e, 0x6a, 0xb8, 0x06,
0x44, 0x28, 0x42, 0x8a, 0x94, 0x94, 0x3d, 0x78, 0x10, 0xf6, 0xb6, 0xf8, 0xe0, 0xe1, 0x1a, 0xd4, 0x75, 0x1a, 0x40, 0x37, 0x0b, 0x86, 0x64, 0x00, 0x72, 0xae, 0x28, 0x90, 0x84, 0xc9, 0x54, 0xcd,
0x69, 0x00, 0xdd, 0x2c, 0x18, 0x92, 0x01, 0xc8, 0xb9, 0xa2, 0x40, 0x12, 0x26, 0x53, 0x35, 0x33, 0x0c, 0xc1, 0xf3, 0x09, 0xa5, 0xba, 0x88, 0x56, 0xf5, 0x1d, 0x95, 0x4c, 0xd9, 0xcb, 0xe0, 0x8c,
0x04, 0xcf, 0x27, 0x94, 0xea, 0x22, 0x5a, 0xd5, 0x77, 0x54, 0x32, 0x65, 0x2f, 0x83, 0x33, 0x8e, 0x23, 0xe4, 0x00, 0xf2, 0x1c, 0x21, 0x49, 0x3d, 0x5d, 0xef, 0x76, 0xa0, 0xbd, 0xcb, 0x87, 0x3c,
0x90, 0x03, 0xc8, 0x73, 0x84, 0x24, 0xf5, 0x74, 0xbd, 0xdb, 0x81, 0xf6, 0x2e, 0x1f, 0xf2, 0x94, 0xe5, 0xdb, 0xc3, 0x61, 0xbe, 0xfd, 0x97, 0xe0, 0x6a, 0x49, 0x9d, 0xf4, 0x67, 0xbf, 0x04, 0x6b,
0x6f, 0x0f, 0x87, 0xf9, 0xf6, 0x5f, 0x81, 0xab, 0x25, 0x75, 0xd2, 0x9f, 0xfd, 0x12, 0xac, 0x6d, 0xdb, 0x22, 0xbd, 0xe9, 0xa7, 0x95, 0x39, 0xe0, 0xb6, 0x61, 0x3d, 0xdf, 0xa4, 0xec, 0xec, 0x3e,
0x8b, 0xf4, 0xa6, 0x9f, 0x55, 0xe6, 0x80, 0xdb, 0x86, 0xf5, 0x7c, 0x93, 0xb2, 0xb3, 0xfb, 0xb0, 0x2c, 0xef, 0xf2, 0xe3, 0xc9, 0xe0, 0x80, 0x9f, 0x65, 0x1d, 0x31, 0xa8, 0x26, 0xa7, 0xd1, 0xb9,
0xbc, 0xcb, 0x8f, 0x27, 0x83, 0x03, 0x7e, 0x96, 0x75, 0xc4, 0xa0, 0x9a, 0x9c, 0x46, 0xe7, 0x52, 0x14, 0x4c, 0xfa, 0xcd, 0x5e, 0x06, 0x18, 0x22, 0x4d, 0x37, 0x19, 0xf3, 0x9e, 0x4a, 0xc9, 0x26,
0x30, 0xe9, 0x37, 0x7b, 0x15, 0x60, 0x88, 0x34, 0xdd, 0x64, 0xcc, 0x7b, 0x2a, 0x25, 0x9b, 0x90, 0xe4, 0x68, 0xcc, 0x7b, 0xee, 0x5b, 0xc0, 0xcc, 0x76, 0xe4, 0x7a, 0xa1, 0x3d, 0x9a, 0x1c, 0x77,
0xa3, 0x31, 0xef, 0xb9, 0xef, 0x00, 0x33, 0xdb, 0x91, 0xeb, 0x85, 0xf6, 0x68, 0x72, 0xdc, 0x4d, 0x93, 0x69, 0x92, 0xf2, 0x91, 0xca, 0x35, 0x37, 0x21, 0xf7, 0x26, 0x34, 0x0f, 0xfd, 0xa9, 0xc7,
0xa6, 0x49, 0xca, 0x47, 0x2a, 0xd7, 0xdc, 0x84, 0xdc, 0x9b, 0xd0, 0x3c, 0xf4, 0xa7, 0x1e, 0xff, 0xbf, 0x29, 0x5f, 0x81, 0x6c, 0xc0, 0xdc, 0xd8, 0x9f, 0xa2, 0x9a, 0xd2, 0xf1, 0x1b, 0xaa, 0x76,
0x86, 0x7c, 0x21, 0xb2, 0x01, 0x73, 0x63, 0x7f, 0x8a, 0x6a, 0x4a, 0xc7, 0x6f, 0xa8, 0xda, 0xfd, 0xff, 0xb3, 0x02, 0xb3, 0x82, 0x12, 0x5b, 0xed, 0xf3, 0x24, 0x0d, 0x42, 0x71, 0x63, 0x2b, 0x5b,
0xf7, 0x0a, 0xcc, 0x0a, 0x4a, 0x6c, 0xb5, 0xcf, 0x93, 0x34, 0x08, 0xc5, 0x8d, 0xad, 0x6c, 0xd5, 0x35, 0xa0, 0x02, 0x2b, 0x57, 0x4a, 0x58, 0x59, 0x9e, 0x9a, 0x54, 0x7a, 0xab, 0xe4, 0x57, 0x0b,
0x80, 0x0a, 0xac, 0x5c, 0x29, 0x61, 0x65, 0x79, 0x6a, 0x52, 0xe9, 0xad, 0x92, 0x5f, 0x2d, 0x0c, 0x43, 0xe6, 0xca, 0xf2, 0x64, 0x44, 0x00, 0x21, 0x03, 0x72, 0x01, 0xbd, 0xcc, 0xea, 0x89, 0xf1,
0x99, 0x2b, 0xcb, 0x93, 0x11, 0x01, 0x84, 0x0c, 0xc8, 0x05, 0xf4, 0x32, 0xab, 0x27, 0xc6, 0xa7, 0x29, 0x29, 0x95, 0x9c, 0x6b, 0x42, 0xa5, 0xb6, 0x75, 0x4e, 0x30, 0x78, 0xc1, 0xb6, 0x16, 0x6c,
0xa4, 0x54, 0x72, 0xae, 0x09, 0x95, 0xda, 0xd6, 0x39, 0xc1, 0xe0, 0x05, 0xdb, 0x5a, 0xb0, 0xa1, 0xe8, 0xfc, 0x0b, 0xd8, 0x50, 0x71, 0x94, 0x7a, 0x9e, 0x0d, 0x85, 0x17, 0xb0, 0xa1, 0x2e, 0x83,
0xf3, 0x2f, 0x61, 0x43, 0xc5, 0x51, 0xea, 0x45, 0x36, 0x14, 0x5e, 0xc2, 0x86, 0xba, 0x0c, 0x5a, 0xd6, 0x7d, 0xce, 0x3d, 0x8e, 0xde, 0x99, 0xe2, 0xdd, 0xef, 0x3a, 0xd0, 0x92, 0x5c, 0xa4, 0xeb,
0xf7, 0x39, 0xf7, 0x38, 0x7a, 0x67, 0x8a, 0x77, 0xbf, 0xe3, 0x40, 0x4b, 0x72, 0x91, 0xae, 0x63, 0xd8, 0xab, 0x96, 0x17, 0x5a, 0x9a, 0x84, 0xfa, 0x1a, 0x2c, 0x90, 0x6f, 0xa8, 0x23, 0x97, 0x32,
0xaf, 0x5b, 0x5e, 0x68, 0x69, 0x12, 0xea, 0x1b, 0xb0, 0x40, 0xbe, 0xa1, 0x8e, 0x5c, 0xca, 0x30, 0xcc, 0x6a, 0x81, 0x38, 0x0f, 0x75, 0xbd, 0x34, 0x0a, 0x86, 0x72, 0x53, 0x4c, 0x48, 0x05, 0x3f,
0xab, 0x05, 0xe2, 0x3c, 0xd4, 0xf5, 0xd2, 0x28, 0x18, 0xca, 0x4d, 0x31, 0x21, 0x15, 0xfc, 0x8c, 0x63, 0x5f, 0xa6, 0xb2, 0x38, 0x9e, 0x2e, 0xbb, 0x7f, 0xe5, 0xc0, 0xb2, 0x31, 0x60, 0xc9, 0x85,
0x7d, 0x99, 0xca, 0xe2, 0x78, 0xba, 0xec, 0xfe, 0x85, 0x03, 0xcb, 0xc6, 0x80, 0x25, 0x17, 0xbe, 0xef, 0x82, 0x92, 0x06, 0x11, 0xe0, 0x14, 0x92, 0xbb, 0x61, 0x8b, 0x4d, 0xf6, 0x99, 0x45, 0x4c,
0x0f, 0x4a, 0x1a, 0x44, 0x80, 0x53, 0x48, 0xee, 0x86, 0x2d, 0x36, 0xd9, 0x67, 0x16, 0x31, 0x6d, 0x9b, 0xe9, 0x4f, 0x69, 0x80, 0xc9, 0x64, 0x24, 0x95, 0xa8, 0x09, 0x21, 0x23, 0x9d, 0x73, 0xfe,
0xa6, 0x3f, 0xa5, 0x01, 0x26, 0x93, 0x91, 0x54, 0xa2, 0x26, 0x84, 0x8c, 0x74, 0xce, 0xf9, 0x33, 0x54, 0x93, 0x08, 0x35, 0x6e, 0x61, 0x94, 0x26, 0x81, 0x3e, 0xad, 0x26, 0x12, 0xf6, 0xcc, 0x06,
0x4d, 0x22, 0xd4, 0xb8, 0x85, 0x51, 0x9a, 0x04, 0xfa, 0xb4, 0x9a, 0x48, 0xd8, 0x33, 0x1b, 0x74, 0xdd, 0x7f, 0x74, 0x60, 0x45, 0x1c, 0x4e, 0xe4, 0xd1, 0x4f, 0xbf, 0x10, 0x98, 0x15, 0xa7, 0x31,
0xff, 0xde, 0x81, 0x15, 0x71, 0x38, 0x91, 0x47, 0x3f, 0xfd, 0x42, 0x60, 0x56, 0x9c, 0xc6, 0x84, 0x21, 0x91, 0xfb, 0x57, 0x3c, 0x59, 0x66, 0x9f, 0x79, 0xc1, 0x03, 0x95, 0x4e, 0x8f, 0xb9, 0x60,
0x44, 0xee, 0x5f, 0xf1, 0x64, 0x99, 0x7d, 0xe6, 0x25, 0x0f, 0x54, 0x3a, 0x3d, 0xe6, 0x82, 0xbd, 0x2f, 0x66, 0xca, 0xf6, 0xe2, 0x39, 0x2b, 0x5d, 0x16, 0xd0, 0xab, 0x95, 0x06, 0xf4, 0xee, 0xcd,
0x98, 0x29, 0xdb, 0x8b, 0x17, 0xac, 0x74, 0x59, 0x40, 0xaf, 0x56, 0x1a, 0xd0, 0xbb, 0x37, 0x07, 0x41, 0x2d, 0xe9, 0x45, 0x63, 0xee, 0xae, 0xc3, 0xaa, 0x3d, 0x39, 0xa9, 0x82, 0xbe, 0xe7, 0x40,
0xb5, 0xa4, 0x17, 0x8d, 0xb9, 0xbb, 0x0e, 0xab, 0xf6, 0xe4, 0xa4, 0x0a, 0xfa, 0xae, 0x03, 0xed, 0xfb, 0xbe, 0x08, 0x6f, 0x07, 0xe1, 0x60, 0x3f, 0x48, 0xd2, 0x28, 0xd6, 0xcf, 0x9e, 0xae, 0x03,
0xfb, 0x22, 0xbc, 0x1d, 0x84, 0x83, 0xfd, 0x20, 0x49, 0xa3, 0x58, 0x3f, 0x89, 0xba, 0x0e, 0x90, 0x24, 0xa9, 0x1f, 0xa7, 0x22, 0x7d, 0x51, 0x86, 0xdb, 0x32, 0x04, 0xc7, 0xc8, 0xc3, 0xbe, 0xa8,
0xa4, 0x7e, 0x9c, 0x8a, 0xf4, 0x45, 0x19, 0x6e, 0xcb, 0x10, 0x1c, 0x23, 0x0f, 0xfb, 0xa2, 0x56, 0x15, 0x7b, 0xa3, 0xcb, 0x05, 0x1f, 0x42, 0x1e, 0x9f, 0x2c, 0x4b, 0xfc, 0xba, 0xc8, 0x37, 0x43,
0xec, 0x8d, 0x2e, 0x17, 0x7c, 0x08, 0x79, 0x7c, 0xb2, 0x2c, 0xf1, 0x9b, 0x22, 0xdf, 0x0c, 0x7d, 0x5f, 0x81, 0x9f, 0x91, 0x5e, 0x17, 0xe7, 0x92, 0x1c, 0xea, 0xfe, 0x85, 0x03, 0x4b, 0xd9, 0x20,
0x05, 0x7e, 0x46, 0x7a, 0x5d, 0x9c, 0x4b, 0x72, 0xa8, 0xfb, 0x67, 0x0e, 0x2c, 0x65, 0x83, 0xdc, 0xf7, 0x10, 0xb4, 0xb5, 0x83, 0x34, 0xbf, 0x99, 0x76, 0x50, 0x81, 0xc0, 0x00, 0xed, 0xb1, 0x1c,
0x43, 0xd0, 0xd6, 0x0e, 0xd2, 0xfc, 0x66, 0xda, 0x41, 0x05, 0x02, 0x03, 0xb4, 0xc7, 0x72, 0x6c, 0x9b, 0x81, 0x90, 0xc4, 0xca, 0x52, 0x34, 0x51, 0x0e, 0x8e, 0x09, 0x89, 0x4c, 0x0f, 0xf4, 0x04,
0x06, 0x42, 0x12, 0x2b, 0x4b, 0xd1, 0x44, 0x39, 0x38, 0x26, 0x24, 0x32, 0x3d, 0xd0, 0x13, 0x90, 0xa4, 0x57, 0x23, 0x4b, 0x94, 0x7d, 0x3a, 0x4a, 0xe9, 0xab, 0x59, 0x71, 0x30, 0x93, 0x45, 0x65,
0x5e, 0x8d, 0x2c, 0x51, 0xf6, 0xe9, 0x28, 0xa5, 0xaf, 0x66, 0xc5, 0xc1, 0x4c, 0x16, 0x95, 0x29, 0x4a, 0xe7, 0x08, 0xc5, 0x9f, 0xee, 0xef, 0x38, 0x70, 0xb5, 0x64, 0x71, 0xa5, 0x64, 0xec, 0xc2,
0x9d, 0x23, 0x14, 0x7f, 0xba, 0xbf, 0xed, 0xc0, 0xd5, 0x92, 0xc5, 0x95, 0x92, 0xb1, 0x0b, 0xcb, 0xf2, 0x89, 0xae, 0x54, 0x0b, 0x20, 0xc4, 0x63, 0x5d, 0xdd, 0xc7, 0xd8, 0x93, 0xf6, 0x8a, 0x1f,
0x27, 0xba, 0x52, 0x2d, 0x80, 0x10, 0x8f, 0x75, 0x75, 0x1f, 0x63, 0x4f, 0xda, 0x2b, 0x7e, 0xa0, 0x68, 0xdf, 0x47, 0x2c, 0xa9, 0x95, 0x42, 0x55, 0xac, 0xd8, 0xfa, 0xdd, 0x19, 0x58, 0x14, 0xf7,
0x7d, 0x1f, 0xb1, 0xa4, 0x56, 0x0a, 0x55, 0xb1, 0x62, 0xeb, 0x77, 0x66, 0x60, 0x51, 0xdc, 0xd3, 0x74, 0xe2, 0x01, 0x32, 0x8f, 0xd9, 0x7b, 0x30, 0x27, 0x1f, 0x90, 0xb3, 0x35, 0xd9, 0xad, 0xfd,
0x89, 0xc7, 0xc9, 0x3c, 0x66, 0x1f, 0xc0, 0x9c, 0x7c, 0x5c, 0xce, 0xd6, 0x64, 0xb7, 0xf6, 0x73, 0x64, 0xbd, 0xb3, 0x9e, 0x87, 0x25, 0xef, 0xac, 0xfc, 0xfa, 0xc7, 0xff, 0xf2, 0x7b, 0x95, 0x05,
0xf6, 0xce, 0x7a, 0x1e, 0x96, 0xbc, 0xb3, 0xf2, 0x6b, 0x3f, 0xfc, 0xa7, 0xdf, 0xad, 0x2c, 0xb0, 0xd6, 0xb8, 0x73, 0xf6, 0xe6, 0x9d, 0x01, 0x0f, 0x13, 0x6c, 0xe3, 0x97, 0x00, 0xb2, 0xa7, 0xd5,
0xc6, 0x9d, 0xb3, 0xb7, 0xef, 0x0c, 0x78, 0x98, 0x60, 0x1b, 0xbf, 0x08, 0x90, 0x3d, 0xbb, 0x66, 0xac, 0xad, 0x7d, 0xb6, 0xdc, 0x9b, 0xf1, 0xce, 0xd5, 0x92, 0x1a, 0xd9, 0xee, 0x55, 0x6a, 0x77,
0x6d, 0xed, 0xb3, 0xe5, 0xde, 0x93, 0x77, 0xae, 0x96, 0xd4, 0xc8, 0x76, 0xaf, 0x52, 0xbb, 0x2b, 0xc5, 0x5d, 0xc4, 0x76, 0x83, 0x30, 0x48, 0xc5, 0x3b, 0xeb, 0x77, 0x9c, 0x4d, 0xd6, 0x87, 0xa6,
0xee, 0x22, 0xb6, 0x1b, 0x84, 0x41, 0x2a, 0xde, 0x60, 0xbf, 0xe7, 0x6c, 0xb2, 0x3e, 0x34, 0xcd, 0xf9, 0x72, 0x9a, 0xa9, 0xd0, 0x4d, 0xc9, 0xbb, 0xed, 0xce, 0x4b, 0xa5, 0x75, 0x2a, 0x6e, 0x45,
0x57, 0xd5, 0x4c, 0x85, 0x6e, 0x4a, 0xde, 0x74, 0x77, 0x5e, 0x29, 0xad, 0x53, 0x71, 0x2b, 0xea, 0x7d, 0xac, 0xb9, 0x2d, 0xec, 0x63, 0x42, 0x14, 0x59, 0x2f, 0x43, 0x58, 0xb4, 0x1f, 0x48, 0xb3,
0x63, 0xcd, 0x6d, 0x61, 0x1f, 0x13, 0xa2, 0xc8, 0x7a, 0x19, 0xc2, 0xa2, 0xfd, 0x78, 0x9a, 0x5d, 0x6b, 0x86, 0x58, 0x17, 0x9e, 0x67, 0x77, 0x5e, 0xbe, 0xa0, 0x56, 0xf6, 0xf5, 0x32, 0xf5, 0xb5,
0x33, 0xc4, 0xba, 0xf0, 0x74, 0xbb, 0xf3, 0xea, 0x05, 0xb5, 0xb2, 0xaf, 0x57, 0xa9, 0xaf, 0x0d, 0xe1, 0x32, 0xec, 0xab, 0x47, 0x34, 0xea, 0x79, 0xf6, 0x3b, 0xce, 0xe6, 0xd6, 0xc7, 0xd7, 0xa1,
0x97, 0x61, 0x5f, 0x3d, 0xa2, 0x51, 0x4f, 0xb7, 0xdf, 0x73, 0x36, 0xb7, 0xbe, 0xf7, 0x1a, 0xd4, 0xae, 0x83, 0xad, 0xec, 0x1b, 0xb0, 0x60, 0x5d, 0xa4, 0x32, 0x35, 0x8d, 0xb2, 0x7b, 0xd7, 0xce,
0x75, 0xb0, 0x95, 0x7d, 0x1d, 0x16, 0xac, 0x8b, 0x54, 0xa6, 0xa6, 0x51, 0x76, 0xef, 0xda, 0xb9, 0xb5, 0xf2, 0x4a, 0xd9, 0xf1, 0x75, 0xea, 0xb8, 0xcd, 0xd6, 0xb1, 0x63, 0x79, 0x13, 0x79, 0x87,
0x56, 0x5e, 0x29, 0x3b, 0xbe, 0x4e, 0x1d, 0xb7, 0xd9, 0x3a, 0x76, 0x2c, 0x6f, 0x22, 0xef, 0xd0, 0xae, 0x8f, 0x45, 0x6e, 0xeb, 0x53, 0x31, 0xcf, 0xec, 0xf2, 0xd3, 0x9a, 0x67, 0xe1, 0xb2, 0xd4,
0xf5, 0xb1, 0xc8, 0x6d, 0x7d, 0x26, 0xe6, 0x99, 0x5d, 0x7e, 0x5a, 0xf3, 0x2c, 0x5c, 0x96, 0x5a, 0x9a, 0x67, 0xf1, 0xc6, 0xd4, 0xbd, 0x46, 0xdd, 0xad, 0xb3, 0x55, 0xb3, 0x3b, 0x1d, 0x04, 0xe5,
0xf3, 0x2c, 0xde, 0x98, 0xba, 0xd7, 0xa8, 0xbb, 0x75, 0xb6, 0x6a, 0x76, 0xa7, 0x83, 0xa0, 0x9c, 0x94, 0x8d, 0x6c, 0xbe, 0x9f, 0x66, 0x2f, 0x6b, 0xc6, 0x2a, 0x7b, 0x57, 0xad, 0x59, 0xa4, 0xf8,
0xb2, 0x91, 0xcd, 0xb7, 0xd5, 0xec, 0x55, 0xcd, 0x58, 0x65, 0x6f, 0xae, 0x35, 0x8b, 0x14, 0x1f, 0xb8, 0xda, 0x6d, 0x53, 0x57, 0x8c, 0xd1, 0xf6, 0x99, 0xcf, 0xa7, 0xd9, 0xd7, 0xa0, 0xae, 0x1f,
0x5e, 0xbb, 0x6d, 0xea, 0x8a, 0x31, 0xda, 0x3e, 0xf3, 0x69, 0x35, 0xfb, 0x2a, 0xd4, 0xf5, 0x43, 0x0b, 0xb2, 0x0d, 0xe3, 0x85, 0xa6, 0xf9, 0x82, 0xb1, 0xd3, 0x2e, 0x56, 0x94, 0x31, 0x86, 0xd9,
0x42, 0xb6, 0x61, 0xbc, 0xde, 0x34, 0x5f, 0x37, 0x76, 0xda, 0xc5, 0x8a, 0x32, 0xc6, 0x30, 0x5b, 0x32, 0x32, 0xc6, 0x01, 0xac, 0xc9, 0x33, 0xc0, 0x31, 0xff, 0x51, 0x66, 0x52, 0xf2, 0xea, 0xfb,
0x46, 0xc6, 0x38, 0x80, 0x35, 0x79, 0x06, 0x38, 0xe6, 0x3f, 0xce, 0x4c, 0x4a, 0x5e, 0x84, 0xdf, 0xae, 0xc3, 0xde, 0x85, 0x79, 0xf5, 0x06, 0x93, 0xad, 0x97, 0xbf, 0x25, 0xed, 0x6c, 0x14, 0x70,
0x75, 0xd8, 0xfb, 0x30, 0xaf, 0xde, 0x67, 0xb2, 0xf5, 0xf2, 0x77, 0xa6, 0x9d, 0x8d, 0x02, 0x2e, 0xa9, 0x3d, 0xbe, 0x02, 0x90, 0xbd, 0x2d, 0xd4, 0x72, 0x56, 0x78, 0xd5, 0xa8, 0x17, 0xb1, 0xf8,
0xb5, 0xc7, 0x36, 0x40, 0xf6, 0xb6, 0x50, 0xcb, 0x59, 0xe1, 0xc5, 0xa3, 0x5e, 0xc4, 0x92, 0x87, 0x10, 0xd1, 0x5d, 0xa7, 0xa9, 0xb6, 0x18, 0xc9, 0x59, 0xc8, 0xcf, 0x55, 0x1a, 0xfd, 0x2e, 0x34,
0x88, 0x03, 0x7a, 0x49, 0x69, 0x3f, 0x5d, 0x64, 0xaf, 0x65, 0xf4, 0xa5, 0x8f, 0x1a, 0x5f, 0xd0, 0x8c, 0xe7, 0x85, 0x4c, 0xb5, 0x50, 0x7c, 0x9a, 0xd8, 0xe9, 0x94, 0x55, 0xc9, 0x01, 0x7e, 0x01,
0xa0, 0xbb, 0x4e, 0x6b, 0xd7, 0x62, 0x24, 0xb8, 0x21, 0x3f, 0x57, 0x79, 0xf9, 0xbb, 0xd0, 0x30, 0x16, 0xac, 0x77, 0x82, 0x9a, 0x91, 0xcb, 0x5e, 0x21, 0x6a, 0x46, 0x2e, 0x7f, 0x5a, 0xf8, 0x55,
0xde, 0x2b, 0x32, 0xd5, 0x42, 0xf1, 0xad, 0x63, 0xa7, 0x53, 0x56, 0x25, 0x87, 0xfb, 0x05, 0x58, 0x68, 0x18, 0xaf, 0xfa, 0x98, 0x91, 0x20, 0x98, 0x7b, 0xcf, 0xa7, 0x47, 0x54, 0xf6, 0x08, 0x70,
0xb0, 0x1e, 0x1e, 0x6a, 0xc9, 0x28, 0x7b, 0xd6, 0xa8, 0x25, 0xa3, 0xfc, 0xad, 0xe2, 0x57, 0xa0, 0x95, 0xe6, 0xbb, 0xe8, 0xd6, 0x71, 0xbe, 0x94, 0x4b, 0x8e, 0x7b, 0xfa, 0x0d, 0x58, 0xb4, 0xdf,
0x61, 0x3c, 0x13, 0x64, 0x46, 0xc6, 0x61, 0xee, 0x81, 0xa0, 0x1e, 0x51, 0xd9, 0xab, 0xc2, 0x55, 0xf9, 0x69, 0x21, 0x28, 0x7d, 0x31, 0xa8, 0x85, 0xe0, 0x82, 0xc7, 0x81, 0x92, 0x7f, 0x36, 0x57,
0x9a, 0xef, 0xa2, 0x5b, 0xc7, 0xf9, 0x52, 0x72, 0x3a, 0x32, 0xc9, 0xd7, 0x61, 0xd1, 0x7e, 0x38, 0x74, 0x27, 0x77, 0x3e, 0x92, 0xb7, 0x86, 0xcf, 0xd8, 0x97, 0x50, 0xd2, 0x65, 0x72, 0x3f, 0xcb,
0xa8, 0xa5, 0xaa, 0xf4, 0x09, 0xa2, 0x96, 0xaa, 0x0b, 0x5e, 0x1b, 0x4a, 0x86, 0xdc, 0x5c, 0xd1, 0x5e, 0x37, 0xda, 0x4f, 0x00, 0x34, 0x73, 0x16, 0xde, 0x01, 0xb8, 0xcb, 0xd4, 0x78, 0x83, 0x65,
0x9d, 0xdc, 0xf9, 0x58, 0x5e, 0x43, 0x3e, 0x67, 0x5f, 0x42, 0xd5, 0x21, 0x5f, 0x0b, 0xb0, 0xec, 0x33, 0x10, 0xea, 0x9b, 0x92, 0xfc, 0x0d, 0xf5, 0x6d, 0xbe, 0x03, 0x30, 0xd4, 0xb7, 0xf5, 0x16,
0xb9, 0xa4, 0xfd, 0xa6, 0x40, 0x73, 0x7b, 0xe1, 0x61, 0x81, 0xbb, 0x4c, 0x8d, 0x37, 0x58, 0x36, 0x20, 0xaf, 0xbe, 0xd3, 0x00, 0xdb, 0x08, 0x61, 0x29, 0x97, 0x21, 0xa3, 0x79, 0xbb, 0x3c, 0xa5,
0x03, 0x61, 0x0f, 0xe8, 0xd5, 0x80, 0x61, 0x0f, 0xcc, 0x87, 0x05, 0x86, 0x3d, 0xb0, 0x1e, 0x17, 0xb0, 0x73, 0xfd, 0xf9, 0x89, 0x35, 0xb6, 0x56, 0x50, 0xda, 0xe0, 0x8e, 0xca, 0x00, 0xfd, 0x65,
0xe4, 0xed, 0x41, 0x1a, 0x60, 0x1b, 0x21, 0x2c, 0xe5, 0x52, 0x6e, 0xb4, 0xb0, 0x94, 0xe7, 0x28, 0x68, 0x9a, 0xef, 0xb3, 0xb4, 0x42, 0x2f, 0x79, 0x55, 0xa6, 0x15, 0x7a, 0xd9, 0x83, 0x2e, 0xb5,
0x76, 0xae, 0xbf, 0x38, 0x53, 0xc7, 0x56, 0x33, 0x4a, 0xbd, 0xdc, 0x51, 0x29, 0xa5, 0xbf, 0x04, 0xb9, 0xac, 0x69, 0x76, 0x83, 0x9b, 0x6b, 0x3f, 0x50, 0xc9, 0x34, 0x5c, 0xd9, 0xbb, 0x9c, 0x4c,
0x4d, 0xf3, 0xc1, 0x97, 0xb6, 0x10, 0x25, 0xcf, 0xd4, 0xb4, 0x85, 0x28, 0x7b, 0x21, 0xa6, 0x36, 0xc3, 0x95, 0xbe, 0x6a, 0x51, 0x9b, 0xcb, 0x56, 0xac, 0xb9, 0x88, 0x90, 0x30, 0xfb, 0x2a, 0x2c,
0x97, 0x35, 0xcd, 0x6e, 0x70, 0x73, 0xed, 0x17, 0x2f, 0x99, 0xca, 0x2c, 0x7b, 0xe8, 0x93, 0xa9, 0x19, 0xe9, 0x67, 0x47, 0xd3, 0xb0, 0xa7, 0x19, 0xb5, 0x98, 0xba, 0xdc, 0x29, 0x73, 0x14, 0xdd,
0xcc, 0xd2, 0x67, 0x32, 0x6a, 0x73, 0xd9, 0x8a, 0x35, 0x17, 0x11, 0x63, 0x66, 0x5f, 0x81, 0x25, 0x0d, 0x6a, 0x7f, 0xd9, 0xb5, 0x26, 0x81, 0x4c, 0xba, 0x03, 0x0d, 0x33, 0xb5, 0xed, 0x39, 0xed,
0x23, 0x9f, 0xed, 0x68, 0x1a, 0xf6, 0x34, 0xa3, 0x16, 0x73, 0xa1, 0x3b, 0x65, 0x9e, 0xa7, 0xbb, 0x6e, 0x18, 0x55, 0x66, 0x9e, 0xee, 0x5d, 0x87, 0xfd, 0xa1, 0x03, 0x4d, 0x2b, 0x51, 0xcc, 0xba,
0x41, 0xed, 0x2f, 0xbb, 0xd6, 0x24, 0x90, 0x49, 0x77, 0xa0, 0x61, 0xe6, 0xca, 0xbd, 0xa0, 0xdd, 0xf8, 0xc8, 0xb5, 0xd3, 0x36, 0xeb, 0xcc, 0x86, 0x5c, 0x8f, 0x06, 0x79, 0xb0, 0xf9, 0x05, 0x6b,
0x0d, 0xa3, 0xca, 0x4c, 0xfc, 0xbd, 0xeb, 0xb0, 0x3f, 0x70, 0xa0, 0x69, 0x65, 0x9e, 0x59, 0x37, 0x11, 0x3e, 0xb2, 0x0e, 0x1c, 0xb7, 0xf3, 0x4f, 0xf9, 0x9f, 0xe5, 0x09, 0xcc, 0xf4, 0xee, 0x67,
0x29, 0xb9, 0x76, 0xda, 0x66, 0x9d, 0xd9, 0x90, 0xeb, 0xd1, 0x20, 0x0f, 0x36, 0xbf, 0x60, 0x2d, 0x77, 0x1d, 0xf6, 0x27, 0x0e, 0x2c, 0xda, 0xc7, 0x64, 0xbd, 0x55, 0xa5, 0x07, 0x72, 0xbd, 0x55,
0xc2, 0xc7, 0xd6, 0x09, 0xe6, 0x76, 0xfe, 0x7f, 0x03, 0x9e, 0xe7, 0x09, 0xcc, 0x7c, 0xf1, 0xe7, 0x17, 0x9c, 0xad, 0x7f, 0x06, 0xa3, 0x64, 0xef, 0x88, 0x3f, 0xd4, 0x50, 0x31, 0x1b, 0x66, 0xe8,
0x77, 0x1d, 0xf6, 0xc7, 0x0e, 0x2c, 0xda, 0xe7, 0x6e, 0xbd, 0x55, 0xa5, 0x27, 0x7c, 0xbd, 0x55, 0xe6, 0xfc, 0xb6, 0x9a, 0xff, 0x26, 0x71, 0xcb, 0xb9, 0xeb, 0xb0, 0xaf, 0x8b, 0x7f, 0x15, 0x90,
0x17, 0x1c, 0xd6, 0x7f, 0x0e, 0xa3, 0x64, 0xef, 0x89, 0x7f, 0xef, 0x50, 0x41, 0x20, 0x66, 0x28, 0xdf, 0x12, 0x77, 0xbc, 0xe8, 0xf7, 0xee, 0x6b, 0x34, 0x97, 0xeb, 0xee, 0x55, 0x6b, 0x2e, 0x79,
0xfb, 0xfc, 0xb6, 0x9a, 0x7f, 0x5d, 0x71, 0xcb, 0xb9, 0xeb, 0xb0, 0xaf, 0x89, 0xbf, 0x30, 0x90, 0xe3, 0xb4, 0x2d, 0x46, 0x27, 0xff, 0x2c, 0x22, 0x53, 0xdb, 0x85, 0x3f, 0x90, 0xb8, 0x78, 0x90,
0xdf, 0x12, 0x77, 0xbc, 0xec, 0xf7, 0xee, 0x1b, 0x34, 0x97, 0xeb, 0xee, 0x55, 0x6b, 0x2e, 0x79, 0x23, 0x31, 0x48, 0x49, 0x6e, 0xb1, 0xf0, 0x0b, 0x36, 0xe3, 0x6e, 0xd2, 0x58, 0x5f, 0x73, 0x5f,
0x6b, 0xb7, 0x2d, 0x46, 0x27, 0xff, 0x99, 0x22, 0x53, 0xdb, 0x85, 0x7f, 0xab, 0xb8, 0x78, 0x90, 0xb9, 0x70, 0xac, 0x77, 0xe8, 0x90, 0x8b, 0x23, 0x3e, 0x04, 0xc8, 0xe2, 0xab, 0x2c, 0x17, 0xdf,
0x23, 0x31, 0x48, 0x49, 0x6e, 0xb1, 0xf0, 0x4b, 0x36, 0xe3, 0x6e, 0xd2, 0x58, 0xdf, 0x70, 0x5f, 0xd3, 0x96, 0xab, 0x18, 0x82, 0xb5, 0xe5, 0x44, 0x85, 0x01, 0xb1, 0xc5, 0xaf, 0x09, 0x75, 0xf2,
0xbb, 0x70, 0xac, 0x77, 0xe8, 0xd4, 0x8c, 0x23, 0x3e, 0x04, 0xc8, 0x02, 0xb6, 0x2c, 0x17, 0x30, 0x50, 0x45, 0x06, 0xaf, 0x1a, 0x2a, 0xc3, 0x0e, 0x84, 0x76, 0x3a, 0x65, 0x55, 0x65, 0xca, 0x44,
0xd4, 0x96, 0xab, 0x18, 0xd3, 0xb5, 0xe5, 0x44, 0xc5, 0x15, 0xb1, 0xc5, 0xaf, 0x0a, 0x75, 0xf2, 0x87, 0x19, 0xdf, 0x87, 0x85, 0x83, 0x28, 0x7a, 0x3a, 0x19, 0xeb, 0xdb, 0x0a, 0x3b, 0xfe, 0xb4,
0x50, 0x85, 0x1a, 0xaf, 0x1a, 0x2a, 0xc3, 0x8e, 0xac, 0x76, 0x3a, 0x65, 0x55, 0x65, 0xca, 0x44,
0xc7, 0x2d, 0x3f, 0x84, 0x85, 0x83, 0x28, 0x7a, 0x36, 0x19, 0xeb, 0xeb, 0x0f, 0x3b, 0xa0, 0xb5,
0xef, 0x27, 0xa7, 0x9d, 0xdc, 0x2c, 0xdc, 0x1b, 0xd4, 0x54, 0x87, 0xb5, 0x8d, 0xa6, 0xee, 0x7c, 0xef, 0x27, 0xa7, 0x9d, 0xdc, 0x2c, 0xdc, 0x1b, 0xd4, 0x54, 0x87, 0xb5, 0x8d, 0xa6, 0xee, 0x7c,
0x9c, 0x05, 0x84, 0x9f, 0x33, 0x1f, 0x96, 0xb5, 0x97, 0xa2, 0x07, 0xde, 0xb1, 0x9b, 0x31, 0x43, 0x94, 0xc5, 0x6f, 0x9f, 0x31, 0x1f, 0x96, 0xb5, 0x53, 0xa1, 0x07, 0xde, 0xb1, 0x9b, 0x31, 0x23,
0x99, 0x85, 0x2e, 0x2c, 0xbf, 0x51, 0x8d, 0xf6, 0x4e, 0xa2, 0xda, 0xbc, 0xeb, 0xb0, 0x43, 0x68, 0x8f, 0x85, 0x2e, 0x2c, 0x37, 0x4f, 0x8d, 0xf6, 0x4e, 0xa2, 0xda, 0xbc, 0xeb, 0xb0, 0x43, 0x68,
0xee, 0xf2, 0x5e, 0xd4, 0xe7, 0x32, 0x2a, 0xb4, 0x92, 0x0d, 0x5c, 0x87, 0x93, 0x3a, 0x0b, 0x16, 0xee, 0xf2, 0x5e, 0xd4, 0xe7, 0x32, 0x88, 0xb3, 0x92, 0x0d, 0x5c, 0x47, 0x7f, 0x3a, 0x0b, 0x16,
0x68, 0xeb, 0xed, 0xb1, 0x3f, 0x8d, 0xf9, 0x37, 0xee, 0x7c, 0x2c, 0xe3, 0x4d, 0xcf, 0x95, 0xde, 0x68, 0xeb, 0xed, 0xb1, 0x3f, 0x8d, 0xf9, 0x37, 0xef, 0x7c, 0x24, 0xc3, 0x43, 0xcf, 0x94, 0xde,
0x56, 0x01, 0x39, 0x4b, 0x6f, 0xe7, 0x22, 0x78, 0x96, 0xde, 0x2e, 0x44, 0xf0, 0xac, 0xa5, 0x56, 0x56, 0xf1, 0x33, 0x4b, 0x6f, 0xe7, 0x02, 0x6e, 0x96, 0xde, 0x2e, 0x04, 0xdc, 0xac, 0xa5, 0x56,
0x01, 0x41, 0x36, 0x84, 0xe5, 0x42, 0xd0, 0x4f, 0xfb, 0x3a, 0x17, 0x85, 0x0a, 0x3b, 0x37, 0x2e, 0xf1, 0x3b, 0x36, 0x84, 0xe5, 0x42, 0x8c, 0x8e, 0xbd, 0xa2, 0x2c, 0xef, 0x05, 0x91, 0xbd, 0xce,
0x26, 0xb0, 0x7b, 0xdb, 0xb4, 0x7b, 0x3b, 0x82, 0x85, 0x5d, 0x2e, 0x16, 0x4b, 0xe4, 0x58, 0xe4, 0x8d, 0x8b, 0x09, 0xec, 0xde, 0x36, 0xed, 0xde, 0x8e, 0x60, 0x61, 0x97, 0x8b, 0xc5, 0x12, 0x29,
0x1e, 0x3f, 0x9a, 0xf9, 0x18, 0x79, 0xc5, 0x4d, 0x75, 0xb6, 0x61, 0xa6, 0x04, 0x07, 0xf6, 0x55, 0x11, 0xb9, 0xb7, 0x8a, 0x66, 0xfa, 0x44, 0x5e, 0x71, 0x53, 0x9d, 0x6d, 0x98, 0x29, 0x1f, 0x81,
0x68, 0x3c, 0xe0, 0xa9, 0x4a, 0xaa, 0xd0, 0x1e, 0x63, 0x2e, 0xcb, 0xa2, 0x53, 0x92, 0x93, 0x61, 0x7d, 0x0d, 0x1a, 0x0f, 0x78, 0xaa, 0x72, 0x20, 0xb4, 0x83, 0x97, 0x4b, 0x8a, 0xe8, 0x94, 0xa4,
0xf3, 0x0c, 0xb5, 0x76, 0x87, 0xf7, 0x07, 0x5c, 0x28, 0xa7, 0x6e, 0xd0, 0x7f, 0xce, 0xfe, 0x3f, 0x50, 0xd8, 0x3c, 0x43, 0xad, 0xdd, 0xe1, 0xfd, 0x01, 0x17, 0xca, 0xa9, 0x1b, 0xf4, 0x9f, 0xb1,
0x35, 0xae, 0x73, 0xb4, 0xd6, 0x8d, 0xbb, 0x78, 0xb3, 0xf1, 0xa5, 0x1c, 0x5e, 0xd6, 0x72, 0x18, 0x5f, 0xa4, 0xc6, 0x75, 0x4a, 0xd5, 0xba, 0x71, 0x75, 0x6e, 0x36, 0xbe, 0x94, 0xc3, 0xcb, 0x5a,
0xf5, 0xb9, 0xe1, 0xa2, 0x84, 0xd0, 0x30, 0x12, 0x08, 0xb5, 0x00, 0x15, 0x93, 0x21, 0xb5, 0x00, 0x0e, 0xa3, 0x3e, 0x37, 0x5c, 0x94, 0x10, 0x1a, 0x46, 0xbe, 0x9f, 0x16, 0xa0, 0x62, 0xee, 0xa2,
0x95, 0xe4, 0x1b, 0xba, 0xb7, 0xa8, 0x1f, 0x97, 0xdd, 0xc8, 0xfa, 0x11, 0x39, 0x86, 0x59, 0x4f, 0x16, 0xa0, 0x92, 0xf4, 0x40, 0xf7, 0x16, 0xf5, 0xe3, 0xb2, 0x1b, 0x59, 0x3f, 0x22, 0x25, 0x30,
0x77, 0x3e, 0xf6, 0x47, 0xe9, 0x73, 0xf6, 0x94, 0x1e, 0x42, 0x9a, 0x89, 0x23, 0x99, 0xc7, 0x9a, 0xeb, 0xe9, 0xce, 0x47, 0xfe, 0x28, 0x7d, 0xc6, 0x3e, 0xa0, 0x77, 0x8b, 0x66, 0x9e, 0x47, 0xe6,
0xcf, 0x31, 0xd1, 0x8b, 0x65, 0x54, 0xd9, 0x5e, 0xac, 0xe8, 0x8a, 0x3c, 0x99, 0xcf, 0x00, 0x1c, 0xb1, 0xe6, 0x53, 0x42, 0xf4, 0x62, 0x19, 0x55, 0xb6, 0x17, 0x2b, 0xba, 0x22, 0x4f, 0xe6, 0x33,
0xa5, 0xd1, 0x78, 0xd7, 0xe7, 0xa3, 0x28, 0xcc, 0x74, 0x6d, 0x96, 0x1c, 0x91, 0xe9, 0x2f, 0x23, 0x00, 0x47, 0x69, 0x34, 0xde, 0xf5, 0xf9, 0x28, 0x0a, 0x33, 0x5d, 0x9b, 0xe5, 0x32, 0x64, 0xfa,
0x43, 0x82, 0x3d, 0x35, 0xce, 0x0c, 0x56, 0xde, 0x8d, 0x62, 0xae, 0x0b, 0xf3, 0x27, 0xf4, 0x82, 0xcb, 0x48, 0x68, 0x60, 0x1f, 0x18, 0x2e, 0xbe, 0x95, 0x26, 0xa3, 0x98, 0xeb, 0xc2, 0x74, 0x07,
0x94, 0xe4, 0x50, 0xdc, 0x75, 0xf0, 0x04, 0x90, 0x45, 0x7d, 0xf5, 0x09, 0xa0, 0x10, 0x50, 0xd6, 0xbd, 0x20, 0x25, 0x29, 0x0f, 0x77, 0x1d, 0xb6, 0x0d, 0x90, 0x05, 0x69, 0xb5, 0xc3, 0x5e, 0x88,
0x6a, 0xaf, 0x24, 0x44, 0x7c, 0x08, 0xf5, 0x2c, 0x8c, 0xb8, 0x91, 0x25, 0x81, 0x5a, 0x41, 0x47, 0xff, 0x6a, 0xb5, 0x57, 0x12, 0xd1, 0x3d, 0x84, 0x7a, 0x16, 0xf5, 0xdb, 0xc8, 0x72, 0x36, 0xad,
0x6d, 0xb9, 0x0b, 0xc1, 0x3d, 0xb7, 0x45, 0x4b, 0x05, 0x6c, 0x1e, 0x97, 0x8a, 0x22, 0x76, 0x01, 0x18, 0xa1, 0xb6, 0xdc, 0x85, 0x58, 0x9c, 0xdb, 0xa2, 0xa5, 0x02, 0x36, 0x8f, 0x4b, 0x45, 0x01,
0xac, 0x88, 0x01, 0x6a, 0x37, 0x84, 0xae, 0xfb, 0xd5, 0x4c, 0x4a, 0x02, 0x6c, 0x5a, 0x9a, 0x4b, 0xb6, 0x00, 0x56, 0xc4, 0x00, 0xb5, 0x1b, 0x42, 0xb7, 0xf3, 0x6a, 0x26, 0x25, 0xf1, 0x30, 0x2d,
0xe3, 0x53, 0x56, 0x2c, 0x00, 0xb9, 0x55, 0xa4, 0x1a, 0xa0, 0x6a, 0x1e, 0xc1, 0x72, 0x21, 0xb8, 0xcd, 0xa5, 0xe1, 0x24, 0xeb, 0xe8, 0x8e, 0xdc, 0x2a, 0x32, 0x03, 0x50, 0x35, 0x8f, 0x60, 0xb9,
0xa2, 0x45, 0xfa, 0xa2, 0x98, 0x96, 0x16, 0xe9, 0x0b, 0xe3, 0x32, 0xee, 0x1a, 0x75, 0xb9, 0xe4, 0x10, 0x0b, 0xd1, 0x22, 0x7d, 0x51, 0x08, 0x4a, 0x8b, 0xf4, 0x85, 0x61, 0x14, 0x77, 0x8d, 0xba,
0x02, 0x76, 0x99, 0x9c, 0x07, 0x69, 0xef, 0xf4, 0x3d, 0x67, 0xf3, 0x78, 0x96, 0xfe, 0xed, 0xef, 0x5c, 0x72, 0x01, 0xbb, 0x4c, 0xce, 0x83, 0xb4, 0x77, 0xfa, 0x8e, 0xb3, 0x79, 0x3c, 0x4b, 0x7f,
0x53, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x11, 0xfa, 0xf1, 0x61, 0x1f, 0x50, 0x00, 0x00, 0xc0, 0xf7, 0xa9, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x63, 0x24, 0x7e, 0xd9, 0xb2, 0x4f, 0x00,
0x00,
} }

@ -124,11 +124,19 @@ func request_Lightning_SendCoins_0(ctx context.Context, marshaler runtime.Marsha
} }
func request_Lightning_NewWitnessAddress_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var (
var protoReq NewWitnessAddressRequest filter_Lightning_NewAddress_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
func request_Lightning_NewAddress_0(ctx context.Context, marshaler runtime.Marshaler, client LightningClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq NewAddressRequest
var metadata runtime.ServerMetadata var metadata runtime.ServerMetadata
msg, err := client.NewWitnessAddress(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Lightning_NewAddress_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.NewAddress(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err return msg, metadata, err
} }
@ -976,7 +984,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_NewWitnessAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_NewAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(ctx)
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
@ -994,14 +1002,14 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
} }
resp, md, err := request_Lightning_NewWitnessAddress_0(rctx, inboundMarshaler, client, req, pathParams) resp, md, err := request_Lightning_NewAddress_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md) ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil { if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
} }
forward_Lightning_NewWitnessAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) forward_Lightning_NewAddress_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
}) })
@ -1800,7 +1808,7 @@ var (
pattern_Lightning_SendCoins_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "transactions"}, "")) pattern_Lightning_SendCoins_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "transactions"}, ""))
pattern_Lightning_NewWitnessAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "newaddress"}, "")) pattern_Lightning_NewAddress_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "newaddress"}, ""))
pattern_Lightning_ConnectPeer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "peers"}, "")) pattern_Lightning_ConnectPeer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "peers"}, ""))
@ -1866,7 +1874,7 @@ var (
forward_Lightning_SendCoins_0 = runtime.ForwardResponseMessage forward_Lightning_SendCoins_0 = runtime.ForwardResponseMessage
forward_Lightning_NewWitnessAddress_0 = runtime.ForwardResponseMessage forward_Lightning_NewAddress_0 = runtime.ForwardResponseMessage
forward_Lightning_ConnectPeer_0 = runtime.ForwardResponseMessage forward_Lightning_ConnectPeer_0 = runtime.ForwardResponseMessage

@ -249,12 +249,7 @@ service Lightning {
/** lncli: `newaddress` /** lncli: `newaddress`
NewAddress creates a new address under control of the local wallet. NewAddress creates a new address under control of the local wallet.
*/ */
rpc NewAddress (NewAddressRequest) returns (NewAddressResponse); rpc NewAddress (NewAddressRequest) returns (NewAddressResponse) {
/**
NewWitnessAddress creates a new witness address under control of the local wallet.
*/
rpc NewWitnessAddress (NewWitnessAddressRequest) returns (NewAddressResponse) {
option (google.api.http) = { option (google.api.http) = {
get: "/v1/newaddress" get: "/v1/newaddress"
}; };
@ -807,7 +802,6 @@ message SendCoinsResponse {
- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) - `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0)
- `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1)
- `p2pkh`: Pay to public key hash (`PUBKEY_HASH` = 2)
*/ */
message NewAddressRequest { message NewAddressRequest {
enum AddressType { enum AddressType {
@ -818,10 +812,6 @@ message NewAddressRequest {
/// The address type /// The address type
AddressType type = 1; AddressType type = 1;
} }
message NewWitnessAddressRequest {
}
message NewAddressResponse { message NewAddressResponse {
/// The newly generated wallet address /// The newly generated wallet address
string address = 1 [json_name = "address"]; string address = 1 [json_name = "address"];

@ -732,8 +732,8 @@
}, },
"/v1/newaddress": { "/v1/newaddress": {
"get": { "get": {
"summary": "*\nNewWitnessAddress creates a new witness address under control of the local wallet.", "summary": "* lncli: `newaddress`\nNewAddress creates a new address under control of the local wallet.",
"operationId": "NewWitnessAddress", "operationId": "NewAddress",
"responses": { "responses": {
"200": { "200": {
"description": "", "description": "",
@ -742,6 +742,20 @@
} }
} }
}, },
"parameters": [
{
"name": "type",
"description": "/ The address type.",
"in": "query",
"required": false,
"type": "string",
"enum": [
"WITNESS_PUBKEY_HASH",
"NESTED_PUBKEY_HASH"
],
"default": "WITNESS_PUBKEY_HASH"
}
],
"tags": [ "tags": [
"Lightning" "Lightning"
] ]

@ -160,10 +160,6 @@ var (
Entity: "address", Entity: "address",
Action: "write", Action: "write",
}}, }},
"/lnrpc.Lightning/NewWitnessAddress": {{
Entity: "address",
Action: "write",
}},
"/lnrpc.Lightning/SignMessage": {{ "/lnrpc.Lightning/SignMessage": {{
Entity: "message", Entity: "message",
Action: "write", Action: "write",
@ -538,22 +534,6 @@ func (r *rpcServer) NewAddress(ctx context.Context,
return &lnrpc.NewAddressResponse{Address: addr.String()}, nil return &lnrpc.NewAddressResponse{Address: addr.String()}, nil
} }
// NewWitnessAddress returns a new native witness address under the control of
// the local wallet.
func (r *rpcServer) NewWitnessAddress(ctx context.Context,
in *lnrpc.NewWitnessAddressRequest) (*lnrpc.NewAddressResponse, error) {
addr, err := r.server.cc.wallet.NewAddress(
lnwallet.NestedWitnessPubKey, false,
)
if err != nil {
return nil, err
}
rpcsLog.Infof("[newaddress] addr=%v", addr.String())
return &lnrpc.NewAddressResponse{Address: addr.String()}, nil
}
var ( var (
// signedMsgPrefix is a special prefix that we'll prepend to any // signedMsgPrefix is a special prefix that we'll prepend to any
// messages we sign/verify. We do this to ensure that we don't // messages we sign/verify. We do this to ensure that we don't