lnrpc: re-compile protos with protoc v3.0.2 add json_name option

This commit modifies the protobuf file and most of the auto-generated
files to be generated by protoc version v3.0.2. Additionally, this
fixes a minor cosmetic regression within the `lncli` command line tool
which caused the JSON responses to be rendered in `camelCase` rather
than `snake_case`. We fix this by specifying the `json_name` for each
relevant RPC response.
This commit is contained in:
Olaoluwa Osuntokun 2017-02-27 21:03:43 -06:00
parent fc54c5d8d8
commit 3a851d8bc6
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
3 changed files with 552 additions and 583 deletions

@ -153,13 +153,13 @@ func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) {
}
type Transaction struct {
TxHash string `protobuf:"bytes,1,opt,name=tx_hash,json=txHash" json:"tx_hash,omitempty"`
TxHash string `protobuf:"bytes,1,opt,name=tx_hash" json:"tx_hash,omitempty"`
Amount float64 `protobuf:"fixed64,2,opt,name=amount" json:"amount,omitempty"`
NumConfirmations int32 `protobuf:"varint,3,opt,name=num_confirmations,json=numConfirmations" json:"num_confirmations,omitempty"`
BlockHash string `protobuf:"bytes,4,opt,name=block_hash,json=blockHash" json:"block_hash,omitempty"`
BlockHeight int32 `protobuf:"varint,5,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
TimeStamp int64 `protobuf:"varint,6,opt,name=time_stamp,json=timeStamp" json:"time_stamp,omitempty"`
TotalFees int64 `protobuf:"varint,7,opt,name=total_fees,json=totalFees" json:"total_fees,omitempty"`
NumConfirmations int32 `protobuf:"varint,3,opt,name=num_confirmations" json:"num_confirmations,omitempty"`
BlockHash string `protobuf:"bytes,4,opt,name=block_hash" json:"block_hash,omitempty"`
BlockHeight int32 `protobuf:"varint,5,opt,name=block_height" json:"block_height,omitempty"`
TimeStamp int64 `protobuf:"varint,6,opt,name=time_stamp" json:"time_stamp,omitempty"`
TotalFees int64 `protobuf:"varint,7,opt,name=total_fees" json:"total_fees,omitempty"`
}
func (m *Transaction) Reset() { *m = Transaction{} }
@ -297,8 +297,8 @@ func (m *SendRequest) GetPaymentRequest() string {
}
type SendResponse struct {
PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"`
PaymentRoute *Route `protobuf:"bytes,2,opt,name=payment_route,json=paymentRoute" json:"payment_route,omitempty"`
PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,proto3" json:"payment_preimage,omitempty"`
PaymentRoute *Route `protobuf:"bytes,2,opt,name=payment_route" json:"payment_route,omitempty"`
}
func (m *SendResponse) Reset() { *m = SendResponse{} }
@ -321,9 +321,9 @@ func (m *SendResponse) GetPaymentRoute() *Route {
}
type ChannelPoint struct {
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"`
FundingTxidStr string `protobuf:"bytes,2,opt,name=funding_txid_str,json=fundingTxidStr" json:"funding_txid_str,omitempty"`
OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,proto3" json:"funding_txid,omitempty"`
FundingTxidStr string `protobuf:"bytes,2,opt,name=funding_txid_str" json:"funding_txid_str,omitempty"`
OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index" json:"output_index,omitempty"`
}
func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
@ -513,7 +513,7 @@ func (m *ConnectPeerRequest) GetPerm() bool {
}
type ConnectPeerResponse struct {
PeerId int32 `protobuf:"varint,1,opt,name=peer_id,json=peerId" json:"peer_id,omitempty"`
PeerId int32 `protobuf:"varint,1,opt,name=peer_id" json:"peer_id,omitempty"`
}
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
@ -531,9 +531,9 @@ func (m *ConnectPeerResponse) GetPeerId() int32 {
type HTLC struct {
Incoming bool `protobuf:"varint,1,opt,name=incoming" json:"incoming,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,json=hashLock,proto3" json:"hash_lock,omitempty"`
ExpirationHeight uint32 `protobuf:"varint,4,opt,name=expiration_height,json=expirationHeight" json:"expiration_height,omitempty"`
RevocationDelay uint32 `protobuf:"varint,5,opt,name=revocation_delay,json=revocationDelay" json:"revocation_delay,omitempty"`
HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,proto3" json:"hash_lock,omitempty"`
ExpirationHeight uint32 `protobuf:"varint,4,opt,name=expiration_height" json:"expiration_height,omitempty"`
RevocationDelay uint32 `protobuf:"varint,5,opt,name=revocation_delay" json:"revocation_delay,omitempty"`
}
func (m *HTLC) Reset() { *m = HTLC{} }
@ -577,17 +577,17 @@ func (m *HTLC) GetRevocationDelay() uint32 {
}
type ActiveChannel struct {
RemotePubkey string `protobuf:"bytes,1,opt,name=remote_pubkey,json=remotePubkey" json:"remote_pubkey,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
ChanId uint64 `protobuf:"varint,3,opt,name=chan_id,json=chanId" json:"chan_id,omitempty"`
RemotePubkey string `protobuf:"bytes,1,opt,name=remote_pubkey" json:"remote_pubkey,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point" json:"channel_point,omitempty"`
ChanId uint64 `protobuf:"varint,3,opt,name=chan_id" json:"chan_id,omitempty"`
Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance,json=localBalance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance,json=remoteBalance" json:"remote_balance,omitempty"`
UnsettledBalance int64 `protobuf:"varint,7,opt,name=unsettled_balance,json=unsettledBalance" json:"unsettled_balance,omitempty"`
TotalSatoshisSent int64 `protobuf:"varint,8,opt,name=total_satoshis_sent,json=totalSatoshisSent" json:"total_satoshis_sent,omitempty"`
TotalSatoshisReceived int64 `protobuf:"varint,9,opt,name=total_satoshis_received,json=totalSatoshisReceived" json:"total_satoshis_received,omitempty"`
NumUpdates uint64 `protobuf:"varint,10,opt,name=num_updates,json=numUpdates" json:"num_updates,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,11,rep,name=pending_htlcs,json=pendingHtlcs" json:"pending_htlcs,omitempty"`
LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance" json:"remote_balance,omitempty"`
UnsettledBalance int64 `protobuf:"varint,7,opt,name=unsettled_balance" json:"unsettled_balance,omitempty"`
TotalSatoshisSent int64 `protobuf:"varint,8,opt,name=total_satoshis_sent" json:"total_satoshis_sent,omitempty"`
TotalSatoshisReceived int64 `protobuf:"varint,9,opt,name=total_satoshis_received" json:"total_satoshis_received,omitempty"`
NumUpdates uint64 `protobuf:"varint,10,opt,name=num_updates" json:"num_updates,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,11,rep,name=pending_htlcs" json:"pending_htlcs,omitempty"`
}
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
@ -697,15 +697,15 @@ func (m *ListChannelsResponse) GetChannels() []*ActiveChannel {
}
type Peer struct {
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"`
PeerId int32 `protobuf:"varint,2,opt,name=peer_id,json=peerId" json:"peer_id,omitempty"`
PubKey string `protobuf:"bytes,1,opt,name=pub_key" json:"pub_key,omitempty"`
PeerId int32 `protobuf:"varint,2,opt,name=peer_id" json:"peer_id,omitempty"`
Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent,json=bytesSent" json:"bytes_sent,omitempty"`
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv,json=bytesRecv" json:"bytes_recv,omitempty"`
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent,json=satSent" json:"sat_sent,omitempty"`
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv,json=satRecv" json:"sat_recv,omitempty"`
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent" json:"bytes_sent,omitempty"`
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv" json:"bytes_recv,omitempty"`
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent" json:"sat_sent,omitempty"`
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv" json:"sat_recv,omitempty"`
Inbound bool `protobuf:"varint,8,opt,name=inbound" json:"inbound,omitempty"`
PingTime int64 `protobuf:"varint,9,opt,name=ping_time,json=pingTime" json:"ping_time,omitempty"`
PingTime int64 `protobuf:"varint,9,opt,name=ping_time" json:"ping_time,omitempty"`
}
func (m *Peer) Reset() { *m = Peer{} }
@ -809,14 +809,14 @@ func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
type GetInfoResponse struct {
IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey,json=identityPubkey" json:"identity_pubkey,omitempty"`
IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey" json:"identity_pubkey,omitempty"`
Alias string `protobuf:"bytes,2,opt,name=alias" json:"alias,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels,json=numPendingChannels" json:"num_pending_channels,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels,json=numActiveChannels" json:"num_active_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers,json=numPeers" json:"num_peers,omitempty"`
BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
BlockHash string `protobuf:"bytes,8,opt,name=block_hash,json=blockHash" json:"block_hash,omitempty"`
SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain,json=syncedToChain" json:"synced_to_chain,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels" json:"num_pending_channels,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels" json:"num_active_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers" json:"num_peers,omitempty"`
BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height" json:"block_height,omitempty"`
BlockHash string `protobuf:"bytes,8,opt,name=block_hash" json:"block_hash,omitempty"`
SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain" json:"synced_to_chain,omitempty"`
Testnet bool `protobuf:"varint,10,opt,name=testnet" json:"testnet,omitempty"`
}
@ -921,7 +921,7 @@ func (m *ConfirmationUpdate) GetNumConfsLeft() uint32 {
}
type ChannelOpenUpdate 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:"channel_point,omitempty"`
}
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
@ -937,7 +937,7 @@ func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
}
type ChannelCloseUpdate struct {
ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"`
ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,proto3" json:"closing_txid,omitempty"`
Success bool `protobuf:"varint,2,opt,name=success" json:"success,omitempty"`
}
@ -1010,13 +1010,13 @@ type isCloseStatusUpdate_Update interface {
}
type CloseStatusUpdate_ClosePending struct {
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,json=closePending,oneof"`
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,oneof"`
}
type CloseStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type CloseStatusUpdate_ChanClose struct {
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,json=chanClose,oneof"`
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,oneof"`
}
func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {}
@ -1146,7 +1146,7 @@ func _CloseStatusUpdate_OneofSizer(msg proto.Message) (n int) {
type PendingUpdate struct {
Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index" json:"output_index,omitempty"`
}
func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
@ -1169,12 +1169,12 @@ func (m *PendingUpdate) GetOutputIndex() uint32 {
}
type OpenChannelRequest struct {
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id,json=targetPeerId" json:"target_peer_id,omitempty"`
NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"`
NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,json=nodePubkeyString" json:"node_pubkey_string,omitempty"`
LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount,json=localFundingAmount" json:"local_funding_amount,omitempty"`
PushSat int64 `protobuf:"varint,5,opt,name=push_sat,json=pushSat" json:"push_sat,omitempty"`
NumConfs uint32 `protobuf:"varint,6,opt,name=num_confs,json=numConfs" json:"num_confs,omitempty"`
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id" json:"target_peer_id,omitempty"`
NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,proto3" json:"node_pubkey,omitempty"`
NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string" json:"node_pubkey_string,omitempty"`
LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount" json:"local_funding_amount,omitempty"`
PushSat int64 `protobuf:"varint,5,opt,name=push_sat" json:"push_sat,omitempty"`
NumConfs uint32 `protobuf:"varint,6,opt,name=num_confs" json:"num_confs,omitempty"`
}
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
@ -1242,13 +1242,13 @@ type isOpenStatusUpdate_Update interface {
}
type OpenStatusUpdate_ChanPending struct {
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,json=chanPending,oneof"`
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,oneof"`
}
type OpenStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type OpenStatusUpdate_ChanOpen struct {
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,json=chanOpen,oneof"`
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,oneof"`
}
func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {}
@ -1393,7 +1393,7 @@ func (m *PendingChannelRequest) GetStatus() ChannelStatus {
}
type PendingChannelResponse struct {
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels,json=pendingChannels" json:"pending_channels,omitempty"`
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"`
}
func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} }
@ -1409,12 +1409,12 @@ func (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_
}
type PendingChannelResponse_PendingChannel struct {
IdentityKey string `protobuf:"bytes,1,opt,name=identity_key,json=identityKey" json:"identity_key,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
IdentityKey string `protobuf:"bytes,1,opt,name=identity_key" json:"identity_key,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point" json:"channel_point,omitempty"`
Capacity int64 `protobuf:"varint,3,opt,name=capacity" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance,json=localBalance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance,json=remoteBalance" json:"remote_balance,omitempty"`
ClosingTxid string `protobuf:"bytes,6,opt,name=closing_txid,json=closingTxid" json:"closing_txid,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance" json:"remote_balance,omitempty"`
ClosingTxid string `protobuf:"bytes,6,opt,name=closing_txid" json:"closing_txid,omitempty"`
Status ChannelStatus `protobuf:"varint,7,opt,name=status,enum=lnrpc.ChannelStatus" json:"status,omitempty"`
}
@ -1555,9 +1555,9 @@ func (m *RouteRequest) GetAmt() int64 {
}
type Hop struct {
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId" json:"chan_id,omitempty"`
ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity,json=chanCapacity" json:"chan_capacity,omitempty"`
AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward,json=amtToForward" json:"amt_to_forward,omitempty"`
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id" json:"chan_id,omitempty"`
ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity" json:"chan_capacity,omitempty"`
AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward" json:"amt_to_forward,omitempty"`
Fee int64 `protobuf:"varint,4,opt,name=fee" json:"fee,omitempty"`
}
@ -1595,9 +1595,9 @@ func (m *Hop) GetFee() int64 {
}
type Route struct {
TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock,json=totalTimeLock" json:"total_time_lock,omitempty"`
TotalFees int64 `protobuf:"varint,2,opt,name=total_fees,json=totalFees" json:"total_fees,omitempty"`
TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt,json=totalAmt" json:"total_amt,omitempty"`
TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock" json:"total_time_lock,omitempty"`
TotalFees int64 `protobuf:"varint,2,opt,name=total_fees" json:"total_fees,omitempty"`
TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt" json:"total_amt,omitempty"`
Hops []*Hop `protobuf:"bytes,4,rep,name=hops" json:"hops,omitempty"`
}
@ -1652,8 +1652,8 @@ func (m *NodeInfoRequest) GetPubKey() string {
type NodeInfo struct {
Node *LightningNode `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels,json=numChannels" json:"num_channels,omitempty"`
TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity,json=totalCapacity" json:"total_capacity,omitempty"`
NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels" json:"num_channels,omitempty"`
TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity" json:"total_capacity,omitempty"`
}
func (m *NodeInfo) Reset() { *m = NodeInfo{} }
@ -1683,8 +1683,8 @@ func (m *NodeInfo) GetTotalCapacity() int64 {
}
type LightningNode struct {
LastUpdate uint32 `protobuf:"varint,1,opt,name=last_update,json=lastUpdate" json:"last_update,omitempty"`
PubKey string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"`
LastUpdate uint32 `protobuf:"varint,1,opt,name=last_update" json:"last_update,omitempty"`
PubKey string `protobuf:"bytes,2,opt,name=pub_key" json:"pub_key,omitempty"`
Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
Alias string `protobuf:"bytes,4,opt,name=alias" json:"alias,omitempty"`
}
@ -1723,10 +1723,10 @@ func (m *LightningNode) GetAlias() string {
}
type RoutingPolicy struct {
TimeLockDelta uint32 `protobuf:"varint,1,opt,name=time_lock_delta,json=timeLockDelta" json:"time_lock_delta,omitempty"`
MinHtlc int64 `protobuf:"varint,2,opt,name=min_htlc,json=minHtlc" json:"min_htlc,omitempty"`
FeeBaseMsat int64 `protobuf:"varint,3,opt,name=fee_base_msat,json=feeBaseMsat" json:"fee_base_msat,omitempty"`
FeeRateMilliMsat int64 `protobuf:"varint,4,opt,name=fee_rate_milli_msat,json=feeRateMilliMsat" json:"fee_rate_milli_msat,omitempty"`
TimeLockDelta uint32 `protobuf:"varint,1,opt,name=time_lock_delta" json:"time_lock_delta,omitempty"`
MinHtlc int64 `protobuf:"varint,2,opt,name=min_htlc" json:"min_htlc,omitempty"`
FeeBaseMsat int64 `protobuf:"varint,3,opt,name=fee_base_msat" json:"fee_base_msat,omitempty"`
FeeRateMilliMsat int64 `protobuf:"varint,4,opt,name=fee_rate_milli_msat" json:"fee_rate_milli_msat,omitempty"`
}
func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
@ -1763,14 +1763,14 @@ func (m *RoutingPolicy) GetFeeRateMilliMsat() int64 {
}
type ChannelEdge struct {
ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId" json:"channel_id,omitempty"`
ChanPoint string `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint" json:"chan_point,omitempty"`
LastUpdate uint32 `protobuf:"varint,3,opt,name=last_update,json=lastUpdate" json:"last_update,omitempty"`
Node1Pub string `protobuf:"bytes,4,opt,name=node1_pub,json=node1Pub" json:"node1_pub,omitempty"`
Node2Pub string `protobuf:"bytes,5,opt,name=node2_pub,json=node2Pub" json:"node2_pub,omitempty"`
ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id" json:"channel_id,omitempty"`
ChanPoint string `protobuf:"bytes,2,opt,name=chan_point" json:"chan_point,omitempty"`
LastUpdate uint32 `protobuf:"varint,3,opt,name=last_update" json:"last_update,omitempty"`
Node1Pub string `protobuf:"bytes,4,opt,name=node1_pub" json:"node1_pub,omitempty"`
Node2Pub string `protobuf:"bytes,5,opt,name=node2_pub" json:"node2_pub,omitempty"`
Capacity int64 `protobuf:"varint,6,opt,name=capacity" json:"capacity,omitempty"`
Node1Policy *RoutingPolicy `protobuf:"bytes,7,opt,name=node1_policy,json=node1Policy" json:"node1_policy,omitempty"`
Node2Policy *RoutingPolicy `protobuf:"bytes,8,opt,name=node2_policy,json=node2Policy" json:"node2_policy,omitempty"`
Node1Policy *RoutingPolicy `protobuf:"bytes,7,opt,name=node1_policy" json:"node1_policy,omitempty"`
Node2Policy *RoutingPolicy `protobuf:"bytes,8,opt,name=node2_policy" json:"node2_policy,omitempty"`
}
func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
@ -1891,15 +1891,15 @@ func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }
type NetworkInfo struct {
GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter,json=graphDiameter" json:"graph_diameter,omitempty"`
AvgOutDegree float64 `protobuf:"fixed64,2,opt,name=avg_out_degree,json=avgOutDegree" json:"avg_out_degree,omitempty"`
MaxOutDegree uint32 `protobuf:"varint,3,opt,name=max_out_degree,json=maxOutDegree" json:"max_out_degree,omitempty"`
NumNodes uint32 `protobuf:"varint,4,opt,name=num_nodes,json=numNodes" json:"num_nodes,omitempty"`
NumChannels uint32 `protobuf:"varint,5,opt,name=num_channels,json=numChannels" json:"num_channels,omitempty"`
TotalNetworkCapacity int64 `protobuf:"varint,6,opt,name=total_network_capacity,json=totalNetworkCapacity" json:"total_network_capacity,omitempty"`
AvgChannelSize float64 `protobuf:"fixed64,7,opt,name=avg_channel_size,json=avgChannelSize" json:"avg_channel_size,omitempty"`
MinChannelSize int64 `protobuf:"varint,8,opt,name=min_channel_size,json=minChannelSize" json:"min_channel_size,omitempty"`
MaxChannelSize int64 `protobuf:"varint,9,opt,name=max_channel_size,json=maxChannelSize" json:"max_channel_size,omitempty"`
GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter" json:"graph_diameter,omitempty"`
AvgOutDegree float64 `protobuf:"fixed64,2,opt,name=avg_out_degree" json:"avg_out_degree,omitempty"`
MaxOutDegree uint32 `protobuf:"varint,3,opt,name=max_out_degree" json:"max_out_degree,omitempty"`
NumNodes uint32 `protobuf:"varint,4,opt,name=num_nodes" json:"num_nodes,omitempty"`
NumChannels uint32 `protobuf:"varint,5,opt,name=num_channels" json:"num_channels,omitempty"`
TotalNetworkCapacity int64 `protobuf:"varint,6,opt,name=total_network_capacity" json:"total_network_capacity,omitempty"`
AvgChannelSize float64 `protobuf:"fixed64,7,opt,name=avg_channel_size" json:"avg_channel_size,omitempty"`
MinChannelSize int64 `protobuf:"varint,8,opt,name=min_channel_size" json:"min_channel_size,omitempty"`
MaxChannelSize int64 `protobuf:"varint,9,opt,name=max_channel_size" json:"max_channel_size,omitempty"`
}
func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
@ -1997,13 +1997,13 @@ func (*SetAliasResponse) Descriptor() ([]byte, []int) { return fileDescriptor0,
type Invoice struct {
Memo string `protobuf:"bytes,1,opt,name=memo" json:"memo,omitempty"`
Receipt []byte `protobuf:"bytes,2,opt,name=receipt,proto3" json:"receipt,omitempty"`
RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,json=rPreimage,proto3" json:"r_preimage,omitempty"`
RHash []byte `protobuf:"bytes,4,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,proto3" json:"r_preimage,omitempty"`
RHash []byte `protobuf:"bytes,4,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
Value int64 `protobuf:"varint,5,opt,name=value" json:"value,omitempty"`
Settled bool `protobuf:"varint,6,opt,name=settled" json:"settled,omitempty"`
CreationDate int64 `protobuf:"varint,7,opt,name=creation_date,json=creationDate" json:"creation_date,omitempty"`
SettleDate int64 `protobuf:"varint,8,opt,name=settle_date,json=settleDate" json:"settle_date,omitempty"`
PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest" json:"payment_request,omitempty"`
CreationDate int64 `protobuf:"varint,7,opt,name=creation_date" json:"creation_date,omitempty"`
SettleDate int64 `protobuf:"varint,8,opt,name=settle_date" json:"settle_date,omitempty"`
PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request" json:"payment_request,omitempty"`
}
func (m *Invoice) Reset() { *m = Invoice{} }
@ -2075,8 +2075,8 @@ func (m *Invoice) GetPaymentRequest() string {
}
type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request,json=paymentRequest" json:"payment_request,omitempty"`
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request" json:"payment_request,omitempty"`
}
func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
@ -2099,8 +2099,8 @@ func (m *AddInvoiceResponse) GetPaymentRequest() string {
}
type PaymentHash struct {
RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,json=rHashStr" json:"r_hash_str,omitempty"`
RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str" json:"r_hash_str,omitempty"`
RHash []byte `protobuf:"bytes,2,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
}
func (m *PaymentHash) Reset() { *m = PaymentHash{} }
@ -2163,10 +2163,10 @@ func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }
type Payment struct {
PaymentHash string `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash" json:"payment_hash,omitempty"`
PaymentHash string `protobuf:"bytes,1,opt,name=payment_hash" json:"payment_hash,omitempty"`
Value int64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"`
CreationDate int64 `protobuf:"varint,3,opt,name=creation_date,json=creationDate" json:"creation_date,omitempty"`
Path []string `protobuf:"bytes,4,rep,name=path" json:"path,omitempty"`
CreationDate int64 `protobuf:"varint,3,opt,name=creation_date" json:"creation_date,omitempty"`
Path []string `protobuf:"bytes,4,rep,name=path,json=string" json:"path,omitempty"`
Fee int64 `protobuf:"varint,5,opt,name=fee" json:"fee,omitempty"`
}
@ -2275,7 +2275,7 @@ func (m *DebugLevelRequest) GetLevelSpec() string {
}
type DebugLevelResponse struct {
SubSystems string `protobuf:"bytes,1,opt,name=sub_systems,json=subSystems" json:"sub_systems,omitempty"`
SubSystems string `protobuf:"bytes,1,opt,name=sub_systems" json:"sub_systems,omitempty"`
}
func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
@ -2308,8 +2308,8 @@ func (m *PayReqString) GetPayReq() string {
type PayReq struct {
Destination string `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"`
PaymentHash string `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash" json:"payment_hash,omitempty"`
NumSatoshis int64 `protobuf:"varint,3,opt,name=num_satoshis,json=numSatoshis" json:"num_satoshis,omitempty"`
PaymentHash string `protobuf:"bytes,2,opt,name=payment_hash" json:"payment_hash,omitempty"`
NumSatoshis int64 `protobuf:"varint,3,opt,name=num_satoshis" json:"num_satoshis,omitempty"`
}
func (m *PayReq) Reset() { *m = PayReq{} }
@ -3654,247 +3654,233 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 3860 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x5a, 0xcd, 0x6f, 0x1b, 0x49,
0x76, 0x77, 0xf3, 0x43, 0x24, 0x1f, 0x49, 0x89, 0x2a, 0x7d, 0xd1, 0xb4, 0x67, 0xc6, 0xee, 0xf1,
0xae, 0xb5, 0x9e, 0x89, 0xa4, 0x51, 0x92, 0xf9, 0x5a, 0x20, 0x0b, 0x59, 0xb2, 0x2d, 0x63, 0x64,
0x59, 0xd3, 0xd4, 0xac, 0x93, 0x5d, 0x04, 0x4c, 0x8b, 0x2c, 0x51, 0xbd, 0x26, 0xbb, 0x7b, 0xba,
0x8b, 0x92, 0x38, 0x86, 0xf7, 0x10, 0x24, 0xa7, 0x24, 0x87, 0x20, 0xf7, 0x45, 0x2e, 0x39, 0xe7,
0x92, 0xbf, 0x20, 0x7f, 0x41, 0x82, 0x3d, 0xe4, 0x1c, 0x20, 0xb7, 0x1c, 0x93, 0x6b, 0x80, 0xe0,
0xbd, 0xaa, 0xea, 0xae, 0x6e, 0x52, 0x33, 0x4e, 0xb0, 0x27, 0xb1, 0x5e, 0xbd, 0x7e, 0x55, 0xf5,
0x3e, 0x7f, 0xf5, 0x4a, 0x50, 0x8b, 0xc2, 0xfe, 0x56, 0x18, 0x05, 0x22, 0x60, 0xe5, 0x91, 0x1f,
0x85, 0xfd, 0xce, 0xdd, 0x61, 0x10, 0x0c, 0x47, 0x7c, 0xdb, 0x0d, 0xbd, 0x6d, 0xd7, 0xf7, 0x03,
0xe1, 0x0a, 0x2f, 0xf0, 0x63, 0xc9, 0x64, 0xff, 0xa7, 0x05, 0xf5, 0xd3, 0xc8, 0xf5, 0x63, 0xb7,
0x8f, 0x64, 0xb6, 0x01, 0x15, 0x71, 0xdd, 0xbb, 0x70, 0xe3, 0x8b, 0xb6, 0x75, 0xcf, 0xda, 0xac,
0x39, 0x0b, 0xe2, 0xfa, 0xd0, 0x8d, 0x2f, 0xd8, 0x3a, 0x2c, 0xb8, 0xe3, 0x60, 0xe2, 0x8b, 0x76,
0xe1, 0x9e, 0xb5, 0x69, 0x39, 0x6a, 0xc4, 0x3e, 0x82, 0x65, 0x7f, 0x32, 0xee, 0xf5, 0x03, 0xff,
0xdc, 0x8b, 0xc6, 0x52, 0x76, 0xbb, 0x78, 0xcf, 0xda, 0x2c, 0x3b, 0x2d, 0x7f, 0x32, 0xde, 0x37,
0xe9, 0xec, 0x3d, 0x80, 0xb3, 0x51, 0xd0, 0x7f, 0x2d, 0x17, 0x28, 0xd1, 0x02, 0x35, 0xa2, 0xd0,
0x1a, 0xf7, 0xa1, 0xa1, 0xa6, 0xb9, 0x37, 0xbc, 0x10, 0xed, 0x32, 0x89, 0xa9, 0x4b, 0x06, 0x22,
0xa1, 0x04, 0xe1, 0x8d, 0x79, 0x2f, 0x16, 0xee, 0x38, 0x6c, 0x2f, 0xdc, 0xb3, 0x36, 0x8b, 0x4e,
0x0d, 0x29, 0x5d, 0x24, 0xd0, 0x74, 0x20, 0xdc, 0x51, 0xef, 0x9c, 0xf3, 0xb8, 0x5d, 0x51, 0xd3,
0x48, 0x79, 0xca, 0x79, 0x6c, 0xb7, 0x61, 0xfd, 0x19, 0x17, 0xc6, 0x79, 0x63, 0x87, 0x7f, 0x3b,
0xe1, 0xb1, 0xb0, 0x8f, 0x80, 0x19, 0xe4, 0x03, 0x2e, 0x5c, 0x6f, 0x14, 0xb3, 0x4f, 0xa1, 0x21,
0x0c, 0xe6, 0xb6, 0x75, 0xaf, 0xb8, 0x59, 0xdf, 0x65, 0x5b, 0xa4, 0xd9, 0x2d, 0xe3, 0x03, 0x27,
0xc3, 0x67, 0xff, 0x8b, 0x05, 0xf5, 0x2e, 0xf7, 0x07, 0x4a, 0x3a, 0x63, 0x50, 0x1a, 0xf0, 0x58,
0x90, 0x4a, 0x1b, 0x0e, 0xfd, 0x66, 0x1f, 0x40, 0x1d, 0xff, 0xf6, 0x62, 0x11, 0x79, 0xfe, 0x90,
0xb4, 0x5a, 0x73, 0x00, 0x49, 0x5d, 0xa2, 0xb0, 0x16, 0x14, 0xdd, 0xb1, 0x20, 0x5d, 0x16, 0x1d,
0xfc, 0x89, 0xfa, 0x09, 0xdd, 0xe9, 0x98, 0xfb, 0x22, 0x55, 0x60, 0xc3, 0xa9, 0x2b, 0x1a, 0xa9,
0x70, 0x0b, 0x56, 0x4c, 0x16, 0x2d, 0xbd, 0x4c, 0xd2, 0x97, 0x0d, 0x4e, 0xb5, 0xc8, 0x43, 0x58,
0xd2, 0xfc, 0x91, 0xdc, 0x2c, 0x29, 0xb5, 0xe6, 0x2c, 0x2a, 0xb2, 0x56, 0xd0, 0x08, 0x1a, 0xf2,
0x44, 0x71, 0x18, 0xf8, 0x31, 0x67, 0x3f, 0x81, 0x96, 0xfe, 0x30, 0x8c, 0xb8, 0x37, 0x76, 0x87,
0x5c, 0x1d, 0x4f, 0x0b, 0x3c, 0x51, 0x64, 0xf6, 0x09, 0x34, 0x93, 0x35, 0x82, 0x89, 0xe0, 0x74,
0xd6, 0xfa, 0x6e, 0x43, 0xa9, 0xd1, 0x41, 0x9a, 0xa3, 0x4f, 0x46, 0x23, 0xfb, 0xd7, 0xd0, 0xd8,
0xbf, 0x70, 0x7d, 0x9f, 0x8f, 0x4e, 0x02, 0xcf, 0xa7, 0x93, 0x9f, 0x4f, 0xfc, 0x81, 0xe7, 0x0f,
0x7b, 0xe2, 0xda, 0x1b, 0xa8, 0x95, 0xea, 0x8a, 0x76, 0x7a, 0xed, 0x0d, 0xd8, 0x26, 0xb4, 0x4c,
0x16, 0x3c, 0xb9, 0x52, 0xea, 0xa2, 0xc1, 0xd6, 0x15, 0x11, 0x0a, 0x0b, 0x26, 0x22, 0x9c, 0x88,
0x9e, 0xe7, 0x0f, 0xf8, 0x35, 0x69, 0xb8, 0xe9, 0xd4, 0x25, 0xed, 0x39, 0x92, 0xec, 0x3f, 0x82,
0xd6, 0x11, 0xfa, 0x9b, 0xef, 0xf9, 0xc3, 0xbd, 0xc1, 0x20, 0xe2, 0x71, 0x8c, 0x11, 0x10, 0x4e,
0xce, 0x5e, 0xf3, 0xa9, 0x8e, 0x0c, 0x39, 0x42, 0xe3, 0x5e, 0x04, 0xb1, 0x50, 0x8b, 0xd1, 0x6f,
0xfb, 0xef, 0x2d, 0x58, 0x42, 0x75, 0xbd, 0x70, 0xfd, 0xa9, 0x76, 0x82, 0x23, 0x68, 0xa0, 0xa8,
0xd3, 0x60, 0x4f, 0xc6, 0x91, 0x74, 0xa6, 0x4d, 0xa5, 0x85, 0x1c, 0xf7, 0x96, 0xc9, 0xfa, 0xc4,
0x17, 0xd1, 0xd4, 0x69, 0xb8, 0x06, 0xa9, 0xf3, 0x33, 0x58, 0x9e, 0x61, 0x41, 0x97, 0x49, 0xf7,
0x87, 0x3f, 0xd9, 0x2a, 0x94, 0x2f, 0xdd, 0xd1, 0x44, 0xea, 0xbc, 0xe8, 0xc8, 0xc1, 0x97, 0x85,
0xcf, 0x2d, 0xfb, 0xc7, 0xd0, 0x4a, 0xd7, 0x54, 0x46, 0x65, 0x50, 0x4a, 0xd4, 0x5b, 0x73, 0xe8,
0x37, 0xaa, 0x02, 0xf9, 0xf6, 0x03, 0x2f, 0x89, 0x16, 0xe4, 0xc3, 0xcd, 0x68, 0x3e, 0xfc, 0x9d,
0x4b, 0x10, 0x45, 0x9d, 0x20, 0xec, 0x87, 0xb0, 0x6c, 0x7c, 0xff, 0x3d, 0x0b, 0xfd, 0xc6, 0x82,
0xe5, 0x63, 0x7e, 0xa5, 0xd4, 0xad, 0x97, 0xfa, 0x1c, 0x4a, 0x62, 0x1a, 0x4a, 0xdf, 0x5a, 0xdc,
0x7d, 0xa0, 0xb4, 0x35, 0xc3, 0xb7, 0xa5, 0x86, 0xa7, 0xd3, 0x90, 0x3b, 0xf4, 0x85, 0xfd, 0x12,
0xea, 0x06, 0x91, 0x6d, 0xc0, 0xca, 0xab, 0xe7, 0xa7, 0xc7, 0x4f, 0xba, 0xdd, 0xde, 0xc9, 0x37,
0x8f, 0xbf, 0x7a, 0xf2, 0x27, 0xbd, 0xc3, 0xbd, 0xee, 0x61, 0xeb, 0x16, 0x5b, 0x07, 0x76, 0xfc,
0xa4, 0x7b, 0xfa, 0xe4, 0x20, 0x43, 0xb7, 0xd8, 0x12, 0xd4, 0x4d, 0x42, 0xc1, 0xee, 0x40, 0xfb,
0x98, 0x5f, 0xbd, 0xf2, 0x84, 0xcf, 0xe3, 0x38, 0xbb, 0xbc, 0xbd, 0x05, 0xcc, 0xdc, 0x93, 0x3a,
0x66, 0x1b, 0x2a, 0xae, 0x24, 0xa9, 0x93, 0xea, 0xa1, 0xfd, 0x0d, 0xb0, 0xfd, 0xc0, 0xf7, 0x79,
0x5f, 0x9c, 0x70, 0x1e, 0xe9, 0xc3, 0x7e, 0x64, 0xe8, 0xb5, 0xbe, 0xbb, 0xa1, 0x0e, 0x9b, 0xf7,
0x44, 0xa5, 0x70, 0x06, 0xa5, 0x90, 0x47, 0x63, 0x52, 0x77, 0xd5, 0xa1, 0xdf, 0xf6, 0x16, 0xac,
0x64, 0xc4, 0xaa, 0x7d, 0x6c, 0x40, 0x25, 0xe4, 0x3c, 0xea, 0x29, 0x8d, 0x97, 0x9d, 0x05, 0x1c,
0x3e, 0x1f, 0xd8, 0xff, 0x68, 0x41, 0xe9, 0xf0, 0xf4, 0x68, 0x9f, 0x75, 0xa0, 0xea, 0xf9, 0xfd,
0x60, 0x8c, 0xc9, 0xc2, 0x22, 0x81, 0xc9, 0xf8, 0x26, 0xcb, 0xb2, 0x3b, 0x50, 0xa3, 0x1c, 0x83,
0xe9, 0x99, 0x82, 0xa8, 0xe1, 0x54, 0x91, 0x70, 0x14, 0xf4, 0x5f, 0x63, 0x5d, 0xe0, 0xd7, 0xa1,
0x17, 0x51, 0xe6, 0xd7, 0x09, 0xbd, 0x44, 0x91, 0xd6, 0x4a, 0x27, 0x54, 0x56, 0xff, 0x09, 0xb4,
0x22, 0x7e, 0x19, 0xf4, 0x25, 0xf3, 0x80, 0x8f, 0xdc, 0x29, 0xa5, 0xac, 0xa6, 0xb3, 0x94, 0xd2,
0x0f, 0x90, 0x6c, 0xff, 0x73, 0x11, 0x9a, 0x7b, 0x7d, 0xe1, 0x5d, 0x72, 0x95, 0x20, 0xd8, 0x87,
0xd0, 0x8c, 0xf8, 0x38, 0x10, 0xbc, 0x97, 0x09, 0xcf, 0x86, 0x24, 0x9e, 0xc8, 0x20, 0xfd, 0x10,
0x9a, 0x7d, 0xc9, 0xdf, 0x0b, 0x31, 0xa3, 0xa8, 0x68, 0x6d, 0xf4, 0xcd, 0x2c, 0xb3, 0x01, 0x15,
0x1c, 0xa3, 0x9a, 0xf0, 0x38, 0x25, 0x67, 0x01, 0x87, 0xcf, 0x07, 0xa8, 0x9d, 0xbe, 0x1b, 0xba,
0x7d, 0x4f, 0x4c, 0xe9, 0x0c, 0x45, 0x27, 0x19, 0xa3, 0xe4, 0x51, 0xd0, 0x77, 0x47, 0xbd, 0x33,
0x77, 0xe4, 0xfa, 0x7d, 0x4e, 0x1b, 0x2f, 0x3a, 0x0d, 0x22, 0x3e, 0x96, 0x34, 0xf6, 0x23, 0x58,
0x54, 0x7b, 0xd4, 0x5c, 0xb2, 0x74, 0xa9, 0x9d, 0x6b, 0xb6, 0x8f, 0x60, 0x79, 0xe2, 0xc7, 0x5c,
0x88, 0x11, 0x1f, 0x24, 0x9c, 0xb2, 0x8a, 0xb5, 0x92, 0x09, 0xcd, 0xbc, 0x05, 0x2b, 0xb2, 0xd6,
0xc5, 0xae, 0x08, 0xe2, 0x0b, 0x2f, 0xee, 0xc5, 0xdc, 0x17, 0xed, 0x2a, 0xb1, 0x2f, 0xd3, 0x54,
0x57, 0xcd, 0x74, 0xb9, 0x2f, 0xd8, 0xa7, 0xb0, 0x91, 0xe3, 0x8f, 0x78, 0x9f, 0x7b, 0x97, 0x7c,
0xd0, 0xae, 0xd1, 0x37, 0x6b, 0x99, 0x6f, 0x1c, 0x35, 0x89, 0x85, 0x0a, 0x2b, 0xfc, 0x24, 0x1c,
0xb8, 0x82, 0xc7, 0x6d, 0x20, 0xcd, 0x80, 0x3f, 0x19, 0x7f, 0x23, 0x29, 0x6c, 0x07, 0x9a, 0x21,
0x97, 0x99, 0xf7, 0x42, 0x8c, 0xfa, 0x71, 0xbb, 0x4e, 0x99, 0xad, 0xae, 0xdc, 0x17, 0xfd, 0xcb,
0x69, 0x28, 0x8e, 0x43, 0x64, 0xb0, 0xd7, 0x60, 0xe5, 0xc8, 0x8b, 0x85, 0xb2, 0x60, 0x12, 0x44,
0x87, 0xb0, 0x9a, 0x25, 0x2b, 0xf7, 0xdd, 0x81, 0xaa, 0xb2, 0x93, 0x96, 0xbd, 0xaa, 0x64, 0x67,
0x3c, 0xc1, 0x49, 0xb8, 0xec, 0xff, 0xb1, 0xa0, 0x84, 0x11, 0x40, 0x9e, 0x3f, 0x39, 0xeb, 0x65,
0xb3, 0xf6, 0x57, 0x7c, 0x6a, 0x86, 0x44, 0xc1, 0x0c, 0x09, 0x33, 0x66, 0x8b, 0x99, 0x98, 0x25,
0xf4, 0x32, 0x15, 0x5c, 0xe9, 0xb9, 0x44, 0x7a, 0xa8, 0x11, 0x85, 0xf4, 0x9b, 0x4c, 0x47, 0xbc,
0x7f, 0x49, 0x5e, 0xa0, 0xa7, 0x1d, 0xde, 0xbf, 0x64, 0xb7, 0xa1, 0x1a, 0xbb, 0x42, 0x7e, 0x2b,
0x8d, 0x5f, 0x89, 0x5d, 0x41, 0x5f, 0xaa, 0x29, 0xfa, 0xae, 0x92, 0x4c, 0xd1, 0x57, 0x6d, 0xa8,
0x78, 0xfe, 0x59, 0x30, 0xf1, 0x07, 0x64, 0xd8, 0xaa, 0xa3, 0x87, 0x18, 0x7d, 0x21, 0x15, 0x3b,
0x6f, 0xcc, 0x95, 0x01, 0xab, 0x48, 0x38, 0xf5, 0xc6, 0xdc, 0x66, 0x58, 0xbf, 0x62, 0x4a, 0x02,
0x89, 0x76, 0x3f, 0x85, 0x65, 0x83, 0xa6, 0x54, 0x7b, 0x1f, 0xca, 0x78, 0x6e, 0x0d, 0x6d, 0xb4,
0xcd, 0x28, 0x7b, 0xc8, 0x19, 0xbb, 0x05, 0x8b, 0xcf, 0xb8, 0x78, 0xee, 0x9f, 0x07, 0x5a, 0xd2,
0x6f, 0x0b, 0xb0, 0x94, 0x90, 0x94, 0xa0, 0x87, 0xb0, 0xe4, 0x0d, 0xb8, 0x2f, 0x3c, 0x31, 0xcd,
0xc6, 0xe1, 0xa2, 0x26, 0xab, 0x48, 0x5c, 0x85, 0xb2, 0x3b, 0xf2, 0xdc, 0x58, 0x45, 0xa0, 0x1c,
0xb0, 0x1d, 0x58, 0x45, 0x27, 0xd3, 0x7e, 0x94, 0x98, 0x5b, 0xd6, 0x66, 0xe6, 0x4f, 0xc6, 0x27,
0x72, 0x4a, 0x3b, 0x07, 0xba, 0x3f, 0x7e, 0xe1, 0x92, 0x07, 0xa4, 0x1f, 0xc8, 0x14, 0x83, 0x98,
0x34, 0xe3, 0x1b, 0x31, 0xea, 0x4b, 0xae, 0x80, 0xa7, 0x95, 0xc9, 0xa5, 0x4a, 0x62, 0x79, 0x14,
0xcf, 0x20, 0xcf, 0x05, 0x09, 0x09, 0x72, 0xc8, 0xd3, 0xc0, 0xae, 0xd5, 0x3c, 0x76, 0xfd, 0x31,
0x2c, 0xc5, 0x53, 0xbf, 0xcf, 0x07, 0x3d, 0x11, 0xe0, 0x6e, 0x3c, 0x9f, 0x8c, 0x52, 0x75, 0x9a,
0x92, 0x7c, 0x1a, 0xec, 0x23, 0x11, 0x0d, 0x2a, 0x78, 0x2c, 0x7c, 0x2e, 0x28, 0x92, 0xaa, 0x8e,
0x1e, 0xda, 0xdf, 0x51, 0x49, 0x48, 0xd0, 0xb2, 0x8c, 0x2e, 0xdc, 0xb6, 0x5c, 0x36, 0xbe, 0x70,
0x15, 0xec, 0xa9, 0x12, 0xa1, 0x7b, 0xe1, 0xce, 0x6c, 0xbb, 0x30, 0x0b, 0x98, 0x1f, 0xc0, 0xa2,
0xc6, 0xe7, 0x71, 0x6f, 0xc4, 0xcf, 0x85, 0x52, 0x69, 0x43, 0x81, 0xf3, 0xf8, 0x88, 0x9f, 0x0b,
0xfb, 0x05, 0x2c, 0x2b, 0x45, 0xbd, 0x0c, 0xb9, 0x5e, 0xfa, 0xf3, 0x7c, 0xce, 0x94, 0x65, 0x69,
0x45, 0xf9, 0x88, 0x09, 0xd0, 0xb2, 0x89, 0xd4, 0xfe, 0x1a, 0x98, 0x9a, 0xdd, 0x1f, 0x05, 0x31,
0x57, 0xf2, 0xee, 0x43, 0xa3, 0x3f, 0x0a, 0xe2, 0x3c, 0x88, 0x53, 0x34, 0x02, 0x71, 0x6d, 0xa8,
0xc4, 0x93, 0x7e, 0x1f, 0x83, 0x4f, 0x96, 0x35, 0x3d, 0xb4, 0xff, 0xc2, 0x82, 0x15, 0x12, 0xa6,
0x83, 0x3d, 0xc1, 0x07, 0xff, 0xcf, 0x4d, 0x26, 0x57, 0x89, 0x91, 0x37, 0xf6, 0x74, 0x69, 0xa3,
0xab, 0xc4, 0x11, 0x12, 0xd0, 0x4f, 0xcf, 0x83, 0xa8, 0xcf, 0x49, 0x5f, 0x55, 0x47, 0x0e, 0xec,
0x7f, 0xb3, 0x60, 0x99, 0xb6, 0xd1, 0x15, 0xae, 0x98, 0xc4, 0xea, 0x64, 0x3f, 0x85, 0x26, 0x9e,
0x82, 0x6b, 0xff, 0x55, 0x9b, 0x58, 0x4d, 0xa2, 0x89, 0xa8, 0x92, 0xf9, 0xf0, 0x96, 0x43, 0x6a,
0xe0, 0x8a, 0xca, 0x7e, 0x06, 0x0d, 0xf3, 0xf6, 0xa4, 0xd0, 0xf1, 0x6d, 0x7d, 0x80, 0x19, 0x97,
0x20, 0x01, 0x06, 0x95, 0x7d, 0x09, 0x40, 0x65, 0x8b, 0xa4, 0xd2, 0x76, 0x8d, 0xcf, 0x67, 0xcc,
0x70, 0x78, 0xcb, 0xa9, 0x21, 0x3b, 0x91, 0x1e, 0x57, 0x61, 0x41, 0x26, 0x76, 0xfb, 0x29, 0x34,
0x33, 0xfb, 0xcc, 0x60, 0xb4, 0x86, 0xc4, 0x68, 0x33, 0xd0, 0xb9, 0x30, 0x0b, 0x9d, 0xff, 0xcb,
0x02, 0x86, 0x4e, 0x94, 0xb3, 0xd3, 0x03, 0x58, 0x14, 0x6e, 0x34, 0xe4, 0xa2, 0x97, 0x45, 0x22,
0x0d, 0x49, 0x3d, 0x91, 0xc9, 0x17, 0x6b, 0x4d, 0x30, 0x48, 0x2a, 0x79, 0x81, 0x96, 0x06, 0x24,
0xa9, 0xec, 0xf1, 0x31, 0x30, 0x83, 0x41, 0x5f, 0x6f, 0x64, 0xa2, 0x6e, 0xa5, 0x7c, 0xea, 0x76,
0xb3, 0x03, 0xab, 0xb2, 0x36, 0xeb, 0x9b, 0x81, 0xc2, 0x31, 0xb2, 0x86, 0x33, 0x9a, 0x7b, 0x2a,
0xa7, 0x24, 0x8c, 0xc6, 0x54, 0x1c, 0x4e, 0xf0, 0xde, 0xe4, 0x0a, 0x55, 0xc8, 0x2b, 0x38, 0xee,
0xba, 0x42, 0x27, 0x10, 0x8a, 0x24, 0x95, 0x20, 0xaa, 0x3a, 0x88, 0xec, 0x7f, 0xb5, 0xa0, 0x85,
0xa7, 0xce, 0xb8, 0xc5, 0x17, 0x40, 0x1e, 0xf7, 0x8e, 0x5e, 0x51, 0x47, 0xde, 0xdf, 0x99, 0x53,
0x7c, 0x06, 0x64, 0xe5, 0x5e, 0x10, 0x72, 0x5f, 0xf9, 0x44, 0x3b, 0xeb, 0x13, 0x69, 0xa4, 0x1f,
0xde, 0x92, 0xa5, 0x13, 0x29, 0x86, 0x47, 0x3c, 0x81, 0xb5, 0x6c, 0xd2, 0xd5, 0xb6, 0xfc, 0x18,
0x16, 0x62, 0x3a, 0xa7, 0x42, 0xe5, 0xab, 0x59, 0xc1, 0x52, 0x07, 0x8e, 0xe2, 0xb1, 0xff, 0xb2,
0x08, 0xeb, 0x79, 0x39, 0xaa, 0x68, 0xbc, 0x82, 0xd6, 0x4c, 0xc6, 0x97, 0x85, 0xe8, 0xe3, 0xac,
0x92, 0x72, 0x1f, 0xe6, 0xc9, 0x4b, 0x61, 0xb6, 0x38, 0x74, 0xfe, 0xb6, 0x00, 0x8b, 0x59, 0x1e,
0x74, 0xdd, 0xa4, 0x40, 0xa5, 0xd5, 0xa9, 0xae, 0x69, 0x5f, 0xbd, 0x2b, 0x48, 0x34, 0xb1, 0x60,
0xf1, 0x87, 0xb0, 0x60, 0xe9, 0x9d, 0xb0, 0x60, 0x79, 0x1e, 0x16, 0xcc, 0x67, 0x4b, 0x79, 0x2d,
0xcf, 0x64, 0xcb, 0xd4, 0x0e, 0x95, 0x77, 0xb0, 0xc3, 0x17, 0xb0, 0xfa, 0xca, 0x1d, 0x8d, 0xb8,
0x50, 0x2b, 0x68, 0x6b, 0xde, 0x87, 0xc6, 0x95, 0xbc, 0xd3, 0xf4, 0x02, 0x7f, 0x34, 0x55, 0xf0,
0xbf, 0xae, 0x68, 0x2f, 0xfd, 0xd1, 0xd4, 0xfe, 0x04, 0xd6, 0x72, 0x9f, 0xa6, 0x17, 0x1c, 0x7d,
0x08, 0x8b, 0xda, 0x42, 0x7a, 0x68, 0x6f, 0xc0, 0x9a, 0xda, 0x46, 0x76, 0x39, 0x7b, 0x17, 0xd6,
0xf3, 0x13, 0xf3, 0x85, 0x15, 0x53, 0x61, 0x5f, 0x40, 0x43, 0x76, 0x09, 0xd4, 0x96, 0x6f, 0x44,
0x75, 0xaa, 0x67, 0x52, 0x48, 0x7a, 0x26, 0xf6, 0x1b, 0x28, 0x1e, 0x06, 0xa1, 0x09, 0xed, 0xad,
0x0c, 0xb4, 0x57, 0x36, 0xef, 0x25, 0x36, 0x95, 0xdf, 0x92, 0xcd, 0xf7, 0xb5, 0x5d, 0x1f, 0xc0,
0xa2, 0x3b, 0x16, 0x58, 0xd9, 0xcf, 0x83, 0xe8, 0xca, 0x8d, 0x06, 0xca, 0xf2, 0x0d, 0x77, 0x2c,
0x4e, 0x83, 0xa7, 0x92, 0x86, 0x8b, 0x9f, 0x73, 0x6d, 0x73, 0xfc, 0x69, 0xff, 0x95, 0x05, 0x65,
0xda, 0x38, 0xc2, 0x03, 0x09, 0xbe, 0x65, 0xc9, 0xc1, 0x1b, 0x93, 0x45, 0x29, 0xa4, 0x49, 0x64,
0x04, 0x6d, 0x74, 0x6d, 0xca, 0x36, 0xb0, 0x0a, 0xb9, 0x06, 0x16, 0xe6, 0x20, 0x39, 0x9d, 0x76,
0x86, 0xaa, 0x44, 0xd8, 0x1b, 0x0b, 0xf6, 0x3e, 0x94, 0x2e, 0x82, 0x10, 0x21, 0x10, 0x46, 0x10,
0x68, 0xf8, 0x1d, 0x84, 0x0e, 0xd1, 0xed, 0x47, 0xb0, 0x74, 0x1c, 0x0c, 0xb8, 0x81, 0xe4, 0x6e,
0x54, 0xa4, 0xfd, 0x6b, 0xa8, 0x6a, 0x5e, 0xb6, 0x09, 0x25, 0xcc, 0xac, 0xb9, 0xf4, 0x95, 0xdc,
0x4a, 0x91, 0xcf, 0x21, 0x0e, 0x74, 0x25, 0x4a, 0x91, 0x3a, 0x96, 0x55, 0x79, 0xc0, 0x2c, 0xa9,
0x61, 0xd8, 0x8f, 0x60, 0x51, 0x9e, 0x20, 0x17, 0x44, 0x52, 0x0f, 0x5a, 0xe3, 0xf6, 0x14, 0x9a,
0x99, 0x05, 0xb0, 0x32, 0x8c, 0xdc, 0x58, 0xa8, 0x6b, 0x88, 0x52, 0x1e, 0x20, 0x49, 0x25, 0x5b,
0xe3, 0x28, 0x85, 0x8c, 0x4f, 0xdc, 0x0c, 0xe8, 0x13, 0x28, 0x5a, 0x32, 0xa0, 0xa8, 0xfd, 0x0f,
0x16, 0x34, 0xd1, 0x68, 0x9e, 0x3f, 0x3c, 0x09, 0x46, 0x5e, 0x7f, 0x4a, 0xc6, 0xd3, 0x66, 0xc3,
0xdb, 0xa9, 0x70, 0x13, 0xe3, 0x29, 0xbb, 0x1d, 0x20, 0x11, 0x8b, 0xc7, 0xd8, 0xf3, 0xe9, 0x12,
0xa4, 0x4c, 0x57, 0x19, 0x7b, 0x3e, 0x5e, 0x79, 0x98, 0x0d, 0xcd, 0x73, 0x8e, 0x11, 0x1f, 0xf3,
0xde, 0x18, 0x8b, 0x8b, 0x3c, 0x75, 0xfd, 0x9c, 0xf3, 0xc7, 0x6e, 0xcc, 0x5f, 0xc4, 0xae, 0x60,
0xbf, 0x07, 0x2b, 0xc8, 0x13, 0xb9, 0x82, 0xf7, 0xc6, 0xde, 0x68, 0xe4, 0x49, 0x4e, 0xe9, 0x4f,
0xad, 0x73, 0xce, 0x1d, 0x57, 0xf0, 0x17, 0x38, 0x81, 0xec, 0xf6, 0x3f, 0x15, 0xa0, 0xae, 0xd4,
0xfa, 0x64, 0x30, 0xe4, 0xe8, 0x3a, 0x3a, 0x7b, 0x25, 0x5e, 0x5e, 0x53, 0x94, 0xe7, 0x03, 0x3d,
0x9d, 0xc9, 0x6c, 0x34, 0x2d, 0xd3, 0x5a, 0x4e, 0xbf, 0xc5, 0x19, 0xfd, 0x62, 0xf9, 0x0b, 0x06,
0xfc, 0x13, 0x2c, 0xbd, 0x4a, 0x61, 0x55, 0x22, 0x9c, 0x4c, 0xce, 0xf4, 0xe4, 0x2e, 0x4d, 0x96,
0xd3, 0xc9, 0x5d, 0x9c, 0x34, 0x33, 0xe6, 0x42, 0x2e, 0x63, 0x7e, 0x06, 0x0d, 0x25, 0x95, 0x54,
0x4d, 0x89, 0x2c, 0xf5, 0xb1, 0x8c, 0x19, 0x9c, 0xba, 0x5c, 0x4e, 0xda, 0x44, 0x7d, 0xb8, 0xab,
0x3f, 0xac, 0xfe, 0xd0, 0x87, 0xbb, 0x72, 0x80, 0x77, 0x4f, 0xa5, 0xb5, 0x67, 0x91, 0x1b, 0x5e,
0xe8, 0xb4, 0x34, 0x48, 0x3a, 0x8e, 0x44, 0x66, 0x8f, 0xa0, 0x8c, 0x5f, 0xe9, 0x7a, 0x34, 0xdf,
0xeb, 0x25, 0x0b, 0xdb, 0x84, 0x32, 0x1f, 0x0c, 0x29, 0x5e, 0xcd, 0xfe, 0xb0, 0x61, 0x1c, 0x47,
0x32, 0x60, 0x08, 0x22, 0x35, 0x17, 0x82, 0x73, 0x33, 0x93, 0xbd, 0x0a, 0xec, 0x98, 0x8b, 0xab,
0x20, 0x7a, 0x6d, 0xde, 0xbd, 0xfe, 0xbb, 0x00, 0x75, 0x83, 0x8c, 0xf1, 0x34, 0xc4, 0x0d, 0xf7,
0x06, 0x9e, 0x3b, 0xe6, 0x82, 0x47, 0xda, 0x35, 0x89, 0x7a, 0xa0, 0x88, 0x94, 0xc1, 0x2e, 0x87,
0xbd, 0x60, 0x22, 0x7a, 0x03, 0x3e, 0x8c, 0x38, 0x57, 0x6d, 0xfc, 0x86, 0x7b, 0x39, 0x7c, 0x39,
0x11, 0x07, 0x44, 0x43, 0xae, 0xb1, 0x7b, 0x6d, 0x72, 0xa9, 0xcb, 0xc2, 0xd8, 0xbd, 0x4e, 0xb9,
0x14, 0x10, 0x92, 0xea, 0x29, 0x25, 0x40, 0xe8, 0x98, 0x74, 0x91, 0x4f, 0x01, 0xe5, 0xd9, 0x14,
0xf0, 0x07, 0xb0, 0x2e, 0x53, 0x80, 0x2f, 0xcf, 0xd1, 0xcb, 0x79, 0xc7, 0x2a, 0xcd, 0xaa, 0x43,
0x26, 0x39, 0x78, 0x13, 0x5a, 0x78, 0x02, 0xed, 0xe2, 0xb1, 0xf7, 0x9d, 0x6c, 0x8d, 0x58, 0x0e,
0x9e, 0x4c, 0x97, 0x3c, 0xef, 0x3b, 0x8e, 0x9c, 0x18, 0x86, 0x19, 0x4e, 0xd9, 0x15, 0x59, 0x1c,
0x7b, 0x7e, 0x9e, 0xd3, 0xbd, 0xce, 0x72, 0xd6, 0x14, 0xa7, 0x7b, 0x6d, 0x70, 0xda, 0x5b, 0xb0,
0xd4, 0xe5, 0x62, 0x0f, 0x13, 0x84, 0x36, 0x1c, 0xaa, 0x81, 0x5f, 0xf5, 0x64, 0x06, 0xb1, 0x94,
0xcf, 0xf3, 0x2b, 0xe2, 0xc1, 0x0b, 0x78, 0xca, 0x2f, 0xeb, 0x9b, 0xfd, 0xd7, 0x05, 0xa8, 0x3c,
0xf7, 0x2f, 0x03, 0xaf, 0x4f, 0xe0, 0x7a, 0xcc, 0xc7, 0x81, 0x6e, 0x80, 0xe2, 0x6f, 0x4c, 0x54,
0xd4, 0x91, 0x09, 0x85, 0x02, 0xbe, 0x7a, 0x88, 0xb1, 0x1b, 0xa5, 0x6d, 0x76, 0xd9, 0x6a, 0xab,
0x45, 0x49, 0x83, 0x7d, 0x0d, 0x16, 0x22, 0xf3, 0x45, 0xa0, 0x1c, 0xd1, 0x95, 0x34, 0xe9, 0xfd,
0x96, 0x8d, 0xde, 0x2f, 0x5d, 0xb1, 0x64, 0x23, 0x89, 0xd4, 0x8d, 0x57, 0x2c, 0x39, 0xa4, 0x52,
0x18, 0x71, 0xd5, 0x83, 0xc3, 0x24, 0x50, 0x51, 0xa5, 0x50, 0x11, 0x0f, 0x30, 0x0d, 0x7c, 0x00,
0x75, 0xc9, 0x2f, 0x59, 0xa4, 0x5e, 0x41, 0x92, 0x88, 0x61, 0xce, 0x8b, 0x42, 0x6d, 0xee, 0x8b,
0xc2, 0x29, 0xb0, 0xbd, 0xc1, 0x40, 0x29, 0x24, 0x01, 0x01, 0xe9, 0x59, 0x2c, 0xf3, 0x2c, 0x73,
0xa4, 0x16, 0xe6, 0x4a, 0x7d, 0x0c, 0xf5, 0x13, 0xe3, 0x3d, 0xe4, 0x2e, 0x6a, 0x4e, 0xbf, 0x84,
0x68, 0x2b, 0x45, 0xea, 0x01, 0xc4, 0x58, 0xac, 0x60, 0x2c, 0x66, 0x7f, 0x06, 0xec, 0xc8, 0x8b,
0x45, 0xb2, 0xb5, 0x04, 0x27, 0x69, 0xb0, 0x6a, 0xe2, 0x24, 0x45, 0x23, 0x9c, 0xb4, 0x27, 0xfb,
0x5a, 0xf9, 0x33, 0x3d, 0x82, 0xaa, 0x27, 0x49, 0x3a, 0x9d, 0x2c, 0xaa, 0x14, 0xa1, 0x39, 0x93,
0x79, 0x4c, 0x4f, 0x8a, 0xd8, 0x9d, 0x9c, 0xc5, 0xfd, 0xc8, 0x0b, 0x51, 0xf5, 0xf6, 0xdf, 0x58,
0x50, 0x51, 0xe7, 0x9a, 0x79, 0x06, 0x52, 0x48, 0xd6, 0x7c, 0x06, 0x9a, 0xdb, 0xf6, 0x9f, 0x35,
0x70, 0x71, 0x8e, 0x81, 0x19, 0x94, 0x42, 0x57, 0x5c, 0x10, 0x8a, 0xa8, 0x39, 0xf4, 0x5b, 0x23,
0x9b, 0x72, 0x8a, 0x6c, 0x54, 0x07, 0x4f, 0x6d, 0x29, 0x4e, 0xb5, 0xbf, 0x9a, 0x25, 0xa7, 0x1a,
0x50, 0xdb, 0xcb, 0x6b, 0x40, 0xb1, 0x3a, 0xc9, 0xbc, 0xdd, 0x81, 0xf6, 0x01, 0x1f, 0x71, 0xc1,
0xf7, 0x46, 0xa3, 0xbc, 0xfc, 0x3b, 0x70, 0x7b, 0xce, 0x9c, 0x8a, 0xaf, 0xa7, 0xb0, 0x7c, 0xc0,
0xcf, 0x26, 0xc3, 0x23, 0x7e, 0x99, 0xde, 0x55, 0x18, 0x94, 0xe2, 0x8b, 0xe0, 0x4a, 0x59, 0x8b,
0x7e, 0x63, 0x38, 0x8d, 0x90, 0xa7, 0x17, 0x87, 0xbc, 0xaf, 0x4b, 0x21, 0x51, 0xba, 0x21, 0xef,
0xdb, 0x7f, 0x08, 0xcc, 0x94, 0xa3, 0x8e, 0x80, 0x8e, 0x3f, 0x39, 0xeb, 0xc5, 0xd3, 0x58, 0xf0,
0xb1, 0x0e, 0x78, 0x88, 0x27, 0x67, 0x5d, 0x49, 0xb1, 0x1f, 0x42, 0xe3, 0xc4, 0x9d, 0x3a, 0xfc,
0x5b, 0x75, 0xf9, 0x44, 0x40, 0xe2, 0x4e, 0xd1, 0x5d, 0x13, 0x6c, 0x45, 0xd3, 0x76, 0x08, 0x0b,
0x92, 0x91, 0xdd, 0x93, 0x6f, 0x80, 0x9e, 0x2f, 0x2f, 0x79, 0xca, 0x90, 0x06, 0x69, 0xc6, 0xd6,
0x85, 0x59, 0x5b, 0xab, 0x8c, 0xab, 0xbb, 0xba, 0x1a, 0x59, 0xf8, 0x93, 0xb1, 0x6e, 0xe5, 0x3e,
0xda, 0x85, 0x66, 0xe6, 0x4e, 0xc0, 0x2a, 0x50, 0xdc, 0x3b, 0x3a, 0x6a, 0xdd, 0x62, 0x75, 0xa8,
0xbc, 0x3c, 0x79, 0x72, 0xfc, 0xfc, 0xf8, 0x59, 0xcb, 0xc2, 0xc1, 0xfe, 0xd1, 0xcb, 0x2e, 0x0e,
0x0a, 0xbb, 0xff, 0xbe, 0x0e, 0xb5, 0xa4, 0xda, 0xb1, 0x5f, 0x41, 0x33, 0x73, 0x03, 0x60, 0x77,
0x94, 0xfd, 0xe6, 0x5d, 0x29, 0x3a, 0x77, 0xe7, 0x4f, 0x2a, 0x3b, 0xbd, 0xff, 0xe7, 0xbf, 0xfd,
0x8f, 0xbf, 0x2b, 0xb4, 0xd9, 0xfa, 0xf6, 0xe5, 0x27, 0xdb, 0x0a, 0xe2, 0x6f, 0x53, 0xcf, 0x8a,
0xfa, 0x66, 0xec, 0x35, 0x2c, 0x66, 0x6f, 0x08, 0xec, 0x6e, 0xb6, 0xa2, 0xe6, 0x56, 0x7b, 0xef,
0x86, 0x59, 0xb5, 0xdc, 0x5d, 0x5a, 0x6e, 0x9d, 0xad, 0x9a, 0xcb, 0xe9, 0xfa, 0xc4, 0x38, 0xb5,
0x32, 0xcd, 0x27, 0x61, 0xa6, 0xe5, 0xcd, 0x7f, 0x2a, 0xee, 0xdc, 0x9e, 0x7d, 0xfe, 0x55, 0xef,
0xc5, 0x76, 0x9b, 0x96, 0x62, 0xac, 0x85, 0x4b, 0x99, 0x2f, 0xc2, 0xec, 0x97, 0x50, 0x4b, 0x5e,
0xc1, 0xd8, 0x86, 0xf1, 0xe6, 0x67, 0xbe, 0xab, 0x75, 0xda, 0xb3, 0x13, 0xea, 0x10, 0x77, 0x48,
0xf2, 0x9a, 0x3d, 0x23, 0xf9, 0x4b, 0xeb, 0x11, 0x3b, 0x82, 0x35, 0x95, 0x2c, 0xce, 0xf8, 0xff,
0xe5, 0x24, 0x73, 0x1e, 0xb2, 0x77, 0x2c, 0xf6, 0x53, 0xa8, 0xea, 0x87, 0x41, 0xb6, 0x3e, 0xff,
0x75, 0xb2, 0xb3, 0x31, 0x43, 0x57, 0x51, 0xb2, 0x07, 0x90, 0xbe, 0x83, 0xb1, 0xf6, 0x4d, 0xcf,
0x75, 0x89, 0x12, 0xe7, 0x3c, 0x9a, 0x0d, 0xe9, 0x19, 0x30, 0xfb, 0xcc, 0xc6, 0x3e, 0x48, 0xf9,
0xe7, 0x3e, 0xc0, 0x7d, 0x8f, 0x40, 0x7b, 0x9d, 0x74, 0xd7, 0x62, 0x8b, 0xa8, 0x3b, 0x9f, 0x5f,
0x69, 0xf8, 0xff, 0x0b, 0xa8, 0x1b, 0x8f, 0x65, 0xcc, 0x68, 0xae, 0xe4, 0xde, 0xe5, 0x3a, 0x9d,
0x79, 0x53, 0x4a, 0xfa, 0x2a, 0x49, 0x5f, 0xb4, 0x6b, 0x28, 0x9d, 0xba, 0xcb, 0x68, 0x92, 0xaf,
0x31, 0x78, 0x54, 0xb3, 0x9d, 0xa5, 0x0f, 0x79, 0xd9, 0x96, 0x7c, 0x62, 0xef, 0x99, 0xbe, 0xbc,
0xbd, 0x4c, 0x52, 0xeb, 0x2c, 0x95, 0xca, 0x5e, 0x40, 0x45, 0x35, 0xdd, 0xd9, 0x5a, 0x6a, 0x57,
0x03, 0x1b, 0x76, 0xd6, 0xf3, 0x64, 0x25, 0x6c, 0x85, 0x84, 0x35, 0x59, 0x1d, 0x85, 0x0d, 0xb9,
0xf0, 0x50, 0xc6, 0x08, 0x96, 0xf2, 0x2d, 0xf5, 0xbb, 0x37, 0x34, 0x5d, 0xb2, 0x61, 0x36, 0xbf,
0x25, 0x93, 0x0d, 0x33, 0x1d, 0x5e, 0xdb, 0xaa, 0x3a, 0xb2, 0x3f, 0x85, 0x86, 0xf9, 0xb4, 0xc3,
0x3a, 0xc6, 0xc9, 0x73, 0xcf, 0x40, 0x9d, 0x3b, 0x73, 0xe7, 0xb2, 0xea, 0x66, 0x0d, 0x73, 0x19,
0xf6, 0x0b, 0x58, 0x32, 0x7a, 0x8e, 0xdd, 0xa9, 0xdf, 0x4f, 0xcc, 0x39, 0xdb, 0x8b, 0xec, 0xcc,
0x6b, 0x0e, 0xdb, 0x1b, 0x24, 0x78, 0xd9, 0xce, 0x08, 0x46, 0x53, 0xee, 0x43, 0xdd, 0x90, 0xf1,
0x7d, 0x72, 0x37, 0x8c, 0x29, 0xb3, 0x11, 0xb8, 0x63, 0xb1, 0xdf, 0x58, 0xd0, 0x30, 0xdb, 0xd7,
0x89, 0x02, 0xe6, 0xf4, 0xb4, 0x13, 0xb7, 0x98, 0x69, 0x34, 0xdb, 0x3f, 0xa7, 0x4d, 0x9e, 0x3c,
0x3a, 0xce, 0x28, 0xf9, 0x4d, 0xa6, 0x6b, 0xb5, 0x65, 0xfe, 0x1b, 0xc4, 0xdb, 0xfc, 0xa4, 0xd9,
0xbe, 0x7d, 0xbb, 0xfd, 0x86, 0xba, 0xda, 0x6f, 0x77, 0x2c, 0xf6, 0xa5, 0xfc, 0x8f, 0x15, 0x8d,
0x31, 0x98, 0x11, 0xe0, 0x79, 0xb5, 0x99, 0xff, 0x07, 0xb2, 0x69, 0xed, 0x58, 0xec, 0xcf, 0xe4,
0x3f, 0x3b, 0xa8, 0x6f, 0x49, 0xfb, 0xef, 0xfa, 0xbd, 0xfd, 0x80, 0x4e, 0xf4, 0xbe, 0x7d, 0x3b,
0x73, 0xa2, 0x7c, 0x86, 0x3b, 0x01, 0x48, 0xb1, 0x22, 0xcb, 0xa1, 0xa7, 0x24, 0xf6, 0x67, 0xe1,
0x64, 0xd6, 0xaa, 0x1a, 0x64, 0xa1, 0xc4, 0x5f, 0x49, 0x87, 0x54, 0xfc, 0x71, 0x62, 0xd6, 0x59,
0xe0, 0xd7, 0xe9, 0xcc, 0x9b, 0x52, 0xf2, 0x3f, 0x24, 0xf9, 0xef, 0xb1, 0x3b, 0xa6, 0xfc, 0xed,
0x37, 0x26, 0x50, 0x7c, 0xcb, 0x7e, 0x0e, 0xcd, 0xa3, 0x20, 0x78, 0x3d, 0x09, 0x13, 0xf4, 0x9f,
0x05, 0x3f, 0x58, 0xc6, 0x3b, 0xb9, 0x43, 0xd9, 0xf7, 0x49, 0xf2, 0x1d, 0x76, 0x3b, 0x2b, 0x39,
0x45, 0xb3, 0x6f, 0x99, 0x0b, 0xcb, 0x49, 0xde, 0x4f, 0x0e, 0xd2, 0xc9, 0xca, 0x31, 0x51, 0xe4,
0xcc, 0x1a, 0x99, 0x4a, 0x9c, 0xac, 0x11, 0x6b, 0x99, 0x3b, 0x16, 0x3b, 0x81, 0xc6, 0x01, 0xef,
0x07, 0x03, 0xae, 0x10, 0xcb, 0x4a, 0xba, 0xf3, 0x04, 0xe9, 0x74, 0x9a, 0x19, 0x62, 0x36, 0x13,
0x84, 0xee, 0x34, 0xe2, 0xdf, 0x6e, 0xbf, 0x51, 0x50, 0xe8, 0xad, 0xce, 0x04, 0x1a, 0xbd, 0x65,
0x32, 0x41, 0x0e, 0xee, 0x65, 0x32, 0xc1, 0x0c, 0xdc, 0xcb, 0x64, 0x02, 0x8d, 0x1e, 0xd9, 0x08,
0x41, 0x60, 0x0e, 0x21, 0x26, 0xd5, 0xe3, 0x26, 0x5c, 0xd9, 0xb9, 0x77, 0x33, 0x43, 0x76, 0xb5,
0x47, 0xd9, 0xd5, 0xba, 0xd0, 0x3c, 0xe0, 0x52, 0x59, 0xb2, 0x6d, 0xd0, 0xc9, 0xa6, 0x16, 0xb3,
0xc5, 0x90, 0x4f, 0x3b, 0x34, 0x97, 0x4d, 0xf4, 0x74, 0x67, 0x67, 0xbf, 0x84, 0xfa, 0x33, 0x2e,
0x74, 0x9f, 0x20, 0xa9, 0xc1, 0xb9, 0xc6, 0x41, 0x67, 0x4e, 0x9b, 0xc1, 0xbe, 0x47, 0xd2, 0x3a,
0xac, 0x9d, 0x48, 0xdb, 0xe6, 0x83, 0x21, 0x97, 0x49, 0xa0, 0xe7, 0x0d, 0xde, 0xb2, 0x3f, 0x26,
0xe1, 0x49, 0x6f, 0x4f, 0x0b, 0xcf, 0x35, 0x06, 0x3b, 0x4b, 0x39, 0xfa, 0x3c, 0xc9, 0x7e, 0x30,
0xe0, 0xdb, 0x6f, 0x54, 0xd3, 0x0d, 0x25, 0xc3, 0xd7, 0x13, 0x1e, 0x4d, 0x65, 0xc3, 0x73, 0x25,
0xf3, 0xdf, 0x5d, 0x4a, 0x6a, 0xe6, 0x5f, 0xbe, 0xec, 0x87, 0x24, 0xf2, 0x3e, 0xfb, 0x20, 0x15,
0x49, 0xff, 0x1f, 0x96, 0xca, 0xdc, 0x7e, 0xe3, 0x8e, 0xc5, 0x5b, 0xf6, 0x8a, 0x5e, 0xa0, 0xcd,
0xae, 0x47, 0x5a, 0xed, 0xf3, 0x0d, 0x92, 0x44, 0x2d, 0xc6, 0x54, 0x16, 0x01, 0xc8, 0x95, 0xa8,
0x06, 0x12, 0xd4, 0x91, 0xb7, 0x74, 0x03, 0xea, 0x64, 0xae, 0xf9, 0x06, 0xd4, 0xc9, 0x5e, 0xe7,
0x11, 0xea, 0xa4, 0xd7, 0x84, 0x04, 0xea, 0xcc, 0xdc, 0x40, 0x92, 0xec, 0x34, 0x7b, 0xa7, 0x38,
0x5b, 0xa0, 0x7f, 0xc2, 0xfc, 0xfd, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xc1, 0xca, 0xce,
0xb6, 0x29, 0x00, 0x00,
// 3644 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x5a, 0x4f, 0x6f, 0x1b, 0x47,
0x96, 0x77, 0x93, 0x94, 0x44, 0x3e, 0x92, 0xfa, 0x53, 0x92, 0x25, 0x9a, 0xb2, 0x1d, 0xb9, 0xd7,
0x88, 0x05, 0x6d, 0x20, 0xd9, 0x5a, 0xc0, 0xeb, 0x38, 0x8b, 0x0d, 0x64, 0x5b, 0x6b, 0x19, 0x51,
0x64, 0xa5, 0xe5, 0xc4, 0xd9, 0x04, 0x0b, 0x6e, 0x8b, 0x2c, 0x51, 0x1d, 0x37, 0xbb, 0x3b, 0xdd,
0x45, 0xc9, 0x8c, 0x21, 0xec, 0x22, 0x9b, 0xdb, 0x1e, 0x16, 0xc1, 0x02, 0x73, 0x0c, 0xe6, 0x0b,
0xcc, 0x65, 0xae, 0xf3, 0x1d, 0x06, 0x03, 0xe4, 0x34, 0x87, 0x39, 0x0c, 0x30, 0x5f, 0x60, 0xee,
0x73, 0x18, 0xbc, 0xfa, 0xd3, 0x5d, 0xd5, 0xdd, 0x4a, 0x3c, 0x98, 0x93, 0x58, 0xbf, 0x7a, 0xfd,
0xaa, 0xea, 0xfd, 0xaf, 0x57, 0x82, 0x46, 0x1c, 0xf5, 0x37, 0xa3, 0x38, 0x64, 0x21, 0x99, 0xf2,
0x83, 0x38, 0xea, 0x77, 0xaf, 0x0f, 0xc3, 0x70, 0xe8, 0xd3, 0x2d, 0x37, 0xf2, 0xb6, 0xdc, 0x20,
0x08, 0x99, 0xcb, 0xbc, 0x30, 0x48, 0x04, 0x91, 0xfd, 0x67, 0x0b, 0x9a, 0x2f, 0x62, 0x37, 0x48,
0xdc, 0x3e, 0xc2, 0xa4, 0x03, 0x33, 0xec, 0x75, 0xef, 0xd4, 0x4d, 0x4e, 0x3b, 0xd6, 0x9a, 0xb5,
0xde, 0x70, 0xd4, 0x90, 0x2c, 0xc3, 0xb4, 0x3b, 0x0a, 0xc7, 0x01, 0xeb, 0x54, 0xd6, 0xac, 0x75,
0xcb, 0x91, 0x23, 0xf2, 0x1e, 0x2c, 0x04, 0xe3, 0x51, 0xaf, 0x1f, 0x06, 0x27, 0x5e, 0x3c, 0x12,
0xcc, 0x3b, 0xd5, 0x35, 0x6b, 0x7d, 0xca, 0x29, 0x4e, 0x90, 0x9b, 0x00, 0xc7, 0x7e, 0xd8, 0x7f,
0x25, 0x96, 0xa8, 0xf1, 0x25, 0x34, 0x84, 0xd8, 0xd0, 0x92, 0x23, 0xea, 0x0d, 0x4f, 0x59, 0x67,
0x8a, 0x33, 0x32, 0x30, 0xe4, 0xc1, 0xbc, 0x11, 0xed, 0x25, 0xcc, 0x1d, 0x45, 0x9d, 0xe9, 0x35,
0x6b, 0xbd, 0xea, 0x68, 0x08, 0x9f, 0x0f, 0x99, 0xeb, 0xf7, 0x4e, 0x28, 0x4d, 0x3a, 0x33, 0x72,
0x3e, 0x45, 0xec, 0x0e, 0x2c, 0x3f, 0xa5, 0x4c, 0x3b, 0x75, 0xe2, 0xd0, 0xaf, 0xc7, 0x34, 0x61,
0xf6, 0x3e, 0x10, 0x0d, 0x7e, 0x42, 0x99, 0xeb, 0xf9, 0x09, 0xb9, 0x0f, 0x2d, 0xa6, 0x11, 0x77,
0xac, 0xb5, 0xea, 0x7a, 0x73, 0x9b, 0x6c, 0x72, 0xf9, 0x6e, 0x6a, 0x1f, 0x38, 0x06, 0x9d, 0xfd,
0x3b, 0x0b, 0x9a, 0x47, 0x34, 0x18, 0x48, 0xee, 0x84, 0x40, 0x6d, 0x40, 0x13, 0xc6, 0x05, 0xdb,
0x72, 0xf8, 0x6f, 0xf2, 0x0e, 0x34, 0xf1, 0x6f, 0x2f, 0x61, 0xb1, 0x17, 0x0c, 0xb9, 0x68, 0x1b,
0x0e, 0x20, 0x74, 0xc4, 0x11, 0x32, 0x0f, 0x55, 0x77, 0xc4, 0xb8, 0x40, 0xab, 0x0e, 0xfe, 0x24,
0xb7, 0xa0, 0x15, 0xb9, 0x93, 0x11, 0x0d, 0x58, 0x26, 0xc4, 0x96, 0xd3, 0x94, 0xd8, 0x1e, 0x4a,
0x71, 0x13, 0x16, 0x75, 0x12, 0xc5, 0x7d, 0x8a, 0x73, 0x5f, 0xd0, 0x28, 0xe5, 0x22, 0x77, 0x60,
0x4e, 0xd1, 0xc7, 0x62, 0xb3, 0x5c, 0xac, 0x0d, 0x67, 0x56, 0xc2, 0x4a, 0x40, 0x01, 0xb4, 0xc4,
0x89, 0x92, 0x28, 0x0c, 0x12, 0x4a, 0x36, 0x60, 0x5e, 0x7d, 0x18, 0xc5, 0xd4, 0x1b, 0xb9, 0x43,
0x2a, 0x8f, 0x57, 0xc0, 0xc9, 0x36, 0xb4, 0xd3, 0x45, 0xc2, 0x31, 0xa3, 0xfc, 0xb0, 0xcd, 0xed,
0x96, 0x94, 0xa3, 0x83, 0x98, 0x63, 0x92, 0xd8, 0xdf, 0x5a, 0xd0, 0x7a, 0x7c, 0xea, 0x06, 0x01,
0xf5, 0x0f, 0x43, 0x2f, 0x60, 0x68, 0x1f, 0x27, 0xe3, 0x60, 0xe0, 0x05, 0xc3, 0x1e, 0x7b, 0xed,
0x0d, 0xe4, 0x62, 0x06, 0x86, 0x9b, 0xd2, 0xc7, 0x78, 0x7a, 0x29, 0xd8, 0x02, 0x8e, 0xfc, 0xc2,
0x31, 0x8b, 0xc6, 0xac, 0xe7, 0x05, 0x03, 0xfa, 0x9a, 0xcb, 0xb9, 0xed, 0x18, 0x98, 0xfd, 0xaf,
0x30, 0xbf, 0x8f, 0x86, 0x17, 0x78, 0xc1, 0x70, 0x67, 0x30, 0x88, 0x69, 0x92, 0xa0, 0x37, 0x44,
0xe3, 0xe3, 0x57, 0x74, 0x22, 0xdd, 0x44, 0x8e, 0x50, 0xc7, 0xa7, 0x61, 0xc2, 0xe4, 0x7a, 0xfc,
0xb7, 0xfd, 0x4b, 0x0b, 0xe6, 0x50, 0x6a, 0x1f, 0xbb, 0xc1, 0x44, 0xd9, 0xc2, 0x3e, 0xb4, 0x90,
0xd5, 0x8b, 0x70, 0x47, 0xf8, 0x94, 0xb0, 0xa9, 0x75, 0x29, 0x8b, 0x1c, 0xf5, 0xa6, 0x4e, 0xba,
0x1b, 0xb0, 0x78, 0xe2, 0xb4, 0x5c, 0x0d, 0xea, 0x7e, 0x08, 0x0b, 0x05, 0x12, 0xb4, 0x9c, 0x6c,
0x7f, 0xf8, 0x93, 0x2c, 0xc1, 0xd4, 0x99, 0xeb, 0x8f, 0x85, 0xe4, 0xab, 0x8e, 0x18, 0x3c, 0xac,
0x3c, 0xb0, 0xec, 0x77, 0x61, 0x3e, 0x5b, 0x53, 0xea, 0x96, 0x40, 0x2d, 0x15, 0x71, 0xc3, 0xe1,
0xbf, 0x51, 0x14, 0x48, 0xf7, 0x38, 0xf4, 0x52, 0xa7, 0x41, 0x3a, 0xdc, 0x8c, 0xa2, 0xc3, 0xdf,
0xb9, 0x60, 0x51, 0x55, 0xc1, 0xc2, 0xbe, 0x03, 0x0b, 0xda, 0xf7, 0x3f, 0xb1, 0xd0, 0x0f, 0x16,
0x2c, 0x1c, 0xd0, 0x73, 0x29, 0x6e, 0xb5, 0xd4, 0x03, 0xa8, 0xb1, 0x49, 0x24, 0x4c, 0x6c, 0x76,
0xfb, 0xb6, 0x94, 0x56, 0x81, 0x6e, 0x53, 0x0e, 0x5f, 0x4c, 0x22, 0xea, 0xf0, 0x2f, 0xec, 0xe7,
0xd0, 0xd4, 0x40, 0xb2, 0x02, 0x8b, 0x2f, 0x9f, 0xbd, 0x38, 0xd8, 0x3d, 0x3a, 0xea, 0x1d, 0x7e,
0xfa, 0xe8, 0xa3, 0xdd, 0x7f, 0xef, 0xed, 0xed, 0x1c, 0xed, 0xcd, 0x5f, 0x21, 0xcb, 0x40, 0x0e,
0x76, 0x8f, 0x5e, 0xec, 0x3e, 0x31, 0x70, 0x8b, 0xcc, 0x41, 0x53, 0x07, 0x2a, 0x76, 0x17, 0x3a,
0x07, 0xf4, 0xfc, 0xa5, 0xc7, 0x02, 0x9a, 0x24, 0xe6, 0xf2, 0xf6, 0x26, 0x10, 0x7d, 0x4f, 0xf2,
0x98, 0x1d, 0x98, 0x71, 0x05, 0xa4, 0x42, 0xab, 0x1c, 0xda, 0x9f, 0x02, 0x79, 0x1c, 0x06, 0x01,
0xed, 0xb3, 0x43, 0x4a, 0x63, 0x75, 0xd8, 0x7f, 0xd4, 0xe4, 0xda, 0xdc, 0x5e, 0x91, 0x87, 0xcd,
0x5b, 0xa2, 0x14, 0x38, 0x81, 0x5a, 0x44, 0xe3, 0x11, 0x17, 0x77, 0xdd, 0xe1, 0xbf, 0xed, 0x2d,
0x58, 0x34, 0xd8, 0x66, 0xfb, 0x88, 0x28, 0x8d, 0x7b, 0x52, 0xe2, 0x53, 0x8e, 0x1a, 0xda, 0xbf,
0xb6, 0xa0, 0xb6, 0xf7, 0x62, 0xff, 0x31, 0xe9, 0x42, 0xdd, 0x0b, 0xfa, 0xe1, 0x08, 0x83, 0x86,
0xc5, 0x39, 0xa6, 0xe3, 0xcb, 0x54, 0x4b, 0xae, 0x43, 0x83, 0xc7, 0x1a, 0x8c, 0xd4, 0xdc, 0x8d,
0x5a, 0x4e, 0x06, 0x60, 0x96, 0xa0, 0xaf, 0x23, 0x2f, 0xe6, 0x69, 0x40, 0x05, 0xf7, 0x1a, 0x77,
0xb6, 0xe2, 0x04, 0x7a, 0x70, 0x4c, 0xcf, 0xc2, 0xbe, 0x00, 0x07, 0xd4, 0x77, 0x27, 0x3c, 0x78,
0xb5, 0x9d, 0x02, 0x6e, 0xff, 0xb6, 0x0a, 0xed, 0x9d, 0x3e, 0xf3, 0xce, 0xa8, 0x0c, 0x14, 0xe4,
0x36, 0xb4, 0x63, 0x3a, 0x0a, 0x19, 0xed, 0x19, 0x2e, 0x6a, 0x82, 0x48, 0xd5, 0x17, 0x1f, 0xf4,
0x22, 0x0c, 0x2d, 0xd2, 0x65, 0x4d, 0x10, 0x85, 0x85, 0x00, 0x0a, 0x0b, 0xcf, 0x54, 0x73, 0xd4,
0x10, 0x65, 0xd4, 0x77, 0x23, 0xb7, 0xef, 0xb1, 0x09, 0x3f, 0x48, 0xd5, 0x49, 0xc7, 0xc8, 0xdb,
0x0f, 0xfb, 0xae, 0xdf, 0x3b, 0x76, 0x7d, 0x37, 0xe8, 0x53, 0xbe, 0xf9, 0xaa, 0x63, 0x82, 0xe4,
0x5d, 0x98, 0x95, 0x5b, 0x52, 0x64, 0x22, 0x97, 0xe5, 0x50, 0x94, 0xdd, 0x38, 0x48, 0x28, 0x63,
0x3e, 0x1d, 0xa4, 0xa4, 0x22, 0xad, 0x15, 0x27, 0xc8, 0x5d, 0x58, 0x14, 0xb9, 0x2e, 0x71, 0x59,
0x98, 0x9c, 0x7a, 0x49, 0x2f, 0xa1, 0x01, 0xeb, 0xd4, 0x39, 0x7d, 0xd9, 0x14, 0x79, 0x00, 0x2b,
0x39, 0x38, 0xa6, 0x7d, 0xea, 0x9d, 0xd1, 0x41, 0xa7, 0xc1, 0xbf, 0xba, 0x6c, 0x9a, 0xac, 0x41,
0x13, 0x53, 0xfc, 0x38, 0x1a, 0xb8, 0x8c, 0x26, 0x1d, 0xe0, 0x12, 0xd2, 0x21, 0x72, 0x0f, 0xda,
0x11, 0x15, 0x31, 0xf7, 0x94, 0xf9, 0xfd, 0xa4, 0xd3, 0xe4, 0x81, 0xae, 0x29, 0xad, 0x19, 0xad,
0xcd, 0x31, 0x29, 0xec, 0xab, 0xb0, 0xb8, 0xef, 0x25, 0x4c, 0x6a, 0x33, 0x75, 0xaa, 0x3d, 0x58,
0x32, 0x61, 0x69, 0xce, 0x77, 0xa1, 0x2e, 0x55, 0xa6, 0x98, 0x2f, 0x49, 0xe6, 0x86, 0x55, 0x38,
0x29, 0x95, 0xfd, 0x5d, 0x05, 0x6a, 0xe8, 0x11, 0xdc, 0x13, 0xc6, 0xc7, 0xbd, 0xcc, 0x44, 0xd4,
0x50, 0xf7, 0x91, 0x8a, 0xe1, 0x23, 0xba, 0x17, 0x57, 0x0d, 0x2f, 0xe6, 0xa5, 0xcd, 0x84, 0x51,
0x29, 0xef, 0x1a, 0x97, 0x85, 0x86, 0x64, 0xf3, 0x31, 0xed, 0x9f, 0x71, 0x8b, 0x48, 0xe7, 0x11,
0x41, 0x83, 0x4a, 0x5c, 0x26, 0xbe, 0x16, 0x86, 0x90, 0x8e, 0xd5, 0x1c, 0xff, 0x72, 0x26, 0x9b,
0xe3, 0xdf, 0x75, 0x60, 0xc6, 0x0b, 0x8e, 0xc3, 0x71, 0x30, 0xe0, 0x4a, 0xae, 0x3b, 0x6a, 0x88,
0x2e, 0x19, 0xf1, 0x6c, 0xe7, 0x8d, 0xa8, 0x54, 0x65, 0x06, 0xd8, 0x04, 0xd3, 0x5a, 0xc2, 0x63,
0x43, 0x2a, 0xe4, 0xfb, 0xb0, 0xa0, 0x61, 0x52, 0xc2, 0xb7, 0x60, 0x0a, 0x4f, 0xaf, 0x0a, 0x1f,
0xa5, 0x3b, 0x1e, 0x54, 0xc4, 0x8c, 0x3d, 0x0f, 0xb3, 0x4f, 0x29, 0x7b, 0x16, 0x9c, 0x84, 0x8a,
0xd3, 0x1f, 0x2a, 0x30, 0x97, 0x42, 0x92, 0xd1, 0x3a, 0xcc, 0x79, 0x03, 0x1a, 0x30, 0x8f, 0x4d,
0x4c, 0xd7, 0xcc, 0xc3, 0x98, 0xa9, 0x5c, 0xdf, 0x73, 0x13, 0xe9, 0x94, 0x62, 0x40, 0xb6, 0x61,
0x09, 0x6d, 0x4b, 0x99, 0x4b, 0xaa, 0x76, 0x91, 0xb4, 0x4b, 0xe7, 0xd0, 0x1d, 0x10, 0x77, 0xb9,
0x2d, 0x64, 0x9f, 0x88, 0xd0, 0x53, 0x36, 0x85, 0x52, 0x13, 0x9c, 0xf0, 0xc8, 0x22, 0xea, 0x64,
0x40, 0xa1, 0x40, 0x9d, 0x16, 0x05, 0x43, 0xbe, 0x40, 0xd5, 0x8a, 0xdc, 0x7a, 0xa1, 0xc8, 0x5d,
0x87, 0xb9, 0x64, 0x12, 0xf4, 0xe9, 0xa0, 0xc7, 0x42, 0x5c, 0xd7, 0x0b, 0xb8, 0x76, 0xea, 0x4e,
0x1e, 0xe6, 0xe5, 0x38, 0x4d, 0x58, 0x40, 0x19, 0x77, 0xae, 0xba, 0xa3, 0x86, 0xf6, 0x37, 0x3c,
0x67, 0xa4, 0x95, 0xf5, 0xa7, 0xdc, 0xdf, 0xc8, 0x2a, 0x34, 0xc4, 0x3a, 0xc9, 0xa9, 0x2b, 0x6b,
0xa3, 0x3a, 0x07, 0x8e, 0x4e, 0x5d, 0x2c, 0x1c, 0x8d, 0xad, 0x0b, 0xcb, 0x6e, 0x72, 0x6c, 0x4f,
0xec, 0xfc, 0x36, 0xcc, 0xaa, 0x9a, 0x3d, 0xe9, 0xf9, 0xf4, 0x84, 0xa9, 0x82, 0x28, 0x18, 0x8f,
0x70, 0xb9, 0x64, 0x9f, 0x9e, 0x30, 0xfb, 0x00, 0x16, 0xa4, 0x57, 0x3d, 0x8f, 0xa8, 0x5a, 0xfa,
0xfd, 0x7c, 0x3c, 0x15, 0x79, 0x6b, 0x51, 0x5a, 0x8b, 0x5e, 0xc5, 0xe5, 0x82, 0xac, 0xed, 0x00,
0x91, 0xd3, 0x8f, 0xfd, 0x30, 0xa1, 0x92, 0xa1, 0x0d, 0xad, 0xbe, 0x1f, 0x26, 0xf9, 0x52, 0x4f,
0xc7, 0x50, 0x3e, 0xc9, 0xb8, 0xdf, 0x47, 0x6f, 0x14, 0x99, 0x4f, 0x0d, 0xed, 0xef, 0x2c, 0x58,
0xe4, 0xdc, 0x94, 0xff, 0xa7, 0x25, 0xc4, 0xdb, 0x6f, 0xb3, 0xd5, 0xd7, 0x4b, 0xcf, 0x1b, 0xf2,
0xda, 0xe1, 0x7b, 0x23, 0x4f, 0x25, 0xbf, 0x06, 0x22, 0xfb, 0x08, 0xa0, 0xc9, 0x9e, 0x84, 0x71,
0x9f, 0x72, 0x89, 0xd5, 0x1d, 0x31, 0xb0, 0x7f, 0x6f, 0xc1, 0x02, 0xdf, 0xc6, 0x11, 0x73, 0xd9,
0x38, 0x91, 0x47, 0xfb, 0x17, 0x68, 0xe3, 0x31, 0xa8, 0x32, 0x57, 0xb9, 0x89, 0xa5, 0xd4, 0xb3,
0x38, 0x2a, 0x88, 0xf7, 0xae, 0x38, 0x26, 0x31, 0xf9, 0x10, 0x5a, 0xfa, 0xa5, 0x4a, 0xd6, 0xd1,
0xd7, 0xd4, 0x09, 0x0a, 0x56, 0xb1, 0x77, 0xc5, 0x31, 0x3e, 0x20, 0x1f, 0x00, 0xf0, 0x2c, 0xc6,
0xd9, 0xf2, 0xfd, 0x6a, 0x9f, 0x17, 0x14, 0xb1, 0x77, 0xc5, 0xd1, 0xc8, 0x1f, 0xd5, 0x61, 0x5a,
0x04, 0x77, 0xfb, 0x29, 0xb4, 0x8d, 0x9d, 0x1a, 0x85, 0x5c, 0x4b, 0x14, 0x72, 0x85, 0x02, 0xbb,
0x52, 0x52, 0x60, 0xff, 0xc5, 0x02, 0x82, 0x96, 0x94, 0x53, 0xd5, 0xbb, 0x30, 0xcb, 0xdc, 0x78,
0x48, 0x59, 0xcf, 0xac, 0x57, 0x72, 0x28, 0xcf, 0x42, 0xe1, 0x20, 0xcd, 0xf6, 0x15, 0x71, 0x1f,
0xd2, 0x20, 0xb2, 0x09, 0x44, 0x1b, 0xaa, 0xeb, 0x90, 0x88, 0xdf, 0x25, 0x33, 0x18, 0x68, 0x44,
0xaa, 0x56, 0xf7, 0x05, 0x59, 0xf1, 0x88, 0x3c, 0x5f, 0x3a, 0x87, 0x21, 0x3a, 0x1a, 0xe3, 0x5d,
0xcb, 0x65, 0x32, 0xdd, 0xa7, 0x63, 0x15, 0x52, 0xb8, 0x5b, 0xc9, 0x88, 0x91, 0x01, 0xf6, 0x8f,
0x16, 0xcc, 0xe3, 0xf1, 0x0d, 0x13, 0x79, 0x08, 0xdc, 0xfa, 0xde, 0xd2, 0x42, 0x0c, 0xda, 0xbf,
0xdf, 0x40, 0x1e, 0x40, 0x83, 0x33, 0x0c, 0x23, 0x1a, 0x48, 0xfb, 0xe8, 0x98, 0xf6, 0x91, 0x39,
0xfe, 0xde, 0x15, 0x27, 0x23, 0xd6, 0xac, 0x63, 0x17, 0xae, 0xca, 0x5d, 0xe6, 0xd4, 0xfa, 0x1e,
0x4c, 0x27, 0xfc, 0xa4, 0xb2, 0x8c, 0x5f, 0x32, 0x39, 0x0b, 0x29, 0x38, 0x92, 0xc6, 0xfe, 0xdf,
0x2a, 0x2c, 0xe7, 0xf9, 0xc8, 0x74, 0xf2, 0x39, 0xcc, 0x17, 0x52, 0x81, 0x48, 0x51, 0xef, 0x99,
0x62, 0xca, 0x7d, 0x98, 0x87, 0x0b, 0x5c, 0xba, 0xbf, 0xa8, 0xc0, 0xac, 0x49, 0x84, 0x76, 0x9c,
0x26, 0xa9, 0x2c, 0x71, 0x19, 0xd8, 0x5b, 0x96, 0x94, 0x7a, 0xe1, 0x58, 0xfd, 0xb9, 0xc2, 0xb1,
0xf6, 0x76, 0x85, 0xe3, 0x54, 0x69, 0xe1, 0x98, 0x8f, 0xa0, 0xe2, 0x4e, 0x6f, 0x46, 0xd0, 0x4c,
0x1b, 0x33, 0x6f, 0xa1, 0x8d, 0xf7, 0x61, 0xe9, 0xa5, 0xeb, 0xfb, 0x94, 0x3d, 0x12, 0x4b, 0x28,
0x9d, 0xde, 0x82, 0xd6, 0xb9, 0xb8, 0x0a, 0xf5, 0xc2, 0xc0, 0x9f, 0xc8, 0x4b, 0x43, 0x53, 0x62,
0xcf, 0x03, 0x7f, 0x62, 0xdf, 0x83, 0xab, 0xb9, 0x4f, 0xb3, 0xfb, 0x88, 0x3a, 0x86, 0xc5, 0x3b,
0x4b, 0x6a, 0x68, 0xaf, 0xc0, 0x55, 0xb9, 0x0d, 0x73, 0x39, 0x7b, 0x1b, 0x96, 0xf3, 0x13, 0xe5,
0xcc, 0xaa, 0x19, 0xb3, 0xf7, 0xa1, 0x25, 0x5a, 0x0c, 0x72, 0xcb, 0x2b, 0xf9, 0xe2, 0x0f, 0xaf,
0xf0, 0x1f, 0xd1, 0x89, 0xea, 0xb8, 0x54, 0xd2, 0x8e, 0x8b, 0xfd, 0x5f, 0x50, 0xdd, 0x0b, 0x23,
0xfd, 0x2e, 0x60, 0x99, 0x77, 0x01, 0xa9, 0xf8, 0x5e, 0xaa, 0x57, 0xf1, 0xb1, 0x09, 0xa2, 0xda,
0xdc, 0x11, 0xc3, 0xe4, 0x7e, 0x12, 0xc6, 0xe7, 0x6e, 0x3c, 0x90, 0xea, 0xcf, 0xa1, 0xb8, 0x81,
0x13, 0xaa, 0x54, 0x8f, 0x3f, 0xed, 0xff, 0xb3, 0x60, 0x8a, 0x6f, 0x1e, 0x4b, 0x07, 0x51, 0x8c,
0x8b, 0x54, 0x84, 0x77, 0x2d, 0x8b, 0xc7, 0x93, 0x3c, 0x9c, 0xeb, 0x82, 0x55, 0xf2, 0x5d, 0x30,
0x8c, 0x49, 0x62, 0x94, 0xb5, 0x97, 0x32, 0x80, 0xdc, 0x84, 0xda, 0x69, 0x18, 0x61, 0x9d, 0x84,
0xfe, 0x04, 0xaa, 0x5c, 0x0f, 0x23, 0x87, 0xe3, 0xf6, 0x06, 0xcc, 0x1d, 0x84, 0x03, 0xaa, 0x55,
0x7c, 0x97, 0x0a, 0xd4, 0xfe, 0x6f, 0x0b, 0xea, 0x8a, 0x98, 0xac, 0x43, 0x0d, 0x03, 0x6e, 0x2e,
0x9e, 0xa5, 0xb7, 0x5a, 0xa4, 0x73, 0x38, 0x05, 0x5a, 0x2f, 0x8f, 0x91, 0xca, 0xb5, 0x2b, 0x69,
0x25, 0x92, 0xd5, 0x6a, 0x98, 0x22, 0xf8, 0x9e, 0x73, 0x1e, 0x95, 0x43, 0xed, 0x37, 0xd0, 0x36,
0x96, 0xc0, 0x9c, 0xe1, 0xbb, 0x09, 0x93, 0xf7, 0x14, 0x29, 0x43, 0x1d, 0xd2, 0x2f, 0x07, 0x95,
0xc2, 0xe5, 0xe0, 0x92, 0x2b, 0x40, 0x5a, 0xb6, 0xd6, 0xb4, 0xb2, 0xd5, 0xfe, 0x95, 0x05, 0x6d,
0xd4, 0x9e, 0x17, 0x0c, 0x0f, 0x43, 0xdf, 0xeb, 0x4f, 0xb8, 0x16, 0x95, 0xa2, 0xf0, 0x1a, 0xcb,
0xdc, 0x54, 0x8b, 0x26, 0x8c, 0xc1, 0x62, 0xe4, 0x05, 0xfc, 0x66, 0x24, 0x75, 0x98, 0x8e, 0xd1,
0xea, 0x4e, 0x28, 0x7a, 0x7b, 0x42, 0x7b, 0x23, 0x4c, 0x3b, 0xe2, 0xec, 0x26, 0x88, 0x05, 0x30,
0x02, 0xb1, 0xcb, 0x68, 0x6f, 0xe4, 0xf9, 0xbe, 0x27, 0x68, 0x85, 0x75, 0x95, 0x4d, 0xd9, 0xbf,
0xa9, 0x40, 0x53, 0xba, 0xd7, 0xee, 0x60, 0x48, 0xd1, 0x92, 0x54, 0x04, 0x4b, 0x4d, 0x5f, 0x43,
0xd4, 0xbc, 0x11, 0xf3, 0x34, 0x24, 0x2f, 0xeb, 0x6a, 0x51, 0xd6, 0x98, 0x1f, 0xc3, 0x01, 0xbd,
0x87, 0x69, 0x58, 0xca, 0x2e, 0x03, 0xd4, 0xec, 0x36, 0x9f, 0x9d, 0xca, 0x66, 0x39, 0x60, 0x84,
0xd3, 0xe9, 0x5c, 0x38, 0x7d, 0x00, 0x2d, 0xc9, 0x86, 0xcb, 0x9d, 0x87, 0xb8, 0xcc, 0xe8, 0x0c,
0x9d, 0x38, 0x06, 0xa5, 0xfa, 0x72, 0x5b, 0x7d, 0x59, 0xff, 0xb9, 0x2f, 0x15, 0x25, 0x5e, 0x5f,
0xa5, 0xf0, 0x9e, 0xc6, 0x6e, 0x74, 0xaa, 0x42, 0xd6, 0x20, 0x6d, 0x64, 0x72, 0x98, 0x6c, 0xc0,
0x14, 0x7e, 0xa6, 0x32, 0x56, 0xb9, 0x23, 0x08, 0x12, 0xb2, 0x0e, 0x53, 0x74, 0x30, 0xe4, 0x5e,
0xac, 0x77, 0x9e, 0x35, 0x1d, 0x39, 0x82, 0x00, 0xdd, 0x12, 0xd1, 0x9c, 0x5b, 0x9a, 0x51, 0x6b,
0x1a, 0x87, 0xcf, 0x06, 0xf6, 0x12, 0x90, 0x03, 0xca, 0xce, 0xc3, 0xf8, 0x95, 0x7e, 0x6f, 0xfb,
0x9f, 0x2a, 0x34, 0x35, 0x18, 0x3d, 0x6c, 0x88, 0x1b, 0xee, 0x0d, 0x3c, 0x77, 0x44, 0x19, 0x8d,
0xa5, 0xa5, 0xe6, 0x50, 0x1e, 0xdc, 0xce, 0x86, 0xbd, 0x70, 0xcc, 0x7a, 0x03, 0x3a, 0x8c, 0x29,
0x95, 0xcf, 0x04, 0x39, 0x14, 0xe9, 0x46, 0xee, 0x6b, 0x9d, 0x4e, 0xd8, 0x43, 0x0e, 0x55, 0x25,
0x93, 0x90, 0x51, 0x2d, 0x2b, 0x99, 0x84, 0x44, 0xf2, 0xb1, 0x61, 0xaa, 0x24, 0x36, 0xdc, 0x87,
0x65, 0x11, 0x05, 0x02, 0x71, 0x9c, 0x5e, 0xce, 0x4c, 0x2e, 0x99, 0x25, 0x1b, 0x30, 0x8f, 0x7b,
0x56, 0x06, 0x9e, 0x78, 0xdf, 0x88, 0x6e, 0x8b, 0xe5, 0x14, 0x70, 0xa4, 0x45, 0x77, 0x34, 0x68,
0x45, 0xa7, 0xa5, 0x80, 0x73, 0x5a, 0xf7, 0xb5, 0x49, 0xdb, 0x90, 0xb4, 0x39, 0xdc, 0xde, 0x84,
0xb9, 0x23, 0xca, 0x76, 0x30, 0x7c, 0x28, 0x3d, 0xae, 0x42, 0x23, 0xa0, 0xe7, 0x3d, 0x11, 0x5f,
0x44, 0x80, 0xad, 0x07, 0xf4, 0x9c, 0xd3, 0xe0, 0x5d, 0x3e, 0xa3, 0x17, 0xa9, 0xd0, 0xfe, 0xbe,
0x02, 0x33, 0xcf, 0x82, 0xb3, 0xd0, 0xeb, 0xf3, 0xca, 0x7c, 0x44, 0x47, 0xa1, 0x6a, 0xb1, 0xe2,
0x6f, 0x0c, 0x63, 0xbc, 0x91, 0x13, 0x31, 0x59, 0x32, 0xab, 0x21, 0x3a, 0x74, 0x9c, 0xf5, 0xf3,
0x45, 0x2f, 0x4f, 0x43, 0xc8, 0x32, 0x4c, 0xc7, 0xfa, 0xdb, 0x83, 0x1c, 0x65, 0xfd, 0xe5, 0x29,
0xad, 0xbf, 0xcc, 0xef, 0x68, 0xa2, 0x47, 0xc5, 0x05, 0x8f, 0x77, 0x34, 0x31, 0xe4, 0x69, 0x33,
0xa6, 0xb2, 0x99, 0x87, 0xa1, 0x61, 0x46, 0xa6, 0x4d, 0x1d, 0xc4, 0xf0, 0x21, 0x3e, 0x10, 0x34,
0x42, 0xbc, 0x3a, 0x84, 0xe1, 0x34, 0xff, 0x7c, 0xd1, 0x10, 0x7d, 0x85, 0x1c, 0x6c, 0x7f, 0x06,
0x64, 0x67, 0x30, 0x90, 0x52, 0x49, 0x8b, 0x86, 0xec, 0x3c, 0x96, 0x71, 0x9e, 0x12, 0xbe, 0x95,
0x72, 0xbe, 0xbb, 0xd0, 0x3c, 0xd4, 0xde, 0x5f, 0xb8, 0x00, 0xd5, 0xcb, 0x8b, 0x14, 0xba, 0x86,
0x68, 0x0b, 0x56, 0xf4, 0x05, 0xed, 0x7f, 0x06, 0xb2, 0xef, 0x25, 0x2c, 0xdd, 0x5f, 0x5a, 0x5c,
0xa9, 0x0a, 0x55, 0x2f, 0xae, 0x24, 0xc6, 0x8b, 0xab, 0x1d, 0xd1, 0x33, 0xcb, 0x1f, 0x6c, 0x03,
0xea, 0x9e, 0x80, 0x54, 0x9c, 0x99, 0x95, 0xb1, 0x43, 0x51, 0xa6, 0xf3, 0x18, 0xb7, 0x24, 0x78,
0x34, 0x3e, 0x4e, 0xfa, 0xb1, 0x17, 0xa1, 0x0a, 0xec, 0xef, 0x2d, 0x98, 0x91, 0x47, 0x43, 0xaf,
0x33, 0x5e, 0x9e, 0x64, 0x0d, 0xac, 0x63, 0xe5, 0x6f, 0x0c, 0x45, 0x4d, 0x57, 0xcb, 0x34, 0xbd,
0x04, 0xb5, 0xc8, 0x65, 0xa7, 0xbc, 0xe8, 0x68, 0x60, 0xcd, 0xa9, 0x5e, 0xc0, 0xb0, 0x1c, 0x9a,
0xca, 0xca, 0x21, 0xd9, 0x21, 0x94, 0xdb, 0x4a, 0x9b, 0x57, 0x8f, 0x44, 0x87, 0x30, 0x83, 0x33,
0x29, 0xc8, 0x2d, 0xe6, 0xa5, 0x20, 0x49, 0x9d, 0x74, 0xde, 0xee, 0x42, 0xe7, 0x09, 0xf5, 0x29,
0xa3, 0x3b, 0xbe, 0x9f, 0xe7, 0xbf, 0x0a, 0xd7, 0x4a, 0xe6, 0xa4, 0xb7, 0xfd, 0x1b, 0x2c, 0x3c,
0xa1, 0xc7, 0xe3, 0xe1, 0x3e, 0x3d, 0xcb, 0xae, 0x3a, 0x04, 0x6a, 0xc9, 0x69, 0x78, 0x2e, 0x35,
0xc6, 0x7f, 0x93, 0x1b, 0x00, 0x3e, 0xd2, 0xf4, 0x92, 0x88, 0xf6, 0xa5, 0x3d, 0x35, 0x38, 0x72,
0x14, 0xd1, 0xbe, 0x7d, 0x1f, 0x88, 0xce, 0x47, 0x1e, 0x01, 0x7d, 0x60, 0x7c, 0xdc, 0x4b, 0x26,
0x09, 0xa3, 0x23, 0xe5, 0xfe, 0x3a, 0x64, 0xdf, 0x81, 0xd6, 0xa1, 0x3b, 0x71, 0xe8, 0xd7, 0xf2,
0x49, 0x0f, 0xab, 0x31, 0x77, 0x82, 0x06, 0x9a, 0x56, 0x63, 0x7c, 0xda, 0x8e, 0x61, 0x5a, 0x10,
0x22, 0xd3, 0x01, 0x4d, 0x98, 0x17, 0x88, 0x5b, 0xa2, 0x64, 0xaa, 0x41, 0x05, 0x85, 0x57, 0x4a,
0x14, 0x2e, 0x43, 0xb1, 0x6a, 0x0e, 0x4b, 0xcd, 0x1a, 0xd8, 0xc6, 0x36, 0xb4, 0x8d, 0xfb, 0x04,
0x99, 0x81, 0xea, 0xce, 0xfe, 0xfe, 0xfc, 0x15, 0xd2, 0x84, 0x99, 0xe7, 0x87, 0xbb, 0x07, 0xcf,
0x0e, 0x9e, 0xce, 0x5b, 0x38, 0x78, 0xbc, 0xff, 0xfc, 0x08, 0x07, 0x95, 0xed, 0x3f, 0x2e, 0x43,
0x23, 0xcd, 0x86, 0xe4, 0x2b, 0x68, 0x1b, 0xb7, 0x07, 0xb2, 0x2a, 0x55, 0x58, 0x76, 0x1d, 0xe9,
0x5e, 0x2f, 0x9f, 0x94, 0xaa, 0xba, 0xf9, 0xed, 0x8f, 0x7f, 0xfa, 0xff, 0x4a, 0x87, 0x2c, 0x6f,
0x9d, 0xdd, 0xdb, 0x92, 0xd7, 0x83, 0x2d, 0xde, 0x05, 0x13, 0x4d, 0xb7, 0x57, 0x30, 0x6b, 0xde,
0x2e, 0xc8, 0x75, 0x33, 0xe3, 0xe6, 0x56, 0xbb, 0x71, 0xc9, 0xac, 0x5c, 0xee, 0x3a, 0x5f, 0x6e,
0x99, 0x2c, 0xe9, 0xcb, 0xa5, 0x59, 0x8a, 0xf2, 0x36, 0xa9, 0xfe, 0x18, 0x4d, 0x14, 0xbf, 0xf2,
0x47, 0xea, 0xee, 0xb5, 0xe2, 0xc3, 0xb3, 0x7c, 0xa9, 0xb6, 0x3b, 0x7c, 0x29, 0x42, 0xe6, 0x71,
0x29, 0xfd, 0x2d, 0x9a, 0x7c, 0x09, 0x8d, 0xf4, 0xe1, 0x8d, 0xac, 0x68, 0xcf, 0x8c, 0xfa, 0x53,
0x5e, 0xb7, 0x53, 0x9c, 0x90, 0x87, 0x58, 0xe5, 0x9c, 0xaf, 0xda, 0x05, 0xce, 0x0f, 0xad, 0x0d,
0xb2, 0x0f, 0x57, 0x65, 0xcc, 0x38, 0xa6, 0x7f, 0xcb, 0x49, 0x4a, 0x9e, 0xd0, 0xef, 0x5a, 0xe4,
0x03, 0xa8, 0xab, 0xb7, 0x48, 0xb2, 0x5c, 0xfe, 0x20, 0xda, 0x5d, 0x29, 0xe0, 0xd2, 0x51, 0x76,
0x00, 0xb2, 0xa7, 0x37, 0xd2, 0xb9, 0xec, 0x85, 0x30, 0x15, 0x62, 0xc9, 0x3b, 0xdd, 0x90, 0xbf,
0x3c, 0x9a, 0x2f, 0x7b, 0xe4, 0x9d, 0x8c, 0xbe, 0xf4, 0xcd, 0xef, 0x27, 0x18, 0xda, 0xcb, 0x5c,
0x76, 0xf3, 0x64, 0x16, 0x65, 0x17, 0xd0, 0x73, 0x75, 0x5b, 0xf8, 0x02, 0x9a, 0xda, 0xfb, 0x1c,
0xd1, 0xfa, 0x33, 0xb9, 0xa7, 0xc0, 0x6e, 0xb7, 0x6c, 0x4a, 0x72, 0x5f, 0xe2, 0xdc, 0x67, 0xed,
0x06, 0x72, 0xe7, 0x3d, 0x6a, 0x54, 0xc9, 0x27, 0xe8, 0x3c, 0xb2, 0x91, 0x4f, 0xb2, 0xb7, 0x43,
0xb3, 0xdd, 0x9f, 0xea, 0xbb, 0xd0, 0xf3, 0xb7, 0x17, 0x38, 0xd7, 0x26, 0xc9, 0xb8, 0x92, 0x8f,
0x61, 0x46, 0x36, 0xf4, 0xc9, 0xd5, 0x4c, 0xaf, 0x5a, 0xed, 0xd8, 0x5d, 0xce, 0xc3, 0x92, 0xd9,
0x22, 0x67, 0xd6, 0x26, 0x4d, 0x64, 0x36, 0xa4, 0xcc, 0x43, 0x1e, 0x3e, 0xcc, 0x99, 0x2d, 0x96,
0x24, 0x75, 0xb3, 0xd2, 0xbe, 0x51, 0xea, 0x66, 0xe5, 0x4d, 0x1d, 0xd3, 0xcd, 0x94, 0x7b, 0x6d,
0xa9, 0x96, 0xd8, 0x7f, 0x40, 0x4b, 0x7f, 0x3d, 0x22, 0x5d, 0xed, 0xe4, 0xb9, 0x97, 0xa6, 0xee,
0x6a, 0xe9, 0x9c, 0x29, 0x6e, 0xd2, 0xd2, 0x97, 0x21, 0x5f, 0xc0, 0x9c, 0xd6, 0xc0, 0x3c, 0x9a,
0x04, 0xfd, 0x54, 0x9d, 0xc5, 0xc6, 0x66, 0xb7, 0xac, 0xd9, 0x6c, 0xaf, 0x70, 0xc6, 0x0b, 0xb6,
0xc1, 0x18, 0x55, 0xf9, 0x18, 0x9a, 0x1a, 0x8f, 0x9f, 0xe2, 0xbb, 0xa2, 0x4d, 0xe9, 0xcd, 0xc4,
0xbb, 0x16, 0xf9, 0xc1, 0x82, 0x96, 0xde, 0x0e, 0x4f, 0x05, 0x50, 0xd2, 0x23, 0x4f, 0xcd, 0xa2,
0xd0, 0xb8, 0xb6, 0x3f, 0xe3, 0x9b, 0x3c, 0xdc, 0x38, 0x30, 0x84, 0xfc, 0xc6, 0x68, 0x70, 0x6d,
0xea, 0xff, 0x64, 0x71, 0x91, 0x9f, 0xd4, 0x1b, 0xbf, 0x17, 0x5b, 0x6f, 0x78, 0x97, 0xfc, 0xe2,
0xae, 0x45, 0x1e, 0x8a, 0xff, 0x95, 0x51, 0xa5, 0x06, 0xd1, 0x1c, 0x3c, 0x2f, 0x36, 0xfd, 0x3f,
0x50, 0xd6, 0xad, 0xbb, 0x16, 0xf9, 0x4f, 0xf1, 0xff, 0x15, 0xf2, 0x5b, 0x2e, 0xfd, 0xb7, 0xfd,
0xde, 0xbe, 0xcd, 0x4f, 0x74, 0xd3, 0xbe, 0x66, 0x9c, 0x28, 0x1f, 0xe1, 0x0e, 0x01, 0xb2, 0xba,
0x91, 0xe4, 0x8a, 0xa8, 0xd4, 0xf7, 0x8b, 0xa5, 0xa5, 0xa9, 0x55, 0x55, 0x6b, 0x21, 0xc7, 0xaf,
0x84, 0x41, 0x4a, 0xfa, 0x24, 0x55, 0x6b, 0xb1, 0xfe, 0xeb, 0x76, 0xcb, 0xa6, 0x24, 0xff, 0x7f,
0xe0, 0xfc, 0x6f, 0x90, 0x55, 0x9d, 0xff, 0xd6, 0x1b, 0xbd, 0x5e, 0xbc, 0x20, 0x9f, 0x41, 0x7b,
0x3f, 0x0c, 0x5f, 0x8d, 0xa3, 0xf4, 0x3a, 0x60, 0xd6, 0x3f, 0x58, 0xb3, 0x76, 0x73, 0x87, 0xb2,
0x6f, 0x71, 0xce, 0xab, 0xe4, 0x9a, 0xc9, 0x39, 0xab, 0x62, 0x2f, 0x88, 0x0b, 0x0b, 0x69, 0xdc,
0x4f, 0x0f, 0xd2, 0x35, 0xf9, 0xe8, 0xc5, 0x64, 0x61, 0x0d, 0x23, 0x13, 0xa7, 0x6b, 0x24, 0x8a,
0xe7, 0x5d, 0x8b, 0x1c, 0x42, 0xeb, 0x09, 0xed, 0x87, 0x03, 0x2a, 0x6b, 0x96, 0xc5, 0x6c, 0xe7,
0x69, 0xad, 0xd3, 0x6d, 0x1b, 0xa0, 0x19, 0x09, 0x22, 0x77, 0x12, 0xd3, 0xaf, 0xb7, 0xde, 0xc8,
0x62, 0xe8, 0x42, 0x45, 0x02, 0x55, 0xc0, 0x19, 0x91, 0x20, 0x57, 0xf1, 0x19, 0x91, 0xa0, 0x50,
0xf1, 0x19, 0x91, 0x40, 0x15, 0x90, 0xc4, 0xc7, 0x3a, 0x30, 0x57, 0x24, 0xa6, 0xd9, 0xe3, 0xb2,
0xd2, 0xb2, 0xbb, 0x76, 0x39, 0x81, 0xb9, 0xda, 0x86, 0xb9, 0xda, 0x11, 0xb4, 0x9f, 0x50, 0x21,
0x2c, 0xd1, 0x56, 0xe8, 0x9a, 0xa1, 0x45, 0x6f, 0x41, 0xe4, 0xc3, 0x0e, 0x9f, 0x33, 0x03, 0x3d,
0xbf, 0xd3, 0x93, 0x2f, 0xa1, 0xf9, 0x94, 0x32, 0xd5, 0x47, 0x48, 0x73, 0x70, 0xae, 0xb1, 0xd0,
0x2d, 0x69, 0x43, 0xd8, 0x6b, 0x9c, 0x5b, 0x97, 0x74, 0x52, 0x6e, 0x5b, 0x74, 0x30, 0xa4, 0x22,
0x08, 0xf4, 0xbc, 0xc1, 0x05, 0xf9, 0x9c, 0x33, 0x4f, 0xdb, 0x81, 0x8a, 0x79, 0xae, 0x99, 0xd8,
0x9d, 0xcb, 0xe1, 0x65, 0x9c, 0x83, 0x70, 0x40, 0xb7, 0xde, 0xc8, 0xae, 0x1c, 0x72, 0x86, 0x4f,
0xc6, 0x34, 0x9e, 0x88, 0x46, 0xe9, 0xa2, 0xf1, 0x6f, 0x65, 0x92, 0xab, 0xf1, 0xbf, 0x66, 0xf6,
0x1d, 0xce, 0xf2, 0x16, 0x79, 0x27, 0x63, 0xc9, 0xff, 0xeb, 0x2c, 0xe3, 0xb9, 0xf5, 0xc6, 0x1d,
0xb1, 0x0b, 0xf2, 0x92, 0xbf, 0x6e, 0xeb, 0x5d, 0x91, 0x2c, 0xdb, 0xe7, 0x1b, 0x28, 0xa9, 0x58,
0xb4, 0x29, 0xb3, 0x02, 0x10, 0x2b, 0xf1, 0x1c, 0xc8, 0x4b, 0x1d, 0x71, 0x6d, 0xd7, 0x4a, 0x1d,
0xe3, 0xde, 0xaf, 0x95, 0x3a, 0xe6, 0xfd, 0x1e, 0x4b, 0x9d, 0xec, 0xa6, 0x90, 0x96, 0x3a, 0x85,
0x4b, 0x48, 0x1a, 0x9d, 0x8a, 0xd7, 0x8a, 0xe3, 0x69, 0xfe, 0x4f, 0xa0, 0xff, 0xf4, 0xd7, 0x00,
0x00, 0x00, 0xff, 0xff, 0xed, 0x7e, 0x21, 0xa3, 0x36, 0x2a, 0x00, 0x00,
}

@ -165,18 +165,18 @@ service Lightning {
}
message Transaction {
string tx_hash = 1;
double amount = 2;
int32 num_confirmations = 3;
string block_hash = 4;
int32 block_height = 5;
int64 time_stamp = 6;
int64 total_fees = 7;
string tx_hash = 1 [ json_name = "tx_hash" ];
double amount = 2 [ json_name = "amount" ];
int32 num_confirmations = 3 [ json_name = "num_confirmations" ];
string block_hash = 4 [ json_name = "block_hash" ];
int32 block_height = 5 [ json_name = "block_height" ];
int64 time_stamp = 6 [ json_name = "time_stamp" ];
int64 total_fees = 7 [ json_name = "total_fees" ];
}
message GetTransactionsRequest {
}
message TransactionDetails {
repeated Transaction transactions = 1;
repeated Transaction transactions = 1 [ json_name = "transactions" ];
}
message SendRequest {
@ -191,26 +191,26 @@ message SendRequest {
string payment_request = 6;
}
message SendResponse {
bytes payment_preimage = 1;
Route payment_route = 2;
bytes payment_preimage = 1 [ json_name = "payment_preimage" ];
Route payment_route = 2 [ json_name = "payment_route" ];
}
message ChannelPoint {
bytes funding_txid = 1;
string funding_txid_str = 2;
uint32 output_index = 3;
bytes funding_txid = 1 [ json_name = "funding_txid" ];
string funding_txid_str = 2 [ json_name = "funding_txid_str" ];
uint32 output_index = 3 [ json_name = "output_index" ];
}
message LightningAddress {
string pubkey = 1;
string host = 2;
string pubkey = 1 [ json_name = "pubkey" ];
string host = 2 [ json_name = "host" ];
}
message SendManyRequest {
map<string, int64> AddrToAmount = 1;
}
message SendManyResponse {
string txid = 1;
string txid = 1 [ json_name = "txid" ];
}
message SendCoinsRequest {
@ -218,7 +218,7 @@ message SendCoinsRequest {
int64 amount = 2;
}
message SendCoinsResponse {
string txid = 1;
string txid = 1 [ json_name = "txid" ];
}
message NewAddressRequest {
@ -231,7 +231,7 @@ message NewAddressRequest {
}
message NewWitnessAddressRequest {}
message NewAddressResponse {
string address = 1;
string address = 1 [ json_name = "address" ];
}
message ConnectPeerRequest {
@ -239,75 +239,75 @@ message ConnectPeerRequest {
bool perm = 2;
}
message ConnectPeerResponse {
int32 peer_id = 1;
int32 peer_id = 1 [ json_name = "peer_id" ];
}
message HTLC {
bool incoming = 1;
int64 amount = 2;
bytes hash_lock = 3;
uint32 expiration_height = 4;
uint32 revocation_delay = 5;
bool incoming = 1 [ json_name = "incoming" ];
int64 amount = 2 [ json_name = "amount" ];
bytes hash_lock = 3 [ json_name = "hash_lock" ];
uint32 expiration_height = 4 [ json_name = "expiration_height" ];
uint32 revocation_delay = 5 [ json_name = "revocation_delay" ];
}
message ActiveChannel {
string remote_pubkey = 1;
string channel_point = 2;
uint64 chan_id = 3;
string remote_pubkey = 1 [ json_name = "remote_pubkey" ];
string channel_point = 2 [ json_name = "channel_point" ];
uint64 chan_id = 3 [ json_name = "chan_id" ];
int64 capacity = 4;
int64 local_balance = 5;
int64 remote_balance = 6;
int64 capacity = 4 [ json_name = "capacity" ];
int64 local_balance = 5 [ json_name = "local_balance" ];
int64 remote_balance = 6 [ json_name = "remote_balance" ];
int64 unsettled_balance = 7;
int64 total_satoshis_sent = 8;
int64 total_satoshis_received = 9;
uint64 num_updates = 10;
int64 unsettled_balance = 7 [ json_name = "unsettled_balance" ];
int64 total_satoshis_sent = 8 [ json_name = "total_satoshis_sent" ];
int64 total_satoshis_received = 9 [ json_name = "total_satoshis_received" ];
uint64 num_updates = 10 [ json_name = "num_updates" ];
repeated HTLC pending_htlcs = 11;
repeated HTLC pending_htlcs = 11 [ json_name = "pending_htlcs" ];
}
message ListChannelsRequest {}
message ListChannelsResponse {
repeated ActiveChannel channels = 11;
repeated ActiveChannel channels = 11 [ json_name = "channels" ];
}
message Peer {
string pub_key = 1;
int32 peer_id = 2;
string address = 3;
string pub_key = 1 [ json_name = "pub_key" ];
int32 peer_id = 2 [ json_name = "peer_id" ];
string address = 3 [ json_name = "address" ];
uint64 bytes_sent = 4;
uint64 bytes_recv = 5;
uint64 bytes_sent = 4 [ json_name = "bytes_sent" ];
uint64 bytes_recv = 5 [ json_name = "bytes_recv" ];
int64 sat_sent = 6;
int64 sat_recv = 7;
int64 sat_sent = 6 [ json_name = "sat_sent" ];
int64 sat_recv = 7 [ json_name = "sat_recv" ];
bool inbound = 8;
bool inbound = 8 [ json_name = "inbound" ];
int64 ping_time = 9;
int64 ping_time = 9 [ json_name = "ping_time" ];
}
message ListPeersRequest {}
message ListPeersResponse {
repeated Peer peers = 1;
repeated Peer peers = 1 [ json_name = "peers" ];
}
message GetInfoRequest{}
message GetInfoResponse {
string identity_pubkey = 1;
string alias = 2;
string identity_pubkey = 1 [ json_name = "identity_pubkey" ];
string alias = 2 [ json_name = "alias" ];
uint32 num_pending_channels = 3;
uint32 num_active_channels = 4;
uint32 num_pending_channels = 3 [ json_name = "num_pending_channels" ];
uint32 num_active_channels = 4 [ json_name = "num_active_channels" ];
uint32 num_peers = 5;
uint32 num_peers = 5 [ json_name = "num_peers" ];
uint32 block_height = 6;
string block_hash = 8;
uint32 block_height = 6 [ json_name = "block_height" ];
string block_hash = 8 [ json_name = "block_hash" ];
bool synced_to_chain = 9;
bool testnet = 10;
bool synced_to_chain = 9 [ json_name = "synced_to_chain" ];
bool testnet = 10 [ json_name = "testnet" ];
}
message ConfirmationUpdate {
@ -318,13 +318,13 @@ message ConfirmationUpdate {
}
message ChannelOpenUpdate {
ChannelPoint channel_point = 1;
ChannelPoint channel_point = 1 [ json_name = "channel_point"] ;
}
message ChannelCloseUpdate {
bytes closing_txid = 1;
bytes closing_txid = 1 [ json_name = "closing_txid" ];
bool success = 2;
bool success = 2 [ json_name = "success" ];
}
message CloseChannelRequest {
@ -334,32 +334,32 @@ message CloseChannelRequest {
}
message CloseStatusUpdate {
oneof update {
PendingUpdate close_pending = 1;
ConfirmationUpdate confirmation = 2;
ChannelCloseUpdate chan_close = 3;
PendingUpdate close_pending = 1 [ json_name = "close_pending" ];
ConfirmationUpdate confirmation = 2 [ json_name = "confirmation" ];
ChannelCloseUpdate chan_close = 3 [ json_name = "chan_close" ];
}
}
message PendingUpdate {
bytes txid = 1;
uint32 output_index = 2;
bytes txid = 1 [ json_name = "txid" ];
uint32 output_index = 2 [ json_name = "output_index" ];
}
message OpenChannelRequest {
int32 target_peer_id = 1;
bytes node_pubkey = 2;
string node_pubkey_string = 3;
int32 target_peer_id = 1 [ json_name = "target_peer_id" ];
bytes node_pubkey = 2 [ json_name = "node_pubkey" ];
string node_pubkey_string = 3 [ json_name = "node_pubkey_string" ];
int64 local_funding_amount = 4;
int64 push_sat = 5;
int64 local_funding_amount = 4 [ json_name = "local_funding_amount" ];
int64 push_sat = 5 [ json_name = "push_sat" ];
uint32 num_confs = 6;
uint32 num_confs = 6 [ json_name = "num_confs" ];
}
message OpenStatusUpdate {
oneof update {
PendingUpdate chan_pending = 1;
ConfirmationUpdate confirmation = 2;
ChannelOpenUpdate chan_open = 3;
PendingUpdate chan_pending = 1 [ json_name = "chan_pending" ];
ConfirmationUpdate confirmation = 2 [ json_name = "confirmation" ];
ChannelOpenUpdate chan_open = 3 [ json_name = "chan_open" ];
}
}
@ -373,32 +373,32 @@ message PendingChannelRequest {
}
message PendingChannelResponse {
message PendingChannel {
string identity_key = 1;
string channel_point = 2;
string identity_key = 1 [ json_name = "identity_key" ];
string channel_point = 2 [ json_name = "channel_point" ];
int64 capacity = 3;
int64 local_balance = 4;
int64 remote_balance = 5;
int64 capacity = 3 [ json_name = "capacity" ];
int64 local_balance = 4 [ json_name = "local_balance" ];
int64 remote_balance = 5 [ json_name = "remote_balance" ];
string closing_txid = 6;
string closing_txid = 6 [ json_name = "closing_txid" ];
ChannelStatus status = 7;
ChannelStatus status = 7 [ json_name = "status" ];
}
repeated PendingChannel pending_channels = 1;
repeated PendingChannel pending_channels = 1 [ json_name = "pending_channels" ];
}
message WalletBalanceRequest {
bool witness_only = 1;
}
message WalletBalanceResponse {
double balance = 1;
double balance = 1 [ json_name = "balance" ];
}
message ChannelBalanceRequest {
}
message ChannelBalanceResponse {
int64 balance = 1;
int64 balance = 1 [ json_name = "balance" ];
}
message RouteRequest {
@ -407,18 +407,18 @@ message RouteRequest {
}
message Hop {
uint64 chan_id = 1;
int64 chan_capacity = 2;
int64 amt_to_forward = 3;
int64 fee = 4;
uint64 chan_id = 1 [ json_name = "chan_id" ];
int64 chan_capacity = 2 [ json_name = "chan_capacity" ];
int64 amt_to_forward = 3 [ json_name = "amt_to_forward" ];
int64 fee = 4 [ json_name = "fee" ];
}
message Route {
uint32 total_time_lock = 1;
int64 total_fees = 2;
int64 total_amt = 3;
uint32 total_time_lock = 1 [ json_name = "total_time_lock" ];
int64 total_fees = 2 [ json_name = "total_fees" ];
int64 total_amt = 3 [ json_name = "total_amt" ];
repeated Hop hops = 4;
repeated Hop hops = 4 [ json_name = "hops" ];
}
message NodeInfoRequest{
@ -426,46 +426,46 @@ message NodeInfoRequest{
}
message NodeInfo {
LightningNode node = 1;
LightningNode node = 1 [ json_name = "node" ];
uint32 num_channels = 2;
int64 total_capacity = 3;
uint32 num_channels = 2 [ json_name = "num_channels" ];
int64 total_capacity = 3 [ json_name = "total_capacity" ];
}
message LightningNode {
uint32 last_update = 1;
string pub_key = 2;
string address = 3;
string alias = 4;
uint32 last_update = 1 [ json_name = "last_update" ];
string pub_key = 2 [ json_name = "pub_key" ];
string address = 3 [ json_name = "address" ];
string alias = 4 [ json_name = "alias" ];
}
message RoutingPolicy {
uint32 time_lock_delta = 1;
int64 min_htlc = 2;
int64 fee_base_msat = 3;
int64 fee_rate_milli_msat = 4;
uint32 time_lock_delta = 1 [ json_name = "time_lock_delta" ];
int64 min_htlc = 2 [ json_name = "min_htlc" ];
int64 fee_base_msat = 3 [ json_name = "fee_base_msat" ];
int64 fee_rate_milli_msat = 4 [ json_name = "fee_rate_milli_msat" ];
}
message ChannelEdge {
uint64 channel_id = 1;
string chan_point = 2;
uint64 channel_id = 1 [ json_name = "channel_id" ];
string chan_point = 2 [ json_name = "chan_point" ];
uint32 last_update = 3;
uint32 last_update = 3 [ json_name = "last_update" ];
string node1_pub = 4;
string node2_pub = 5;
string node1_pub = 4 [ json_name = "node1_pub" ];
string node2_pub = 5 [ json_name = "node2_pub" ];
int64 capacity = 6;
int64 capacity = 6 [ json_name = "capacity" ];
RoutingPolicy node1_policy = 7;
RoutingPolicy node2_policy = 8;
RoutingPolicy node1_policy = 7 [ json_name = "node1_policy" ];
RoutingPolicy node2_policy = 8 [ json_name = "node2_policy" ];
}
message ChannelGraphRequest{}
message ChannelGraph {
repeated LightningNode nodes = 1;
repeated ChannelEdge edges = 2;
repeated LightningNode nodes = 1 [ json_name = "nodes" ];
repeated ChannelEdge edges = 2 [ json_name = "edges" ];
}
message ChanInfoRequest {
@ -474,18 +474,18 @@ message ChanInfoRequest {
message NetworkInfoRequest{}
message NetworkInfo {
uint32 graph_diameter = 1;
double avg_out_degree = 2;
uint32 max_out_degree = 3;
uint32 graph_diameter = 1 [ json_name = "graph_diameter" ];
double avg_out_degree = 2 [ json_name = "avg_out_degree" ];
uint32 max_out_degree = 3 [ json_name = "max_out_degree" ];
uint32 num_nodes = 4;
uint32 num_channels = 5;
uint32 num_nodes = 4 [ json_name = "num_nodes" ];
uint32 num_channels = 5 [ json_name = "num_channels" ];
int64 total_network_capacity = 6;
int64 total_network_capacity = 6 [ json_name = "total_network_capacity" ];
double avg_channel_size = 7;
int64 min_channel_size = 8;
int64 max_channel_size = 9;
double avg_channel_size = 7 [ json_name = "avg_channel_size" ];
int64 min_channel_size = 8 [ json_name = "min_channel_size" ];
int64 max_channel_size = 9 [ json_name = "max_channel_size" ];
// TODO(roasbeef): fee rate info, expiry
// * also additional RPC for tracking fee info once in
@ -497,56 +497,56 @@ message SetAliasRequest {
message SetAliasResponse{}
message Invoice {
string memo = 1;
bytes receipt = 2;
string memo = 1 [ json_name = "memo" ];
bytes receipt = 2 [ json_name = "receipt" ];
bytes r_preimage = 3;
bytes r_hash = 4;
bytes r_preimage = 3 [ json_name = "r_preimage" ];
bytes r_hash = 4 [ json_name = "r_hash" ];
int64 value = 5;
int64 value = 5 [ json_name = "value" ];
bool settled = 6;
bool settled = 6 [ json_name = "settled" ];
int64 creation_date = 7;
int64 settle_date = 8;
int64 creation_date = 7 [ json_name = "creation_date" ];
int64 settle_date = 8 [ json_name = "settle_date" ];
string payment_request = 9;
string payment_request = 9 [ json_name = "payment_request" ];
}
message AddInvoiceResponse {
bytes r_hash = 1;
bytes r_hash = 1 [ json_name = "r_hash" ];
string payment_request = 2;
string payment_request = 2 [ json_name = "payment_request" ];
}
message PaymentHash {
string r_hash_str = 1;
bytes r_hash = 2;
string r_hash_str = 1 [ json_name = "r_hash_str" ];
bytes r_hash = 2 [ json_name = "r_hash" ];
}
message ListInvoiceRequest {
bool pending_only = 1;
}
message ListInvoiceResponse {
repeated Invoice invoices = 1;
repeated Invoice invoices = 1 [ json_name = "invoices" ];
}
message InvoiceSubscription {}
message Payment {
string payment_hash = 1;
int64 value = 2;
string payment_hash = 1 [ json_name = "payment_hash" ];
int64 value = 2 [ json_name = "value" ];
int64 creation_date = 3;
int64 creation_date = 3 [ json_name = "creation_date" ];
repeated string path = 4;
repeated string path = 4 [ json_name = "string" ];
int64 fee = 5;
int64 fee = 5 [ json_name = "fee" ];
}
message ListPaymentsRequest {
}
message ListPaymentsResponse {
repeated Payment payments = 1;
repeated Payment payments = 1 [ json_name= "payments" ];
}
message DeleteAllPaymentsRequest {
@ -560,14 +560,14 @@ message DebugLevelRequest {
string level_spec = 2;
}
message DebugLevelResponse {
string sub_systems = 1;
string sub_systems = 1 [ json_name = "sub_systems" ];
}
message PayReqString {
string pay_req = 1;
}
message PayReq {
string destination = 1;
string payment_hash = 2;
int64 num_satoshis = 3;
string destination = 1 [ json_name = "destination" ];
string payment_hash = 2 [ json_name = "payment_hash" ];
int64 num_satoshis = 3 [ json_name = "num_satoshis" ];
}

@ -26,6 +26,15 @@
}
}
},
"parameters": [
{
"name": "witness_only",
"in": "query",
"required": false,
"type": "boolean",
"format": "boolean"
}
],
"tags": [
"Lightning"
]
@ -99,6 +108,20 @@
}
}
},
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"type": "string",
"enum": [
"ALL",
"OPENING",
"CLOSING"
],
"default": "ALL"
}
],
"tags": [
"Lightning"
]
@ -258,8 +281,7 @@
"name": "pub_key",
"in": "path",
"required": true,
"type": "string",
"format": "string"
"type": "string"
}
],
"tags": [
@ -283,8 +305,7 @@
"name": "pub_key",
"in": "path",
"required": true,
"type": "string",
"format": "string"
"type": "string"
},
{
"name": "amt",
@ -382,8 +403,14 @@
"name": "r_hash_str",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "r_hash",
"in": "query",
"required": false,
"type": "string",
"format": "string"
"format": "byte"
}
],
"tags": [
@ -453,8 +480,7 @@
"name": "pay_req",
"in": "path",
"required": true,
"type": "string",
"format": "string"
"type": "string"
}
],
"tags": [
@ -557,12 +583,10 @@
"type": "object",
"properties": {
"identity_key": {
"type": "string",
"format": "string"
"type": "string"
},
"channel_point": {
"type": "string",
"format": "string"
"type": "string"
},
"capacity": {
"type": "string",
@ -577,8 +601,7 @@
"format": "int64"
},
"closing_txid": {
"type": "string",
"format": "string"
"type": "string"
},
"status": {
"$ref": "#/definitions/lnrpcChannelStatus"
@ -589,12 +612,10 @@
"type": "object",
"properties": {
"remote_pubkey": {
"type": "string",
"format": "string"
"type": "string"
},
"channel_point": {
"type": "string",
"format": "string"
"type": "string"
},
"chan_id": {
"type": "string",
@ -644,8 +665,7 @@
"format": "byte"
},
"payment_request": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -691,20 +711,17 @@
"format": "uint64"
},
"chan_point": {
"type": "string",
"format": "string"
"type": "string"
},
"last_update": {
"type": "integer",
"format": "int64"
},
"node1_pub": {
"type": "string",
"format": "string"
"type": "string"
},
"node2_pub": {
"type": "string",
"format": "string"
"type": "string"
},
"capacity": {
"type": "string",
@ -754,8 +771,7 @@
"format": "byte"
},
"funding_txid_str": {
"type": "string",
"format": "string"
"type": "string"
},
"output_index": {
"type": "integer",
@ -848,8 +864,7 @@
"format": "boolean"
},
"level_spec": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -857,8 +872,7 @@
"type": "object",
"properties": {
"sub_systems": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -875,12 +889,10 @@
"type": "object",
"properties": {
"identity_pubkey": {
"type": "string",
"format": "string"
"type": "string"
},
"alias": {
"type": "string",
"format": "string"
"type": "string"
},
"num_pending_channels": {
"type": "integer",
@ -899,8 +911,7 @@
"format": "int64"
},
"block_hash": {
"type": "string",
"format": "string"
"type": "string"
},
"synced_to_chain": {
"type": "boolean",
@ -965,8 +976,7 @@
"type": "object",
"properties": {
"memo": {
"type": "string",
"format": "string"
"type": "string"
},
"receipt": {
"type": "string",
@ -997,8 +1007,7 @@
"format": "int64"
},
"payment_request": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1009,12 +1018,10 @@
"type": "object",
"properties": {
"pubkey": {
"type": "string",
"format": "string"
"type": "string"
},
"host": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1026,16 +1033,13 @@
"format": "int64"
},
"pub_key": {
"type": "string",
"format": "string"
"type": "string"
},
"address": {
"type": "string",
"format": "string"
"type": "string"
},
"alias": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1157,8 +1161,7 @@
"type": "object",
"properties": {
"address": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1185,8 +1188,7 @@
"type": "object",
"properties": {
"pub_key": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1202,8 +1204,7 @@
"format": "byte"
},
"node_pubkey_string": {
"type": "string",
"format": "string"
"type": "string"
},
"local_funding_amount": {
"type": "string",
@ -1237,12 +1238,10 @@
"type": "object",
"properties": {
"destination": {
"type": "string",
"format": "string"
"type": "string"
},
"payment_hash": {
"type": "string",
"format": "string"
"type": "string"
},
"num_satoshis": {
"type": "string",
@ -1254,8 +1253,7 @@
"type": "object",
"properties": {
"pay_req": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1263,8 +1261,7 @@
"type": "object",
"properties": {
"payment_hash": {
"type": "string",
"format": "string"
"type": "string"
},
"value": {
"type": "string",
@ -1277,8 +1274,7 @@
"path": {
"type": "array",
"items": {
"type": "string",
"format": "string"
"type": "string"
}
},
"fee": {
@ -1291,8 +1287,7 @@
"type": "object",
"properties": {
"r_hash_str": {
"type": "string",
"format": "string"
"type": "string"
},
"r_hash": {
"type": "string",
@ -1304,16 +1299,14 @@
"type": "object",
"properties": {
"pub_key": {
"type": "string",
"format": "string"
"type": "string"
},
"peer_id": {
"type": "integer",
"format": "int32"
},
"address": {
"type": "string",
"format": "string"
"type": "string"
},
"bytes_sent": {
"type": "string",
@ -1400,8 +1393,7 @@
"type": "object",
"properties": {
"pub_key": {
"type": "string",
"format": "string"
"type": "string"
},
"amt": {
"type": "string",
@ -1434,8 +1426,7 @@
"type": "object",
"properties": {
"addr": {
"type": "string",
"format": "string"
"type": "string"
},
"amount": {
"type": "string",
@ -1447,8 +1438,7 @@
"type": "object",
"properties": {
"txid": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1468,8 +1458,7 @@
"type": "object",
"properties": {
"txid": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1481,8 +1470,7 @@
"format": "byte"
},
"dest_string": {
"type": "string",
"format": "string"
"type": "string"
},
"amt": {
"type": "string",
@ -1493,12 +1481,10 @@
"format": "byte"
},
"payment_hash_string": {
"type": "string",
"format": "string"
"type": "string"
},
"payment_request": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1518,8 +1504,7 @@
"type": "object",
"properties": {
"new_alias": {
"type": "string",
"format": "string"
"type": "string"
}
}
},
@ -1530,8 +1515,7 @@
"type": "object",
"properties": {
"tx_hash": {
"type": "string",
"format": "string"
"type": "string"
},
"amount": {
"type": "number",
@ -1542,8 +1526,7 @@
"format": "int32"
},
"block_hash": {
"type": "string",
"format": "string"
"type": "string"
},
"block_height": {
"type": "integer",