Browse Source

lnrpc+lncli: deprecate sat_per_byte and add sat_per_vbyte

This commit deprecates/replaces the old field `sat_per_byte` with
`sat_per_vbyte`. While the old field suggests sat per byte, it’s
actually using sat per virtual byte. We use the Hidden param to hide all
the deprecated flags. These flags won't show up in help menu onwards,
while stay valid that can be passed from cli. Thus bash scripts
referencing these fields won't be broken.
master
yyforyongyu 3 years ago
parent
commit
9d0d88ac21
No known key found for this signature in database
GPG Key ID: 9BCD95C4FF296868
  1. 22
      cmd/lncli/cmd_open_channel.go
  2. 105
      cmd/lncli/commands.go
  3. 17
      cmd/lncli/main.go
  4. 58
      cmd/lncli/walletrpc_active.go
  5. 36
      cmd/lncli/walletrpc_types.go
  6. 2
      docs/watchtower.md
  7. 1654
      lnrpc/rpc.pb.go
  8. 38
      lnrpc/rpc.proto
  9. 40
      lnrpc/rpc.swagger.json
  10. 284
      lnrpc/walletrpc/walletkit.pb.go
  11. 27
      lnrpc/walletrpc/walletkit.proto
  12. 23
      lnrpc/walletrpc/walletkit.swagger.json
  13. 35
      lnrpc/walletrpc/walletkit_server.go
  14. 18
      lnrpc/wtclientrpc/wtclient.go
  15. 127
      lnrpc/wtclientrpc/wtclient.pb.go
  16. 18
      lnrpc/wtclientrpc/wtclient.proto
  17. 10
      lnrpc/wtclientrpc/wtclient.swagger.json
  18. 12
      lntest/itest/lnd_onchain_test.go
  19. 97
      rpcserver.go
  20. 6
      server.go

22
cmd/lncli/cmd_open_channel.go

@ -84,7 +84,7 @@ var openChannelCommand = cli.Command{
another address.
One can manually set the fee to be used for the funding transaction via either
the --conf_target or --sat_per_byte arguments. This is optional.`,
the --conf_target or --sat_per_vbyte arguments. This is optional.`,
ArgsUsage: "node-key local-amt push-amt",
Flags: []cli.Flag{
cli.StringFlag{
@ -119,7 +119,12 @@ var openChannelCommand = cli.Command{
"used for fee estimation",
},
cli.Int64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Int64Flag{
Name: "sat_per_vbyte",
Usage: "(optional) a manual fee expressed in " +
"sat/vbyte that should be used when crafting " +
"the transaction",
@ -214,10 +219,19 @@ func openChannel(ctx *cli.Context) error {
return nil
}
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
minConfs := int32(ctx.Uint64("min_confs"))
req := &lnrpc.OpenChannelRequest{
TargetConf: int32(ctx.Int64("conf_target")),
SatPerByte: ctx.Int64("sat_per_byte"),
SatPerVbyte: ctx.Uint64(feeRateFlag),
MinHtlcMsat: ctx.Int64("min_htlc_msat"),
RemoteCsvDelay: uint32(ctx.Uint64("remote_csv_delay")),
MinConfs: minConfs,
@ -730,7 +744,7 @@ func checkPsbtFlags(req *lnrpc.OpenChannelRequest) error {
return fmt.Errorf("specifying minimum confirmations for PSBT " +
"funding is not supported")
}
if req.TargetConf != 0 || req.SatPerByte != 0 {
if req.TargetConf != 0 || req.SatPerByte != 0 || req.SatPerVbyte != 0 {
return fmt.Errorf("setting fee estimation parameters not " +
"supported for PSBT funding")
}

105
cmd/lncli/commands.go

@ -225,7 +225,7 @@ var sendCoinsCommand = cli.Command{
Send amt coins in satoshis to the base58 or bech32 encoded bitcoin address addr.
Fees used when sending the transaction can be specified via the --conf_target, or
--sat_per_byte optional flags.
--sat_per_vbyte optional flags.
Positional arguments and flags can be used interchangeably but not at the same time!
`,
@ -253,7 +253,12 @@ var sendCoinsCommand = cli.Command{
"used for fee estimation",
},
cli.Int64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Int64Flag{
Name: "sat_per_vbyte",
Usage: "(optional) a manual fee expressed in " +
"sat/vbyte that should be used when crafting " +
"the transaction",
@ -284,9 +289,20 @@ func sendCoins(ctx *cli.Context) error {
return nil
}
if ctx.IsSet("conf_target") && ctx.IsSet("sat_per_byte") {
return fmt.Errorf("either conf_target or sat_per_byte should be " +
"set, but not both")
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
// Only fee rate flag or conf_target should be set, not both.
if _, err := checkNotBothSet(
ctx, feeRateFlag, "conf_target",
); err != nil {
return err
}
switch {
@ -324,7 +340,7 @@ func sendCoins(ctx *cli.Context) error {
Addr: addr,
Amount: amt,
TargetConf: int32(ctx.Int64("conf_target")),
SatPerByte: ctx.Int64("sat_per_byte"),
SatPerVbyte: ctx.Uint64(feeRateFlag),
SendAll: ctx.Bool("sweepall"),
Label: ctx.String(txLabelFlag.Name),
MinConfs: minConfs,
@ -464,7 +480,7 @@ var sendManyCommand = cli.Command{
Name: "sendmany",
Category: "On-chain",
Usage: "Send bitcoin on-chain to multiple addresses.",
ArgsUsage: "send-json-string [--conf_target=N] [--sat_per_byte=P]",
ArgsUsage: "send-json-string [--conf_target=N] [--sat_per_vbyte=P]",
Description: `
Create and broadcast a transaction paying the specified amount(s) to the passed address(es).
@ -480,9 +496,15 @@ var sendManyCommand = cli.Command{
"confirm in, will be used for fee estimation",
},
cli.Int64Flag{
Name: "sat_per_byte",
Usage: "(optional) a manual fee expressed in sat/vbyte that should be " +
"used when crafting the transaction",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Int64Flag{
Name: "sat_per_vbyte",
Usage: "(optional) a manual fee expressed in " +
"sat/vbyte that should be used when crafting " +
"the transaction",
},
cli.Uint64Flag{
Name: "min_confs",
@ -505,9 +527,20 @@ func sendMany(ctx *cli.Context) error {
return err
}
if ctx.IsSet("conf_target") && ctx.IsSet("sat_per_byte") {
return fmt.Errorf("either conf_target or sat_per_byte should be " +
"set, but not both")
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
// Only fee rate flag or conf_target should be set, not both.
if _, err := checkNotBothSet(
ctx, feeRateFlag, "conf_target",
); err != nil {
return err
}
client, cleanUp := getClient(ctx)
@ -517,7 +550,7 @@ func sendMany(ctx *cli.Context) error {
txid, err := client.SendMany(ctxc, &lnrpc.SendManyRequest{
AddrToAmount: amountToAddr,
TargetConf: int32(ctx.Int64("conf_target")),
SatPerByte: ctx.Int64("sat_per_byte"),
SatPerVbyte: ctx.Uint64(feeRateFlag),
Label: ctx.String(txLabelFlag.Name),
MinConfs: minConfs,
SpendUnconfirmed: minConfs == 0,
@ -651,7 +684,7 @@ var closeChannelCommand = cli.Command{
In the case of a cooperative closure, one can manually set the fee to
be used for the closing transaction via either the --conf_target or
--sat_per_byte arguments. This will be the starting value used during
--sat_per_vbyte arguments. This will be the starting value used during
fee negotiation. This is optional.
In the case of a cooperative closure, one can manually set the address
@ -690,7 +723,12 @@ var closeChannelCommand = cli.Command{
"lnd config will be used.",
},
cli.Int64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Int64Flag{
Name: "sat_per_vbyte",
Usage: "(optional) a manual fee expressed in " +
"sat/vbyte that should be used when crafting " +
"the transaction",
@ -717,6 +755,15 @@ func closeChannel(ctx *cli.Context) error {
return nil
}
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
channelPoint, err := parseChannelPoint(ctx)
if err != nil {
return err
@ -727,7 +774,7 @@ func closeChannel(ctx *cli.Context) error {
ChannelPoint: channelPoint,
Force: ctx.Bool("force"),
TargetConf: int32(ctx.Int64("conf_target")),
SatPerByte: ctx.Int64("sat_per_byte"),
SatPerVbyte: ctx.Uint64(feeRateFlag),
DeliveryAddress: ctx.String("delivery_addr"),
}
@ -824,7 +871,7 @@ var closeAllChannelsCommand = cli.Command{
In the case of cooperative closures, one can manually set the fee to
be used for the closing transactions via either the --conf_target or
--sat_per_byte arguments. This will be the starting value used during
--sat_per_vbyte arguments. This will be the starting value used during
fee negotiation. This is optional.`,
Flags: []cli.Flag{
cli.BoolFlag{
@ -843,7 +890,12 @@ var closeAllChannelsCommand = cli.Command{
"used for fee estimation",
},
cli.Int64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Int64Flag{
Name: "sat_per_vbyte",
Usage: "(optional) a manual fee expressed in " +
"sat/vbyte that should be used when crafting " +
"the closing transactions",
@ -857,6 +909,15 @@ func closeAllChannels(ctx *cli.Context) error {
client, cleanUp := getClient(ctx)
defer cleanUp()
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
listReq := &lnrpc.ListChannelsRequest{}
openChannels, err := client.ListChannels(ctxc, listReq)
if err != nil {
@ -983,9 +1044,9 @@ func closeAllChannels(ctx *cli.Context) error {
},
OutputIndex: uint32(index),
},
Force: !channel.GetActive(),
TargetConf: int32(ctx.Int64("conf_target")),
SatPerByte: ctx.Int64("sat_per_byte"),
Force: !channel.GetActive(),
TargetConf: int32(ctx.Int64("conf_target")),
SatPerVbyte: ctx.Uint64(feeRateFlag),
}
txidChan := make(chan string, 1)

17
cmd/lncli/main.go

@ -240,6 +240,23 @@ func extractPathArgs(ctx *cli.Context) (string, string, error) {
return tlsCertPath, macPath, nil
}
// checkNotBothSet accepts two flag names, a and b, and checks that only flag a
// or flag b can be set, but not both. It returns the name of the flag or an
// error.
func checkNotBothSet(ctx *cli.Context, a, b string) (string, error) {
if ctx.IsSet(a) && ctx.IsSet(b) {
return "", fmt.Errorf(
"either %s or %s should be set, but not both", a, b,
)
}
if ctx.IsSet(a) {
return a, nil
}
return b, nil
}
func main() {
app := cli.NewApp()
app.Name = "lncli"

58
cmd/lncli/walletrpc_active.go

@ -88,8 +88,8 @@ func pendingSweeps(ctx *cli.Context) error {
// Sort them in ascending fee rate order for display purposes.
sort.Slice(resp.PendingSweeps, func(i, j int) bool {
return resp.PendingSweeps[i].SatPerByte <
resp.PendingSweeps[j].SatPerByte
return resp.PendingSweeps[i].SatPerVbyte <
resp.PendingSweeps[j].SatPerVbyte
})
var pendingSweepsResp = struct {
@ -134,7 +134,7 @@ var bumpFeeCommand = cli.Command{
fee transaction that is under the control of the wallet.
A fee preference must be provided, either through the conf_target or
sat_per_byte parameters.
sat_per_vbyte parameters.
Note that this command currently doesn't perform any validation checks
on the fee preference being provided. For now, the responsibility of
@ -153,7 +153,12 @@ var bumpFeeCommand = cli.Command{
"be swept on-chain within",
},
cli.Uint64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Uint64Flag{
Name: "sat_per_vbyte",
Usage: "a manual fee expressed in sat/vbyte that " +
"should be used when sweeping the output",
},
@ -174,6 +179,15 @@ func bumpFee(ctx *cli.Context) error {
return cli.ShowCommandHelp(ctx, "bumpfee")
}
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
// Validate and parse the relevant arguments/flags.
protoOutPoint, err := NewProtoOutPoint(ctx.Args().Get(0))
if err != nil {
@ -184,10 +198,10 @@ func bumpFee(ctx *cli.Context) error {
defer cleanUp()
resp, err := client.BumpFee(ctxc, &walletrpc.BumpFeeRequest{
Outpoint: protoOutPoint,
TargetConf: uint32(ctx.Uint64("conf_target")),
SatPerByte: uint32(ctx.Uint64("sat_per_byte")),
Force: ctx.Bool("force"),
Outpoint: protoOutPoint,
TargetConf: uint32(ctx.Uint64("conf_target")),
SatPerVbyte: ctx.Uint64(feeRateFlag),
Force: ctx.Bool("force"),
})
if err != nil {
return err
@ -216,7 +230,12 @@ var bumpCloseFeeCommand = cli.Command{
"be swept on-chain within",
},
cli.Uint64Flag{
Name: "sat_per_byte",
Name: "sat_per_byte",
Usage: "Deprecated, use sat_per_vbyte instead.",
Hidden: true,
},
cli.Uint64Flag{
Name: "sat_per_vbyte",
Usage: "a manual fee expressed in sat/vbyte that " +
"should be used when sweeping the output",
},
@ -233,9 +252,18 @@ func bumpCloseFee(ctx *cli.Context) error {
return cli.ShowCommandHelp(ctx, "bumpclosefee")
}
// Check that only the field sat_per_vbyte or the deprecated field
// sat_per_byte is used.
feeRateFlag, err := checkNotBothSet(
ctx, "sat_per_vbyte", "sat_per_byte",
)
if err != nil {
return err
}
// Validate the channel point.
channelPoint := ctx.Args().Get(0)
_, err := NewProtoOutPoint(channelPoint)
_, err = NewProtoOutPoint(channelPoint)
if err != nil {
return err
}
@ -291,10 +319,10 @@ func bumpCloseFee(ctx *cli.Context) error {
sweepTxID, sweep.Outpoint.OutputIndex)
_, err = walletClient.BumpFee(ctxc, &walletrpc.BumpFeeRequest{
Outpoint: sweep.Outpoint,
TargetConf: uint32(ctx.Uint64("conf_target")),
SatPerByte: uint32(ctx.Uint64("sat_per_byte")),
Force: true,
Outpoint: sweep.Outpoint,
TargetConf: uint32(ctx.Uint64("conf_target")),
SatPerVbyte: ctx.Uint64(feeRateFlag),
Force: true,
})
if err != nil {
return err
@ -595,7 +623,7 @@ func fundPsbt(ctx *cli.Context) error {
case ctx.Uint64("sat_per_vbyte") > 0:
req.Fees = &walletrpc.FundPsbtRequest_SatPerVbyte{
SatPerVbyte: uint32(ctx.Uint64("sat_per_vbyte")),
SatPerVbyte: ctx.Uint64("sat_per_vbyte"),
}
}

36
cmd/lncli/walletrpc_types.go

@ -5,29 +5,29 @@ import "github.com/lightningnetwork/lnd/lnrpc/walletrpc"
// PendingSweep is a CLI-friendly type of the walletrpc.PendingSweep proto. We
// use this to show more useful string versions of byte slices and enums.
type PendingSweep struct {
OutPoint OutPoint `json:"outpoint"`
WitnessType string `json:"witness_type"`
AmountSat uint32 `json:"amount_sat"`
SatPerByte uint32 `json:"sat_per_byte"`
BroadcastAttempts uint32 `json:"broadcast_attempts"`
NextBroadcastHeight uint32 `json:"next_broadcast_height"`
RequestedSatPerByte uint32 `json:"requested_sat_per_byte"`
RequestedConfTarget uint32 `json:"requested_conf_target"`
Force bool `json:"force"`
OutPoint OutPoint `json:"outpoint"`
WitnessType string `json:"witness_type"`
AmountSat uint32 `json:"amount_sat"`
SatPerVByte uint32 `json:"sat_per_vbyte"`
BroadcastAttempts uint32 `json:"broadcast_attempts"`
NextBroadcastHeight uint32 `json:"next_broadcast_height"`
RequestedSatPerVByte uint32 `json:"requested_sat_per_vbyte"`
RequestedConfTarget uint32 `json:"requested_conf_target"`
Force bool `json:"force"`
}
// NewPendingSweepFromProto converts the walletrpc.PendingSweep proto type into
// its corresponding CLI-friendly type.
func NewPendingSweepFromProto(pendingSweep *walletrpc.PendingSweep) *PendingSweep {
return &PendingSweep{
OutPoint: NewOutPointFromProto(pendingSweep.Outpoint),
WitnessType: pendingSweep.WitnessType.String(),
AmountSat: pendingSweep.AmountSat,
SatPerByte: pendingSweep.SatPerByte,
BroadcastAttempts: pendingSweep.BroadcastAttempts,
NextBroadcastHeight: pendingSweep.NextBroadcastHeight,
RequestedSatPerByte: pendingSweep.RequestedSatPerByte,
RequestedConfTarget: pendingSweep.RequestedConfTarget,
Force: pendingSweep.Force,
OutPoint: NewOutPointFromProto(pendingSweep.Outpoint),
WitnessType: pendingSweep.WitnessType.String(),
AmountSat: pendingSweep.AmountSat,
SatPerVByte: uint32(pendingSweep.SatPerVbyte),
BroadcastAttempts: pendingSweep.BroadcastAttempts,
NextBroadcastHeight: pendingSweep.NextBroadcastHeight,
RequestedSatPerVByte: uint32(pendingSweep.RequestedSatPerVbyte),
RequestedConfTarget: pendingSweep.RequestedConfTarget,
Force: pendingSweep.Force,
}
}

2
docs/watchtower.md

@ -209,7 +209,7 @@ To obtain information about the watchtower's sessions, users can use the
"num_backups": 0,
"num_pending_backups": 0,
"max_backups": 1024,
"sweep_sat_per_byte": 10
"sweep_sat_per_vbyte": 10
}
]
}

1654
lnrpc/rpc.pb.go

@ -2075,8 +2075,11 @@ func (m *EstimateFeeRequest) GetTargetConf() int32 {
type EstimateFeeResponse struct {
// The total fee in satoshis.
FeeSat int64 `protobuf:"varint,1,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"`
// Deprecated, use sat_per_vbyte.
// The fee rate in satoshi/vbyte.
FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"`
FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"` // Deprecated: Do not use.
// The fee rate in satoshi/vbyte.
SatPerVbyte uint64 `protobuf:"varint,3,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -2114,6 +2117,7 @@ func (m *EstimateFeeResponse) GetFeeSat() int64 {
return 0
}
// Deprecated: Do not use.
func (m *EstimateFeeResponse) GetFeerateSatPerByte() int64 {
if m != nil {
return m.FeerateSatPerByte
@ -2121,6 +2125,13 @@ func (m *EstimateFeeResponse) GetFeerateSatPerByte() int64 {
return 0
}
func (m *EstimateFeeResponse) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
type SendManyRequest struct {
// The map from addresses to amounts
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
@ -2129,7 +2140,11 @@ type SendManyRequest struct {
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
// An optional label for the transaction, limited to 500 characters.
Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"`
// The minimum number of confirmations each one of your outputs used for
@ -2181,6 +2196,14 @@ func (m *SendManyRequest) GetTargetConf() int32 {
return 0
}
func (m *SendManyRequest) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
// Deprecated: Do not use.
func (m *SendManyRequest) GetSatPerByte() int64 {
if m != nil {
return m.SatPerByte
@ -2259,7 +2282,11 @@ type SendCoinsRequest struct {
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//If set, then the amount field will be ignored, and lnd will attempt to
//send all the coins under control of the internal wallet to the specified
@ -2323,6 +2350,14 @@ func (m *SendCoinsRequest) GetTargetConf() int32 {
return 0
}
func (m *SendCoinsRequest) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
// Deprecated: Do not use.
func (m *SendCoinsRequest) GetSatPerByte() int64 {
if m != nil {
return m.SatPerByte
@ -4801,15 +4836,19 @@ type CloseChannelRequest struct {
// The target number of blocks that the closure transaction should be
// confirmed by.
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// closure transaction.
SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//An optional address to send funds to in the case of a cooperative close.
//If the channel was opened with an upfront shutdown script and this field
//is set, the request to close will fail because the channel must pay out
//to the upfront shutdown addresss.
DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"`
DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"`
// A manual fee rate set in sat/vbyte that should be used when crafting the
// closure transaction.
SatPerVbyte uint64 `protobuf:"varint,6,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -4861,6 +4900,7 @@ func (m *CloseChannelRequest) GetTargetConf() int32 {
return 0
}
// Deprecated: Do not use.
func (m *CloseChannelRequest) GetSatPerByte() int64 {
if m != nil {
return m.SatPerByte
@ -4875,6 +4915,13 @@ func (m *CloseChannelRequest) GetDeliveryAddress() string {
return ""
}
func (m *CloseChannelRequest) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
type CloseStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *CloseStatusUpdate_ClosePending
@ -5069,6 +5116,9 @@ func (m *ReadyForPsbtFunding) GetPsbt() []byte {
}
type OpenChannelRequest struct {
// A manual fee rate set in sat/vbyte that should be used when crafting the
// funding transaction.
SatPerVbyte uint64 `protobuf:"varint,1,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
//
//The pubkey of the node to open a channel with. When using REST, this field
//must be encoded as base64.
@ -5085,9 +5135,10 @@ type OpenChannelRequest struct {
// The target number of blocks that the funding transaction should be
// confirmed by.
TargetConf int32 `protobuf:"varint,6,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// funding transaction.
SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
// Whether this channel should be private, not announced to the greater
// network.
Private bool `protobuf:"varint,8,opt,name=private,proto3" json:"private,omitempty"`
@ -5162,6 +5213,13 @@ func (m *OpenChannelRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_OpenChannelRequest proto.InternalMessageInfo
func (m *OpenChannelRequest) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
func (m *OpenChannelRequest) GetNodePubkey() []byte {
if m != nil {
return m.NodePubkey
@ -5198,6 +5256,7 @@ func (m *OpenChannelRequest) GetTargetConf() int32 {
return 0
}
// Deprecated: Do not use.
func (m *OpenChannelRequest) GetSatPerByte() int64 {
if m != nil {
return m.SatPerByte
@ -12984,792 +13043,795 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 12560 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x6b, 0x6c, 0x23, 0x59,
0x76, 0x18, 0xdc, 0x7c, 0x89, 0xe4, 0x21, 0x29, 0x51, 0x57, 0x2f, 0xb6, 0x7a, 0x7a, 0xba, 0xa7,
0x66, 0x76, 0xa6, 0xb7, 0x67, 0x46, 0xd3, 0xd3, 0x33, 0x3d, 0x8f, 0xed, 0xcf, 0xeb, 0xa5, 0x24,
0xaa, 0xc5, 0x6d, 0x89, 0xd4, 0x16, 0xa9, 0x19, 0xcf, 0xc2, 0x76, 0xb9, 0x44, 0x5e, 0x49, 0xf5,
0x35, 0x59, 0xc5, 0xad, 0x2a, 0xaa, 0xa5, 0x0d, 0x02, 0xf8, 0x87, 0xe3, 0x04, 0x86, 0x11, 0x20,
0x40, 0x1c, 0xe4, 0x65, 0x24, 0x41, 0x80, 0xe4, 0x9f, 0x61, 0xc0, 0xf6, 0xaf, 0xe4, 0x5f, 0x80,
0x04, 0x01, 0x12, 0x04, 0x41, 0x62, 0xe4, 0x81, 0x20, 0x41, 0x80, 0xc4, 0x01, 0x12, 0x20, 0x31,
0xe0, 0xbf, 0x0e, 0x12, 0xdc, 0x73, 0x1f, 0x75, 0xeb, 0xa1, 0xee, 0x9e, 0xdd, 0xc9, 0xfe, 0x91,
0x58, 0xe7, 0x9c, 0xfb, 0xbe, 0xf7, 0xdc, 0x73, 0xcf, 0x39, 0xf7, 0x5c, 0xa8, 0xfa, 0xb3, 0xd1,
0xd6, 0xcc, 0xf7, 0x42, 0x8f, 0x94, 0x26, 0xae, 0x3f, 0x1b, 0x19, 0x7f, 0x94, 0x83, 0xe2, 0x71,
0x78, 0xe9, 0x91, 0x47, 0x50, 0xb7, 0xc7, 0x63, 0x9f, 0x06, 0x81, 0x15, 0x5e, 0xcd, 0x68, 0x2b,
0x77, 0x37, 0x77, 0x6f, 0xf1, 0x21, 0xd9, 0x42, 0xb2, 0xad, 0x36, 0x47, 0x0d, 0xaf, 0x66, 0xd4,
0xac, 0xd9, 0xd1, 0x07, 0x69, 0x41, 0x59, 0x7c, 0xb6, 0xf2, 0x77, 0x73, 0xf7, 0xaa, 0xa6, 0xfc,
0x24, 0xb7, 0x01, 0xec, 0xa9, 0x37, 0x77, 0x43, 0x2b, 0xb0, 0xc3, 0x56, 0xe1, 0x6e, 0xee, 0x5e,
0xc1, 0xac, 0x72, 0xc8, 0xc0, 0x0e, 0xc9, 0x2d, 0xa8, 0xce, 0x9e, 0x59, 0xc1, 0xc8, 0x77, 0x66,
0x61, 0xab, 0x88, 0x49, 0x2b, 0xb3, 0x67, 0x03, 0xfc, 0x26, 0xef, 0x42, 0xc5, 0x9b, 0x87, 0x33,
0xcf, 0x71, 0xc3, 0x56, 0xe9, 0x6e, 0xee, 0x5e, 0xed, 0xe1, 0x92, 0xa8, 0x48, 0x7f, 0x1e, 0x1e,
0x31, 0xb0, 0xa9, 0x08, 0xc8, 0x5b, 0xd0, 0x18, 0x79, 0xee, 0xa9, 0xe3, 0x4f, 0xed, 0xd0, 0xf1,
0xdc, 0xa0, 0xb5, 0x80, 0x65, 0xc5, 0x81, 0xc6, 0x3f, 0xce, 0x43, 0x6d, 0xe8, 0xdb, 0x6e, 0x60,
0x8f, 0x18, 0x80, 0x6c, 0x40, 0x39, 0xbc, 0xb4, 0xce, 0xed, 0xe0, 0x1c, 0x9b, 0x5a, 0x35, 0x17,
0xc2, 0xcb, 0x7d, 0x3b, 0x38, 0x27, 0xeb, 0xb0, 0xc0, 0x6b, 0x89, 0x0d, 0x2a, 0x98, 0xe2, 0x8b,
0xbc, 0x0b, 0xcb, 0xee, 0x7c, 0x6a, 0xc5, 0x8b, 0x62, 0xcd, 0x2a, 0x99, 0x4d, 0x77, 0x3e, 0xdd,
0xd1, 0xe1, 0xac, 0xf1, 0x27, 0x13, 0x6f, 0xf4, 0x8c, 0x17, 0xc0, 0x9b, 0x57, 0x45, 0x08, 0x96,
0xf1, 0x06, 0xd4, 0x05, 0x9a, 0x3a, 0x67, 0xe7, 0xbc, 0x8d, 0x25, 0xb3, 0xc6, 0x09, 0x10, 0xc4,
0x72, 0x08, 0x9d, 0x29, 0xb5, 0x82, 0xd0, 0x9e, 0xce, 0x44, 0x93, 0xaa, 0x0c, 0x32, 0x60, 0x00,
0x44, 0x7b, 0xa1, 0x3d, 0xb1, 0x4e, 0x29, 0x0d, 0x5a, 0x65, 0x81, 0x66, 0x90, 0x3d, 0x4a, 0x03,
0xf2, 0x2d, 0x58, 0x1c, 0xd3, 0x20, 0xb4, 0xc4, 0x60, 0xd0, 0xa0, 0x55, 0xb9, 0x5b, 0xb8, 0x57,
0x35, 0x1b, 0x0c, 0xda, 0x96, 0x40, 0xf2, 0x1a, 0x80, 0x6f, 0x3f, 0xb7, 0x58, 0x47, 0xd0, 0xcb,
0x56, 0x95, 0x8f, 0x82, 0x6f, 0x3f, 0x1f, 0x5e, 0xee, 0xd3, 0x4b, 0xb2, 0x0a, 0xa5, 0x89, 0x7d,
0x42, 0x27, 0x2d, 0x40, 0x04, 0xff, 0x30, 0x7e, 0x08, 0xeb, 0x4f, 0x68, 0xa8, 0x75, 0x65, 0x60,
0xd2, 0x1f, 0xcd, 0x69, 0x10, 0xb2, 0x56, 0x05, 0xa1, 0xed, 0x87, 0xb2, 0x55, 0x39, 0xde, 0x2a,
0x84, 0x45, 0xad, 0xa2, 0xee, 0x58, 0x12, 0xe4, 0x91, 0xa0, 0x4a, 0xdd, 0x31, 0x47, 0x1b, 0x07,
0x40, 0xb4, 0x8c, 0x77, 0x69, 0x68, 0x3b, 0x93, 0x80, 0x7c, 0x02, 0xf5, 0x50, 0x2b, 0xae, 0x95,
0xbb, 0x5b, 0xb8, 0x57, 0x53, 0x53, 0x53, 0x4b, 0x60, 0xc6, 0xe8, 0x8c, 0x73, 0xa8, 0xec, 0x51,
0x7a, 0xe0, 0x4c, 0x9d, 0x90, 0xac, 0x43, 0xe9, 0xd4, 0xb9, 0xa4, 0x63, 0xac, 0x54, 0x61, 0xff,
0x86, 0xc9, 0x3f, 0xc9, 0x1d, 0x00, 0xfc, 0x61, 0x4d, 0xd5, 0x2c, 0xdd, 0xbf, 0x61, 0x56, 0x11,
0x76, 0x18, 0xd8, 0x21, 0xd9, 0x84, 0xf2, 0x8c, 0xfa, 0x23, 0x2a, 0xe7, 0xc3, 0xfe, 0x0d, 0x53,
0x02, 0xb6, 0xcb, 0x50, 0x9a, 0xb0, 0xdc, 0x8d, 0xff, 0x5e, 0x82, 0xda, 0x80, 0xba, 0x63, 0xd9,
0x13, 0x04, 0x8a, 0xac, 0xa3, 0xb1, 0xb0, 0xba, 0x89, 0xbf, 0xc9, 0x9b, 0x50, 0xc3, 0x21, 0x09,
0x42, 0xdf, 0x71, 0xcf, 0xf8, 0x6a, 0xd9, 0xce, 0xb7, 0x72, 0x26, 0x30, 0xf0, 0x00, 0xa1, 0xa4,
0x09, 0x05, 0x7b, 0x2a, 0x57, 0x0b, 0xfb, 0x49, 0x6e, 0x42, 0xc5, 0x9e, 0x86, 0xbc, 0x7a, 0x75,
0x04, 0x97, 0xed, 0x69, 0x88, 0x55, 0x7b, 0x03, 0xea, 0x33, 0xfb, 0x6a, 0x4a, 0xdd, 0x30, 0x9a,
0x66, 0x75, 0xb3, 0x26, 0x60, 0x38, 0xd1, 0x1e, 0xc2, 0x8a, 0x4e, 0x22, 0x0b, 0x2f, 0xa9, 0xc2,
0x97, 0x35, 0x6a, 0x51, 0x87, 0x77, 0x60, 0x49, 0xa6, 0xf1, 0x79, 0x7b, 0x70, 0xfa, 0x55, 0xcd,
0x45, 0x01, 0x96, 0xad, 0xbc, 0x07, 0xcd, 0x53, 0xc7, 0xb5, 0x27, 0xd6, 0x68, 0x12, 0x5e, 0x58,
0x63, 0x3a, 0x09, 0x6d, 0x9c, 0x89, 0x25, 0x73, 0x11, 0xe1, 0x3b, 0x93, 0xf0, 0x62, 0x97, 0x41,
0xc9, 0x7b, 0x50, 0x3d, 0xa5, 0xd4, 0xc2, 0xce, 0x6a, 0x55, 0x62, 0x0b, 0x5a, 0x8e, 0x90, 0x59,
0x39, 0x95, 0x63, 0xf5, 0x1e, 0x34, 0xbd, 0x79, 0x78, 0xe6, 0x39, 0xee, 0x99, 0x35, 0x3a, 0xb7,
0x5d, 0xcb, 0x19, 0xe3, 0xdc, 0x2c, 0x6e, 0xe7, 0x1f, 0xe4, 0xcc, 0x45, 0x89, 0xdb, 0x39, 0xb7,
0xdd, 0xee, 0x98, 0xbc, 0x0d, 0x4b, 0x13, 0x3b, 0x08, 0xad, 0x73, 0x6f, 0x66, 0xcd, 0xe6, 0x27,
0xcf, 0xe8, 0x55, 0xab, 0x81, 0x1d, 0xd1, 0x60, 0xe0, 0x7d, 0x6f, 0x76, 0x84, 0x40, 0x36, 0xf5,
0xb0, 0x9e, 0xbc, 0x12, 0x6c, 0x4a, 0x37, 0xcc, 0x2a, 0x83, 0xf0, 0x42, 0xbf, 0x82, 0x15, 0x1c,
0x9e, 0xd1, 0x3c, 0x08, 0xbd, 0xa9, 0xe5, 0xd3, 0x91, 0xe7, 0x8f, 0x83, 0x56, 0x0d, 0xe7, 0xda,
0xb7, 0x45, 0x65, 0xb5, 0x31, 0xde, 0xda, 0xa5, 0x41, 0xb8, 0x83, 0xc4, 0x26, 0xa7, 0xed, 0xb8,
0xa1, 0x7f, 0x65, 0x2e, 0x8f, 0x93, 0x70, 0xf2, 0x1e, 0x10, 0x7b, 0x32, 0xf1, 0x9e, 0x5b, 0x01,
0x9d, 0x9c, 0x5a, 0xa2, 0x13, 0x5b, 0x8b, 0x77, 0x73, 0xf7, 0x2a, 0x66, 0x13, 0x31, 0x03, 0x3a,
0x39, 0x3d, 0xe2, 0x70, 0xf2, 0x09, 0xe0, 0x22, 0xb5, 0x4e, 0xa9, 0x1d, 0xce, 0x7d, 0x1a, 0xb4,
0x96, 0xee, 0x16, 0xee, 0x2d, 0x3e, 0x5c, 0x56, 0xfd, 0x85, 0xe0, 0x6d, 0x27, 0x34, 0xeb, 0x8c,
0x4e, 0x7c, 0x07, 0xfa, 0x6c, 0x60, 0xab, 0xbe, 0xd5, 0x8c, 0xcd, 0x06, 0xb6, 0xe6, 0x37, 0x77,
0x61, 0x3d, 0xbb, 0xd6, 0x6c, 0xde, 0xb1, 0x8e, 0x63, 0xf3, 0xb5, 0x68, 0xb2, 0x9f, 0x6c, 0xf1,
0x5f, 0xd8, 0x93, 0x39, 0xc5, 0x89, 0x5a, 0x37, 0xf9, 0xc7, 0x77, 0xf2, 0x9f, 0xe5, 0x8c, 0xdf,
0xcf, 0x41, 0x9d, 0x77, 0x44, 0x30, 0xf3, 0xdc, 0x80, 0x92, 0x37, 0xa1, 0x21, 0x4b, 0xa6, 0xbe,
0xef, 0xf9, 0x82, 0xa1, 0xca, 0xea, 0x74, 0x18, 0x8c, 0x7c, 0x1b, 0x9a, 0x92, 0x68, 0xe6, 0x53,
0x67, 0x6a, 0x9f, 0xc9, 0xac, 0xe5, 0x6c, 0x3b, 0x12, 0x60, 0xf2, 0x61, 0x94, 0x9f, 0xef, 0xcd,
0x43, 0x8a, 0xcb, 0xa1, 0xf6, 0xb0, 0x2e, 0x7a, 0xc0, 0x64, 0x30, 0x95, 0x3b, 0x7e, 0xbd, 0xc2,
0x52, 0x30, 0x7e, 0x2b, 0x07, 0x84, 0x55, 0x7b, 0xe8, 0xf1, 0x0c, 0x22, 0xa6, 0x15, 0x4b, 0x99,
0x7b, 0xe5, 0x45, 0x94, 0x7f, 0xd1, 0x22, 0x32, 0xa0, 0xc4, 0xeb, 0x5e, 0xcc, 0xa8, 0x3b, 0x47,
0x7d, 0xbf, 0x58, 0x29, 0x34, 0x8b, 0xc6, 0xbf, 0x2f, 0xc0, 0x2a, 0x9b, 0xca, 0x2e, 0x9d, 0xb4,
0x47, 0x23, 0x3a, 0x53, 0xcb, 0xeb, 0x0e, 0xd4, 0x5c, 0x6f, 0x4c, 0xe5, 0xa4, 0xe6, 0x15, 0x03,
0x06, 0xd2, 0x66, 0xf4, 0xb9, 0xed, 0xb8, 0xbc, 0xe2, 0xbc, 0x33, 0xab, 0x08, 0xc1, 0x6a, 0xbf,
0x0d, 0x4b, 0x33, 0xea, 0x8e, 0xf5, 0x55, 0x54, 0xe0, 0x0b, 0x43, 0x80, 0xc5, 0x02, 0xba, 0x03,
0xb5, 0xd3, 0x39, 0xa7, 0x63, 0xbc, 0xa7, 0x88, 0x73, 0x00, 0x04, 0xa8, 0xcd, 0x59, 0xd0, 0x6c,
0x1e, 0x9c, 0x23, 0xb6, 0x84, 0xd8, 0x32, 0xfb, 0x66, 0xa8, 0xdb, 0x00, 0xe3, 0x79, 0x10, 0x8a,
0x45, 0xb5, 0x80, 0xc8, 0x2a, 0x83, 0xf0, 0x45, 0xf5, 0x3e, 0xac, 0x4c, 0xed, 0x4b, 0x0b, 0xe7,
0x8e, 0xe5, 0xb8, 0xd6, 0xe9, 0x04, 0xf9, 0x7e, 0x19, 0xe9, 0x9a, 0x53, 0xfb, 0xf2, 0x0b, 0x86,
0xe9, 0xba, 0x7b, 0x08, 0x67, 0x9c, 0x67, 0xc4, 0x7b, 0xc2, 0xf2, 0x69, 0x40, 0xfd, 0x0b, 0x8a,
0xcc, 0xa2, 0x68, 0x2e, 0x0a, 0xb0, 0xc9, 0xa1, 0xac, 0x46, 0x53, 0xd6, 0xee, 0x70, 0x32, 0xe2,
0x9c, 0xc1, 0x2c, 0x4f, 0x1d, 0x77, 0x3f, 0x9c, 0x8c, 0xd8, 0x96, 0xc6, 0x58, 0xcd, 0x8c, 0xfa,
0xd6, 0xb3, 0xe7, 0xb8, 0xcc, 0x8b, 0xc8, 0x5a, 0x8e, 0xa8, 0xff, 0xf4, 0x39, 0x93, 0x3a, 0x46,
0x01, 0xf2, 0x2a, 0xfb, 0xaa, 0x55, 0x43, 0x1e, 0x50, 0x19, 0x05, 0x8c, 0x4b, 0xd9, 0x57, 0x6c,
0x9d, 0xb2, 0xda, 0xda, 0x38, 0x0a, 0x74, 0x8c, 0xd9, 0x07, 0xc8, 0x74, 0x1b, 0x58, 0xd9, 0xb6,
0x40, 0xb0, 0x72, 0x02, 0x36, 0xeb, 0x65, 0x65, 0x4f, 0x27, 0xf6, 0x59, 0x80, 0x5c, 0xa7, 0x61,
0xd6, 0x05, 0x70, 0x8f, 0xc1, 0x8c, 0x3f, 0xc9, 0xc3, 0x5a, 0x62, 0x70, 0xc5, 0xa2, 0x61, 0x62,
0x06, 0x42, 0x70, 0x60, 0x2b, 0xa6, 0xf8, 0xca, 0x1a, 0xb5, 0x7c, 0xd6, 0xa8, 0xad, 0x42, 0x89,
0x2f, 0xb6, 0x02, 0xdf, 0x9c, 0xa9, 0x5c, 0x65, 0xf3, 0xd9, 0xa9, 0xef, 0x31, 0xa9, 0xeb, 0x7c,
0x1e, 0x8e, 0xbd, 0xe7, 0xae, 0x90, 0x3e, 0x96, 0x04, 0x7c, 0x20, 0xc0, 0xf1, 0xae, 0x28, 0x25,
0xba, 0xe2, 0x0e, 0xd4, 0xc4, 0x08, 0xa0, 0xf4, 0xc6, 0x07, 0x16, 0x04, 0x88, 0x89, 0x6f, 0xef,
0x02, 0x51, 0xe3, 0x69, 0xb1, 0x5e, 0xc3, 0x0d, 0x8a, 0x0f, 0xec, 0x92, 0x23, 0x06, 0xf4, 0xd0,
0xbe, 0xc4, 0x8d, 0xea, 0x2d, 0x58, 0x64, 0x24, 0xac, 0x3f, 0xad, 0x11, 0x8a, 0x56, 0x15, 0xde,
0x57, 0x53, 0xfb, 0x92, 0x75, 0xe6, 0x0e, 0x0a, 0x58, 0xaf, 0x43, 0x4d, 0x0e, 0xaa, 0xe5, 0xb8,
0x62, 0x5c, 0xab, 0x62, 0x5c, 0xbb, 0x2e, 0xdb, 0x6e, 0x18, 0x9e, 0xf7, 0x93, 0x35, 0xa6, 0xb3,
0xf0, 0x5c, 0xb0, 0xf1, 0xc5, 0xa9, 0xe3, 0xf2, 0xee, 0xdd, 0x65, 0x50, 0xe3, 0xb7, 0x73, 0x50,
0x17, 0xbd, 0x8e, 0xc2, 0x22, 0xd9, 0x02, 0x22, 0xa7, 0x78, 0x78, 0xe9, 0x8c, 0xad, 0x93, 0xab,
0x90, 0x06, 0x7c, 0x45, 0xed, 0xdf, 0x30, 0x9b, 0x02, 0x37, 0xbc, 0x74, 0xc6, 0xdb, 0x0c, 0x43,
0xee, 0x43, 0x33, 0x46, 0x1f, 0x84, 0x3e, 0x5f, 0xee, 0xfb, 0x37, 0xcc, 0x45, 0x8d, 0x7a, 0x10,
0xfa, 0x8c, 0x81, 0x30, 0x51, 0x74, 0x1e, 0x5a, 0x8e, 0x3b, 0xa6, 0x97, 0x38, 0x1e, 0x0d, 0xb3,
0xc6, 0x61, 0x5d, 0x06, 0xda, 0x5e, 0x84, 0xba, 0x9e, 0x9d, 0x71, 0x06, 0x15, 0x29, 0xc7, 0xa2,
0x20, 0x97, 0xa8, 0x92, 0x59, 0x0d, 0x55, 0x4d, 0x6e, 0x42, 0x25, 0x5e, 0x03, 0xb3, 0x1c, 0xbe,
0x72, 0xc1, 0xc6, 0x77, 0xa1, 0x79, 0xc0, 0x06, 0xc2, 0x65, 0x2b, 0x59, 0xc8, 0xe5, 0xeb, 0xb0,
0xa0, 0x71, 0x94, 0xaa, 0x29, 0xbe, 0x98, 0xcc, 0x72, 0xee, 0x05, 0xa1, 0x28, 0x05, 0x7f, 0x1b,
0xff, 0x24, 0x07, 0xa4, 0x13, 0x84, 0xce, 0xd4, 0x0e, 0xe9, 0x1e, 0x55, 0x3c, 0xb3, 0x0f, 0x75,
0x96, 0xdb, 0xd0, 0x6b, 0x73, 0x41, 0x99, 0x0b, 0x64, 0xef, 0x0a, 0x1e, 0x97, 0x4e, 0xb0, 0xa5,
0x53, 0xf3, 0x6d, 0x32, 0x96, 0x01, 0x9b, 0x6e, 0xa1, 0xed, 0x9f, 0xd1, 0x10, 0xc5, 0x6b, 0x21,
0x17, 0x02, 0x07, 0x31, 0xc1, 0x7a, 0xf3, 0xe7, 0x61, 0x39, 0x95, 0x87, 0xbe, 0x69, 0x55, 0x33,
0x36, 0xad, 0x82, 0xbe, 0x69, 0x59, 0xb0, 0x12, 0xab, 0x97, 0x58, 0x85, 0x1b, 0x50, 0x66, 0xdc,
0x82, 0xcd, 0xdd, 0x1c, 0x97, 0xf6, 0x4f, 0x29, 0xce, 0xef, 0x0f, 0x60, 0xf5, 0x94, 0x52, 0xdf,
0x0e, 0x11, 0x89, 0xec, 0x84, 0x8d, 0x90, 0xc8, 0x78, 0x59, 0xe0, 0x06, 0x76, 0x78, 0x44, 0x7d,
0x36, 0x52, 0xc6, 0x3f, 0xca, 0xc3, 0x12, 0xdb, 0x5e, 0x0e, 0x6d, 0xf7, 0x4a, 0xf6, 0xd3, 0x41,
0x66, 0x3f, 0xdd, 0xd3, 0x84, 0x09, 0x8d, 0xfa, 0xeb, 0x76, 0x52, 0x21, 0xd9, 0x49, 0xe4, 0x2e,
0xd4, 0x63, 0x75, 0x2d, 0x61, 0x5d, 0x21, 0x50, 0x95, 0x8c, 0x24, 0xfa, 0x05, 0x4d, 0xa2, 0x67,
0x9c, 0x80, 0x2d, 0x2c, 0x96, 0x6b, 0x20, 0x04, 0x38, 0xc6, 0x5e, 0x59, 0x9e, 0x01, 0x3b, 0xf6,
0x04, 0x8c, 0xf3, 0x58, 0x73, 0x57, 0x1c, 0x7d, 0xe8, 0x18, 0x97, 0x6f, 0xc5, 0x6c, 0x22, 0xe2,
0x38, 0x82, 0xff, 0xf4, 0xc3, 0xf4, 0x36, 0x34, 0xa3, 0x6e, 0x11, 0x63, 0x44, 0xa0, 0xc8, 0xa6,
0xbc, 0xc8, 0x00, 0x7f, 0x1b, 0x7f, 0x9a, 0xe3, 0x84, 0x3b, 0x9e, 0x13, 0x9d, 0x3f, 0x08, 0x14,
0x51, 0xf2, 0x11, 0x84, 0xec, 0xf7, 0xb5, 0xa7, 0xb9, 0x6f, 0xa0, 0x33, 0x6f, 0x42, 0x25, 0x60,
0x1d, 0x63, 0x4f, 0x78, 0x7f, 0x56, 0xcc, 0x32, 0xfb, 0x6e, 0x4f, 0x26, 0x51, 0x3f, 0x97, 0xaf,
0xed, 0xe7, 0xca, 0xab, 0xf4, 0x73, 0x35, 0xbb, 0x9f, 0x8d, 0x77, 0x60, 0x59, 0x6b, 0xfd, 0x0b,
0xfa, 0xa9, 0x07, 0xe4, 0xc0, 0x09, 0xc2, 0x63, 0x97, 0x65, 0xa1, 0x24, 0x8b, 0x58, 0x45, 0x72,
0x89, 0x8a, 0x30, 0xa4, 0x7d, 0x29, 0x90, 0x79, 0x81, 0xb4, 0x2f, 0x11, 0x69, 0x7c, 0x06, 0x2b,
0xb1, 0xfc, 0x44, 0xd1, 0x6f, 0x40, 0x69, 0x1e, 0x5e, 0x7a, 0xf2, 0x68, 0x56, 0x13, 0x33, 0xfc,
0x38, 0xbc, 0xf4, 0x4c, 0x8e, 0x31, 0x1e, 0xc3, 0x72, 0x8f, 0x3e, 0x17, 0x4c, 0x48, 0x56, 0xe4,
0x6d, 0x28, 0xbe, 0x44, 0xd9, 0x80, 0x78, 0x63, 0x0b, 0x88, 0x9e, 0x58, 0x94, 0xaa, 0xe9, 0x1e,
0x72, 0x31, 0xdd, 0x83, 0xf1, 0x36, 0x90, 0x81, 0x73, 0xe6, 0x1e, 0xd2, 0x20, 0xb0, 0xcf, 0x14,
0xdb, 0x6a, 0x42, 0x61, 0x1a, 0x9c, 0x09, 0x1e, 0xcb, 0x7e, 0x1a, 0x1f, 0xc1, 0x4a, 0x8c, 0x4e,
0x64, 0xfc, 0x1a, 0x54, 0x03, 0xe7, 0xcc, 0x45, 0xc1, 0x5a, 0x64, 0x1d, 0x01, 0x8c, 0x3d, 0x58,
0xfd, 0x82, 0xfa, 0xce, 0xe9, 0xd5, 0xcb, 0xb2, 0x8f, 0xe7, 0x93, 0x4f, 0xe6, 0xd3, 0x81, 0xb5,
0x44, 0x3e, 0xa2, 0x78, 0xbe, 0x3c, 0xc4, 0x48, 0x56, 0x4c, 0xfe, 0xa1, 0xf1, 0xed, 0xbc, 0xce,
0xb7, 0x0d, 0x0f, 0xc8, 0x8e, 0xe7, 0xba, 0x74, 0x14, 0x1e, 0x51, 0xea, 0xcb, 0xca, 0xbc, 0xab,
0xad, 0x85, 0xda, 0xc3, 0x0d, 0xd1, 0xb3, 0xc9, 0xcd, 0x40, 0x2c, 0x12, 0x02, 0xc5, 0x19, 0xf5,
0xa7, 0x98, 0x71, 0xc5, 0xc4, 0xdf, 0xac, 0x73, 0x43, 0x67, 0x4a, 0xbd, 0x39, 0x3f, 0x8d, 0x16,
0x4d, 0xf9, 0x69, 0xac, 0xc1, 0x4a, 0xac, 0x40, 0x5e, 0x6b, 0xe3, 0x01, 0xac, 0xed, 0x3a, 0xc1,
0x28, 0x5d, 0x95, 0x0d, 0x28, 0xcf, 0xe6, 0x27, 0x56, 0x7c, 0xc7, 0x79, 0x4a, 0xaf, 0x8c, 0x16,
0xac, 0x27, 0x53, 0x88, 0xbc, 0x7e, 0x3d, 0x0f, 0xc5, 0xfd, 0xe1, 0xc1, 0x0e, 0xd9, 0x84, 0x8a,
0xe3, 0x8e, 0xbc, 0x29, 0x93, 0xb7, 0x79, 0x6f, 0xa8, 0xef, 0x6b, 0x97, 0xf6, 0x2d, 0xa8, 0xa2,
0x98, 0x3e, 0xf1, 0x46, 0xcf, 0x84, 0xc4, 0x5b, 0x61, 0x80, 0x03, 0x6f, 0xf4, 0x8c, 0x2d, 0x33,
0x7a, 0x39, 0x73, 0x7c, 0xd4, 0xd3, 0x48, 0x3d, 0x44, 0x91, 0x8b, 0x78, 0x11, 0x22, 0xd2, 0x56,
0x08, 0x69, 0x84, 0xed, 0xaf, 0x5c, 0xf4, 0xad, 0x9e, 0xa3, 0x34, 0x32, 0xa6, 0x97, 0xe4, 0x7d,
0x20, 0xa7, 0x9e, 0xff, 0xdc, 0xf6, 0x95, 0xb4, 0xe6, 0x0a, 0xd6, 0x5a, 0x34, 0x97, 0x23, 0x8c,
0x90, 0x44, 0xc8, 0x43, 0x58, 0xd3, 0xc8, 0xb5, 0x8c, 0xb9, 0xd4, 0xb4, 0x12, 0x21, 0xf7, 0x65,
0x11, 0xc6, 0xaf, 0xe5, 0x81, 0x88, 0xf4, 0x3b, 0x9e, 0x1b, 0x84, 0xbe, 0xed, 0xb8, 0x61, 0x10,
0x97, 0xdd, 0x72, 0x09, 0xd9, 0xed, 0x1e, 0x34, 0x51, 0x72, 0xd4, 0x05, 0xb8, 0x7c, 0x24, 0x46,
0x9b, 0x91, 0x10, 0xf7, 0x16, 0x2c, 0x46, 0xd2, 0xbb, 0x52, 0xd3, 0x15, 0xcd, 0xba, 0x92, 0xe0,
0xc5, 0x56, 0xc8, 0x18, 0x82, 0x94, 0x4a, 0x95, 0x36, 0x82, 0x1f, 0x14, 0x96, 0xa7, 0xf6, 0xe5,
0x11, 0x95, 0x67, 0x05, 0x14, 0xf7, 0x0c, 0x68, 0x28, 0x41, 0x0e, 0x29, 0x79, 0xcf, 0xd5, 0x84,
0x28, 0x87, 0x34, 0xd9, 0xb2, 0xf6, 0x42, 0xb6, 0xac, 0x6d, 0xfc, 0x9b, 0x2a, 0x94, 0x65, 0x37,
0xa2, 0xe0, 0x1c, 0x3a, 0x17, 0x34, 0x12, 0x9c, 0xd9, 0x17, 0x93, 0xc7, 0x7d, 0x3a, 0xf5, 0x42,
0x75, 0x60, 0xe2, 0xcb, 0xa4, 0xce, 0x81, 0xe2, 0xc8, 0xa4, 0x09, 0xed, 0x5c, 0xbb, 0xc8, 0xa5,
0x67, 0x29, 0xb4, 0x73, 0x91, 0xec, 0x16, 0x94, 0xa5, 0xe8, 0x5d, 0x54, 0x6a, 0x87, 0x85, 0x11,
0x97, 0xbb, 0x37, 0xa1, 0x32, 0xb2, 0x67, 0xf6, 0xc8, 0x09, 0xaf, 0xc4, 0x9e, 0xa0, 0xbe, 0x59,
0xee, 0x13, 0x6f, 0x64, 0x4f, 0xac, 0x13, 0x7b, 0x62, 0xbb, 0x23, 0x2a, 0xd4, 0x76, 0x75, 0x04,
0x6e, 0x73, 0x18, 0xf9, 0x16, 0x2c, 0x8a, 0x7a, 0x4a, 0x2a, 0xae, 0xbd, 0x13, 0xb5, 0x97, 0x64,
0xec, 0x70, 0xe7, 0x4d, 0xd9, 0xb8, 0x9c, 0x52, 0x7e, 0x0c, 0x2a, 0x98, 0x55, 0x0e, 0xd9, 0xa3,
0xd8, 0x5a, 0x81, 0x7e, 0xce, 0xe7, 0x70, 0x95, 0x17, 0xc5, 0x81, 0x5f, 0xf2, 0xf9, 0x9b, 0x3e,
0x0b, 0x15, 0xb4, 0xb3, 0xd0, 0xbb, 0xb0, 0x3c, 0x77, 0x03, 0x1a, 0x86, 0x13, 0x3a, 0x56, 0x75,
0xa9, 0x21, 0x51, 0x53, 0x21, 0x64, 0x75, 0xb6, 0x60, 0x85, 0xeb, 0x1b, 0x03, 0x3b, 0xf4, 0x82,
0x73, 0x27, 0xb0, 0x02, 0xea, 0x4a, 0x8d, 0xd4, 0x32, 0xa2, 0x06, 0x02, 0x33, 0xe0, 0x5a, 0x8c,
0x8d, 0x04, 0xbd, 0x4f, 0x47, 0xd4, 0xb9, 0xa0, 0x63, 0x3c, 0x27, 0x15, 0xcc, 0xb5, 0x58, 0x1a,
0x53, 0x20, 0xf1, 0xd0, 0x3b, 0x9f, 0x5a, 0xf3, 0xd9, 0xd8, 0x66, 0xf2, 0xf0, 0x22, 0x3f, 0x78,
0xb8, 0xf3, 0xe9, 0x31, 0x87, 0x90, 0x07, 0x20, 0x0f, 0x42, 0x62, 0xce, 0x2c, 0xc5, 0xb6, 0x1c,
0xc6, 0x35, 0xcc, 0xba, 0xa0, 0xe0, 0x07, 0xb5, 0x3b, 0xfa, 0x62, 0x69, 0xb2, 0x19, 0x86, 0x87,
0xf6, 0x68, 0xc1, 0xb4, 0xa0, 0x3c, 0xf3, 0x9d, 0x0b, 0x3b, 0xa4, 0xad, 0x65, 0xbe, 0x8f, 0x8b,
0x4f, 0xc6, 0xc0, 0x1d, 0xd7, 0x09, 0x1d, 0x3b, 0xf4, 0xfc, 0x16, 0x41, 0x5c, 0x04, 0x20, 0xf7,
0x61, 0x19, 0xe7, 0x49, 0x10, 0xda, 0xe1, 0x3c, 0x10, 0xa7, 0xc0, 0x15, 0x7e, 0xda, 0x62, 0x88,
0x01, 0xc2, 0xf1, 0x20, 0x48, 0x3e, 0x85, 0x75, 0x3e, 0x35, 0x52, 0x4b, 0x73, 0x95, 0x75, 0x07,
0xd6, 0x68, 0x05, 0x29, 0x76, 0xe2, 0x6b, 0xf4, 0x73, 0xd8, 0x10, 0xd3, 0x25, 0x95, 0x72, 0x4d,
0xa5, 0x5c, 0xe5, 0x24, 0x89, 0xa4, 0x5b, 0xb0, 0xcc, 0xaa, 0xe6, 0x8c, 0x2c, 0x91, 0x03, 0x5b,
0x15, 0xeb, 0xac, 0x15, 0x98, 0x68, 0x89, 0x23, 0x4d, 0xc4, 0x3d, 0xa5, 0x57, 0xe4, 0xbb, 0xb0,
0xc4, 0xa7, 0x0f, 0xaa, 0x3a, 0x70, 0x63, 0xde, 0xc4, 0x8d, 0x79, 0x4d, 0x74, 0xee, 0x8e, 0xc2,
0xe2, 0xde, 0xbc, 0x38, 0x8a, 0x7d, 0xb3, 0xa5, 0x31, 0x71, 0x4e, 0x29, 0xdb, 0x27, 0x5a, 0x1b,
0x7c, 0xb2, 0xc9, 0x6f, 0xb6, 0x6a, 0xe7, 0x33, 0xc4, 0xb4, 0x38, 0xb3, 0xe6, 0x5f, 0x38, 0x8f,
0x27, 0x5e, 0x40, 0xa5, 0xa6, 0xba, 0x75, 0x53, 0x2c, 0x48, 0x06, 0x94, 0x47, 0x16, 0x76, 0x26,
0xe6, 0x0a, 0x08, 0x65, 0x4f, 0xb8, 0x85, 0x13, 0xa3, 0xc1, 0xf5, 0x10, 0xd2, 0xa6, 0xc0, 0x84,
0xba, 0x73, 0xfb, 0xb9, 0x64, 0xeb, 0xaf, 0x21, 0x37, 0x01, 0x06, 0x12, 0x0c, 0x7d, 0x0f, 0x96,
0xc5, 0x28, 0x44, 0xcc, 0xb4, 0x75, 0x1b, 0xb7, 0xc8, 0x9b, 0xb2, 0x8d, 0x29, 0x6e, 0x6b, 0x36,
0xf9, 0xb8, 0x68, 0xfc, 0x77, 0x1f, 0x88, 0x1c, 0x14, 0x2d, 0xa3, 0xd7, 0x5f, 0x96, 0xd1, 0xb2,
0x18, 0xa6, 0x08, 0x64, 0xfc, 0x5e, 0x8e, 0x4b, 0x54, 0x82, 0x3a, 0xd0, 0x94, 0x3f, 0x9c, 0xaf,
0x59, 0x9e, 0x3b, 0xb9, 0x12, 0xac, 0x0e, 0x38, 0xa8, 0xef, 0x4e, 0x90, 0xd7, 0x38, 0xae, 0x4e,
0xc2, 0x37, 0xef, 0xba, 0x04, 0x22, 0xd1, 0x1d, 0xa8, 0xcd, 0xe6, 0x27, 0x13, 0x67, 0xc4, 0x49,
0x0a, 0x3c, 0x17, 0x0e, 0x42, 0x82, 0x37, 0xa0, 0x2e, 0xe6, 0x3a, 0xa7, 0x28, 0x22, 0x45, 0x4d,
0xc0, 0x90, 0x04, 0x85, 0x03, 0xea, 0x23, 0xb3, 0xab, 0x9b, 0xf8, 0xdb, 0xd8, 0x86, 0xd5, 0x78,
0xa5, 0x85, 0xe4, 0x72, 0x1f, 0x2a, 0x82, 0x93, 0x4a, 0xcd, 0xe9, 0x62, 0xbc, 0x37, 0x4c, 0x85,
0x37, 0xfe, 0x6d, 0x09, 0x56, 0x64, 0x1f, 0xb1, 0xc1, 0x1e, 0xcc, 0xa7, 0x53, 0xdb, 0xcf, 0x60,
0xd1, 0xb9, 0x17, 0xb3, 0xe8, 0x7c, 0x8a, 0x45, 0xc7, 0xf5, 0x62, 0x9c, 0xc3, 0xc7, 0xf5, 0x62,
0x6c, 0x76, 0xf1, 0xd3, 0xb8, 0x6e, 0xa0, 0x69, 0x08, 0xf0, 0x90, 0x1b, 0x82, 0x52, 0x1b, 0x4a,
0x29, 0x63, 0x43, 0xd1, 0xb7, 0x83, 0x85, 0xc4, 0x76, 0xf0, 0x06, 0xf0, 0x69, 0x2c, 0xe7, 0x63,
0x99, 0x1f, 0xd0, 0x11, 0x26, 0x26, 0xe4, 0x3b, 0xb0, 0x94, 0xe4, 0xc0, 0x9c, 0xd5, 0x2f, 0x66,
0xf0, 0x5f, 0x67, 0x4a, 0x51, 0xa8, 0xd1, 0x88, 0xab, 0x82, 0xff, 0x3a, 0x53, 0x7a, 0x80, 0x18,
0x49, 0xdf, 0x01, 0xe0, 0x65, 0xe3, 0x32, 0x06, 0x5c, 0xc6, 0x6f, 0x27, 0x66, 0xa6, 0xd6, 0xeb,
0x5b, 0xec, 0x63, 0xee, 0x53, 0x5c, 0xd7, 0x55, 0x4c, 0x89, 0x4b, 0xfa, 0x53, 0x58, 0xf4, 0x66,
0xd4, 0xb5, 0x22, 0x2e, 0x58, 0xc3, 0xac, 0x9a, 0x22, 0xab, 0xae, 0x84, 0x9b, 0x0d, 0x46, 0xa7,
0x3e, 0xc9, 0xe7, 0xbc, 0x93, 0xa9, 0x96, 0xb2, 0x7e, 0x4d, 0xca, 0x45, 0x24, 0x8c, 0x92, 0x7e,
0x84, 0xba, 0x27, 0x6f, 0x32, 0xe7, 0xd6, 0x9e, 0x06, 0xce, 0x23, 0xa9, 0xfe, 0x36, 0x15, 0xc6,
0xd4, 0xa9, 0x8c, 0xdf, 0xc8, 0x41, 0x4d, 0x6b, 0x03, 0x59, 0x83, 0xe5, 0x9d, 0x7e, 0xff, 0xa8,
0x63, 0xb6, 0x87, 0xdd, 0x2f, 0x3a, 0xd6, 0xce, 0x41, 0x7f, 0xd0, 0x69, 0xde, 0x60, 0xe0, 0x83,
0xfe, 0x4e, 0xfb, 0xc0, 0xda, 0xeb, 0x9b, 0x3b, 0x12, 0x9c, 0x23, 0xeb, 0x40, 0xcc, 0xce, 0x61,
0x7f, 0xd8, 0x89, 0xc1, 0xf3, 0xa4, 0x09, 0xf5, 0x6d, 0xb3, 0xd3, 0xde, 0xd9, 0x17, 0x90, 0x02,
0x59, 0x85, 0xe6, 0xde, 0x71, 0x6f, 0xb7, 0xdb, 0x7b, 0x62, 0xed, 0xb4, 0x7b, 0x3b, 0x9d, 0x83,
0xce, 0x6e, 0xb3, 0x48, 0x1a, 0x50, 0x6d, 0x6f, 0xb7, 0x7b, 0xbb, 0xfd, 0x5e, 0x67, 0xb7, 0x59,
0x32, 0xfe, 0x47, 0x0e, 0x20, 0xaa, 0x28, 0xe3, 0xab, 0x51, 0x55, 0x75, 0xeb, 0xea, 0x5a, 0xaa,
0x51, 0x9c, 0xaf, 0xfa, 0xb1, 0x6f, 0xf2, 0x10, 0xca, 0xde, 0x3c, 0x1c, 0x79, 0x53, 0x7e, 0x88,
0x58, 0x7c, 0xd8, 0x4a, 0xa5, 0xeb, 0x73, 0xbc, 0x29, 0x09, 0x63, 0x16, 0xd4, 0xc2, 0xcb, 0x2c,
0xa8, 0x71, 0x53, 0x2d, 0x97, 0xeb, 0x34, 0x53, 0xed, 0x6d, 0x80, 0xe0, 0x39, 0xa5, 0x33, 0x54,
0x5e, 0x89, 0x55, 0x50, 0x45, 0xc8, 0x90, 0x9d, 0x31, 0xff, 0x63, 0x0e, 0xd6, 0x70, 0x2e, 0x8d,
0x93, 0x4c, 0xec, 0x2e, 0xd4, 0x46, 0x9e, 0x37, 0xa3, 0x4c, 0xa8, 0x56, 0xf2, 0x9a, 0x0e, 0x62,
0x0c, 0x8a, 0x33, 0xe4, 0x53, 0xcf, 0x1f, 0x51, 0xc1, 0xc3, 0x00, 0x41, 0x7b, 0x0c, 0xc2, 0xd6,
0x90, 0x58, 0x84, 0x9c, 0x82, 0xb3, 0xb0, 0x1a, 0x87, 0x71, 0x92, 0x75, 0x58, 0x38, 0xf1, 0xa9,
0x3d, 0x3a, 0x17, 0xdc, 0x4b, 0x7c, 0x91, 0x6f, 0x47, 0x4a, 0xbc, 0x11, 0x5b, 0x13, 0x13, 0xca,
0x2b, 0x5f, 0x31, 0x97, 0x04, 0x7c, 0x47, 0x80, 0xd9, 0x3e, 0x6f, 0x9f, 0xd8, 0xee, 0xd8, 0x73,
0xe9, 0x58, 0x9c, 0xe5, 0x23, 0x80, 0x71, 0x04, 0xeb, 0xc9, 0xf6, 0x09, 0x7e, 0xf7, 0x89, 0xc6,
0xef, 0xf8, 0xd1, 0x77, 0xf3, 0xfa, 0x35, 0xa6, 0xf1, 0xbe, 0xff, 0x54, 0x84, 0x22, 0x3b, 0xf0,
0x5c, 0x7b, 0x36, 0xd2, 0xcf, 0xb6, 0x85, 0x94, 0x5d, 0x1d, 0x75, 0x85, 0x5c, 0x00, 0x13, 0x83,
0x85, 0x10, 0x14, 0xbc, 0x14, 0xda, 0xa7, 0xa3, 0x0b, 0x79, 0x66, 0x41, 0x88, 0x49, 0x47, 0x17,
0xa8, 0xb4, 0xb0, 0x43, 0x9e, 0x96, 0xf3, 0xab, 0x72, 0x60, 0x87, 0x98, 0x52, 0xa0, 0x30, 0x5d,
0x59, 0xa1, 0x30, 0x55, 0x0b, 0xca, 0x8e, 0x7b, 0xe2, 0xcd, 0x5d, 0xa9, 0xfa, 0x91, 0x9f, 0x68,
0xc6, 0x47, 0x4e, 0xca, 0xb6, 0x76, 0xce, 0x8d, 0x2a, 0x0c, 0x30, 0x64, 0x9b, 0xfb, 0x87, 0x50,
0x0d, 0xae, 0xdc, 0x91, 0xce, 0x83, 0x56, 0x45, 0xff, 0xb0, 0xd6, 0x6f, 0x0d, 0xae, 0xdc, 0x11,
0xce, 0xf8, 0x4a, 0x20, 0x7e, 0x91, 0x47, 0x50, 0x51, 0x86, 0x2f, 0xbe, 0x83, 0xdc, 0xd4, 0x53,
0x48, 0x6b, 0x17, 0xd7, 0x8f, 0x29, 0x52, 0xf2, 0x01, 0x2c, 0xa0, 0x02, 0x3c, 0x68, 0xd5, 0x31,
0x91, 0x3c, 0xf0, 0xb2, 0x6a, 0xa0, 0x05, 0x9d, 0x8e, 0xd1, 0x0c, 0x65, 0x0a, 0x32, 0xd6, 0x4d,
0xa7, 0x13, 0x7b, 0x26, 0xd4, 0xd1, 0x0d, 0x6e, 0x88, 0x66, 0x10, 0xae, 0x8b, 0xbe, 0x0b, 0x75,
0x34, 0x2a, 0x22, 0x8d, 0xcb, 0xe5, 0xd0, 0x82, 0x09, 0x0c, 0xb6, 0x37, 0xb1, 0x67, 0xbd, 0x60,
0xf3, 0x29, 0x34, 0x62, 0x95, 0xd1, 0xd5, 0x5c, 0x0d, 0xae, 0xe6, 0x7a, 0x4b, 0x57, 0x73, 0x45,
0x5b, 0xa1, 0x48, 0xa6, 0xab, 0xbd, 0x8e, 0xa0, 0x22, 0xfb, 0x82, 0xf1, 0x9c, 0xe3, 0xde, 0xd3,
0x5e, 0xff, 0xcb, 0x9e, 0x35, 0xf8, 0xaa, 0xb7, 0xd3, 0xbc, 0x41, 0x96, 0xa0, 0xd6, 0xde, 0x41,
0x36, 0x86, 0x80, 0x1c, 0x23, 0x39, 0x6a, 0x0f, 0x06, 0x0a, 0x92, 0x67, 0x24, 0x47, 0xdd, 0x5e,
0xaf, 0xb3, 0xcb, 0x01, 0x05, 0x63, 0x0f, 0x9a, 0xc9, 0xb6, 0xb3, 0x59, 0x1e, 0x4a, 0x98, 0x30,
0xf5, 0x45, 0x80, 0xc8, 0xa0, 0x90, 0xd7, 0x0c, 0x0a, 0xc6, 0x23, 0x68, 0xb2, 0x9d, 0x9e, 0x75,
0xbe, 0x6e, 0xe7, 0x9f, 0x30, 0x59, 0x5c, 0x37, 0xf7, 0x55, 0xcc, 0x1a, 0x87, 0x61, 0x51, 0xc6,
0x27, 0xb0, 0xac, 0x25, 0x8b, 0xb4, 0x44, 0x4c, 0x7a, 0x48, 0x6a, 0x89, 0xf0, 0xe4, 0xcf, 0x31,
0xc6, 0x06, 0xac, 0xb1, 0xcf, 0xce, 0x05, 0x75, 0xc3, 0xc1, 0xfc, 0x84, 0xbb, 0x87, 0x38, 0x9e,
0x6b, 0xfc, 0x5a, 0x0e, 0xaa, 0x0a, 0x73, 0xfd, 0xb2, 0xd9, 0x12, 0x0a, 0x25, 0xce, 0x27, 0x37,
0xb5, 0x12, 0x30, 0xe1, 0x16, 0xfe, 0x8d, 0x29, 0x96, 0xaa, 0x0a, 0x84, 0x9d, 0xd8, 0xe9, 0x98,
0x56, 0xbf, 0x77, 0xd0, 0xed, 0xb1, 0xdd, 0x82, 0xf5, 0x33, 0x02, 0xf6, 0xf6, 0x10, 0x92, 0x33,
0x9a, 0xb0, 0xf8, 0x84, 0x86, 0x5d, 0xf7, 0xd4, 0x13, 0x9d, 0x61, 0xfc, 0xf9, 0x05, 0x58, 0x52,
0xa0, 0x48, 0x31, 0x75, 0x41, 0xfd, 0xc0, 0xf1, 0x5c, 0x9c, 0x38, 0x55, 0x53, 0x7e, 0x32, 0x7e,
0x27, 0x8e, 0x6d, 0x28, 0x77, 0xac, 0x22, 0x56, 0x1c, 0xf4, 0x50, 0xe8, 0x78, 0x07, 0x96, 0x9c,
0x31, 0x75, 0x43, 0x27, 0xbc, 0xb2, 0x62, 0x6a, 0xfa, 0x45, 0x09, 0x16, 0x82, 0xc7, 0x2a, 0x94,
0xec, 0x89, 0x63, 0x4b, 0xb7, 0x1b, 0xfe, 0xc1, 0xa0, 0x23, 0x6f, 0xe2, 0xf9, 0x78, 0x90, 0xa9,
0x9a, 0xfc, 0x83, 0x3c, 0x80, 0x55, 0x76, 0xa8, 0xd2, 0xed, 0x4a, 0xc8, 0xb2, 0xb8, 0xc5, 0x80,
0xb8, 0xf3, 0xe9, 0x51, 0x64, 0x5b, 0x62, 0x18, 0x26, 0x6e, 0xb0, 0x14, 0x42, 0xbe, 0x54, 0x09,
0xb8, 0xa2, 0x64, 0xd9, 0x9d, 0x4f, 0xdb, 0x88, 0x51, 0xf4, 0x0f, 0x61, 0x8d, 0xd1, 0x2b, 0x89,
0x54, 0xa5, 0x58, 0xc2, 0x14, 0x2c, 0xb3, 0xae, 0xc0, 0xa9, 0x34, 0xb7, 0xa0, 0xca, 0x6b, 0xc5,
0xa6, 0x84, 0x30, 0x40, 0x61, 0x55, 0xa8, 0x1f, 0xa4, 0x3c, 0x64, 0xb8, 0x66, 0x20, 0xe9, 0x21,
0xa3, 0xf9, 0xd8, 0x54, 0x92, 0x3e, 0x36, 0x0f, 0x61, 0xed, 0x84, 0xcd, 0xd1, 0x73, 0x6a, 0x8f,
0xa9, 0x6f, 0x45, 0x33, 0x9f, 0x9f, 0x3f, 0x57, 0x18, 0x72, 0x1f, 0x71, 0x6a, 0xa1, 0x30, 0xd1,
0x90, 0x71, 0x22, 0x3a, 0xb6, 0x42, 0xcf, 0x42, 0x89, 0x51, 0xa8, 0x60, 0x1b, 0x1c, 0x3c, 0xf4,
0x76, 0x18, 0x30, 0x4e, 0x77, 0xe6, 0xdb, 0xb3, 0x73, 0x71, 0x3a, 0x54, 0x74, 0x4f, 0x18, 0x90,
0xbc, 0x06, 0x65, 0xb6, 0x26, 0x5c, 0xca, 0x1d, 0x0e, 0xf8, 0xb9, 0x4b, 0x82, 0xc8, 0x5b, 0xb0,
0x80, 0x65, 0x04, 0xad, 0x26, 0x2e, 0x88, 0x7a, 0xb4, 0x77, 0x38, 0xae, 0x29, 0x70, 0x4c, 0xfe,
0x9e, 0xfb, 0x0e, 0x67, 0x6c, 0x55, 0x13, 0x7f, 0x93, 0xef, 0x69, 0x5c, 0x72, 0x05, 0xd3, 0xbe,
0x25, 0xd2, 0x26, 0xa6, 0xe2, 0x75, 0x0c, 0xf3, 0x1b, 0x65, 0x5f, 0xdf, 0x2f, 0x56, 0x6a, 0xcd,
0xba, 0xd1, 0x42, 0xc7, 0x20, 0x93, 0x8e, 0xbc, 0x0b, 0xea, 0x5f, 0xc5, 0xd6, 0x48, 0x0e, 0x36,
0x52, 0xa8, 0xc8, 0x79, 0xc0, 0x17, 0x70, 0x6b, 0xea, 0x8d, 0xa5, 0x94, 0x50, 0x97, 0xc0, 0x43,
0x6f, 0xcc, 0xa4, 0x99, 0x65, 0x45, 0x74, 0xea, 0xb8, 0x4e, 0x70, 0x4e, 0xc7, 0x42, 0x58, 0x68,
0x4a, 0xc4, 0x9e, 0x80, 0x33, 0x91, 0x7c, 0xe6, 0x7b, 0x67, 0x6a, 0xef, 0xcc, 0x99, 0xea, 0xdb,
0xf8, 0x14, 0x4a, 0x7c, 0x04, 0xd9, 0x42, 0xc1, 0xf1, 0xcd, 0x89, 0x85, 0x82, 0xd0, 0x16, 0x94,
0x5d, 0x1a, 0x3e, 0xf7, 0xfc, 0x67, 0xd2, 0xd8, 0x26, 0x3e, 0x8d, 0x1f, 0xa3, 0x96, 0x55, 0x79,
0x78, 0x71, 0x6d, 0x04, 0x9b, 0xc2, 0x7c, 0x0a, 0x06, 0xe7, 0xb6, 0x50, 0xfc, 0x56, 0x10, 0x30,
0x38, 0xb7, 0x53, 0x53, 0x38, 0x9f, 0x76, 0xf2, 0x7a, 0x0b, 0x16, 0xa5, 0x4f, 0x59, 0x60, 0x4d,
0xe8, 0x69, 0x28, 0x96, 0x64, 0x5d, 0x38, 0x94, 0x05, 0x07, 0xf4, 0x34, 0x34, 0x0e, 0x61, 0x59,
0x2c, 0x9a, 0xfe, 0x8c, 0xca, 0xa2, 0x3f, 0xcb, 0x3a, 0x26, 0xd5, 0x1e, 0xae, 0xc4, 0xe5, 0x0f,
0x2e, 0xe9, 0xc5, 0xce, 0x4e, 0xc6, 0x0f, 0x22, 0x95, 0x22, 0x93, 0x4e, 0x44, 0x7e, 0xe2, 0xb0,
0x22, 0x6d, 0x94, 0xd2, 0x0f, 0x42, 0x1d, 0x89, 0x9c, 0x31, 0xeb, 0x9d, 0x60, 0x3e, 0x1a, 0x49,
0x5f, 0xbf, 0x8a, 0x29, 0x3f, 0x8d, 0x7f, 0x95, 0x83, 0x15, 0xcc, 0x4c, 0x1e, 0xf3, 0xc4, 0x4e,
0xf1, 0x13, 0x57, 0x92, 0x8d, 0x8f, 0x2e, 0x12, 0xf2, 0x8f, 0xaf, 0x6f, 0xb5, 0x29, 0xa6, 0xac,
0x36, 0xdf, 0x86, 0xe6, 0x98, 0x4e, 0x1c, 0x9c, 0x4a, 0x52, 0xc2, 0xe2, 0x22, 0xed, 0x92, 0x84,
0x0b, 0xb5, 0x83, 0xf1, 0x57, 0x72, 0xb0, 0xcc, 0x05, 0x38, 0x54, 0xe4, 0x88, 0x8e, 0x7a, 0x2c,
0x35, 0x16, 0x82, 0x9d, 0x8a, 0x36, 0x45, 0x82, 0x0d, 0x42, 0x39, 0xf1, 0xfe, 0x0d, 0xa1, 0xc9,
0x10, 0x50, 0xf2, 0x1d, 0x3c, 0x9a, 0xba, 0x16, 0x02, 0x85, 0x60, 0x7e, 0x33, 0x43, 0x64, 0x54,
0xc9, 0xd9, 0xb9, 0xd5, 0x45, 0xd0, 0x76, 0x05, 0x16, 0xb8, 0x5a, 0xcc, 0xd8, 0x83, 0x46, 0xac,
0x98, 0x98, 0xe9, 0xa7, 0xce, 0x4d, 0x3f, 0x29, 0xf3, 0x70, 0x3e, 0x6d, 0x1e, 0xbe, 0x82, 0x15,
0x93, 0xda, 0xe3, 0xab, 0x3d, 0xcf, 0x3f, 0x0a, 0x4e, 0xc2, 0x3d, 0x2e, 0x15, 0xb3, 0x3d, 0x48,
0x39, 0x84, 0xc4, 0xec, 0x2b, 0xd2, 0xf4, 0x2d, 0xf5, 0x32, 0xdf, 0x82, 0xc5, 0xc8, 0x73, 0x44,
0xd3, 0xc4, 0x37, 0x94, 0xf3, 0x08, 0x0a, 0x53, 0x04, 0x8a, 0xb3, 0xe0, 0x24, 0x14, 0xba, 0x78,
0xfc, 0x6d, 0xfc, 0xd5, 0x12, 0x10, 0x36, 0x9b, 0x13, 0x13, 0x26, 0xe1, 0xf3, 0x92, 0x4f, 0xf9,
0xbc, 0x3c, 0x00, 0xa2, 0x11, 0x48, 0x57, 0x9c, 0x82, 0x72, 0xc5, 0x69, 0x46, 0xb4, 0xc2, 0x13,
0xe7, 0x01, 0xac, 0x8a, 0x23, 0x46, 0xbc, 0xaa, 0x7c, 0x6a, 0x10, 0x7e, 0xd6, 0x88, 0xd5, 0x57,
0xfa, 0xbb, 0x48, 0xd5, 0x75, 0x81, 0xfb, 0xbb, 0x48, 0x0d, 0x93, 0x36, 0x01, 0x17, 0x5e, 0x3a,
0x01, 0xcb, 0xa9, 0x09, 0xa8, 0x69, 0x1b, 0x2b, 0x71, 0x6d, 0x63, 0x4a, 0x6f, 0xce, 0xe5, 0xe9,
0x98, 0xde, 0xfc, 0x1e, 0x34, 0xa5, 0xe6, 0x49, 0xe9, 0x34, 0x85, 0x13, 0x84, 0x50, 0x2e, 0x49,
0xad, 0x66, 0xcc, 0xc8, 0x57, 0x7b, 0x15, 0x6b, 0x63, 0x3d, 0xdb, 0xda, 0x98, 0xd6, 0xd1, 0x35,
0x32, 0x74, 0x74, 0x8f, 0x22, 0x1f, 0x87, 0xe0, 0xdc, 0x99, 0xa2, 0xe0, 0x13, 0x39, 0x69, 0x8a,
0x0e, 0x1e, 0x9c, 0x3b, 0x53, 0x53, 0x7a, 0x1b, 0xb1, 0x0f, 0xb2, 0x03, 0x77, 0x44, 0x7b, 0x32,
0x1c, 0x85, 0x78, 0x2f, 0x2c, 0xa1, 0xa4, 0xba, 0xc9, 0xc9, 0x0e, 0x13, 0x3e, 0x43, 0x89, 0x4e,
0x91, 0x6e, 0x26, 0x01, 0x57, 0xf4, 0xca, 0x4e, 0x39, 0xe4, 0x7e, 0x26, 0x01, 0x76, 0xb1, 0x7d,
0x69, 0x09, 0x25, 0x60, 0x70, 0x81, 0x72, 0x52, 0xc3, 0xac, 0x4d, 0xed, 0xcb, 0x03, 0x54, 0xf2,
0x05, 0x17, 0xc6, 0x9f, 0xe4, 0xa0, 0xc9, 0xa6, 0x66, 0x6c, 0xd5, 0x7f, 0x0e, 0xc8, 0x9f, 0x5e,
0x71, 0xd1, 0xd7, 0x18, 0xad, 0x5c, 0xf3, 0x9f, 0x02, 0x2e, 0x62, 0xcb, 0x9b, 0x51, 0x57, 0x2c,
0xf9, 0x56, 0x7c, 0xc9, 0x47, 0x6c, 0x7d, 0xff, 0x06, 0x3f, 0x25, 0x32, 0x08, 0xf9, 0x1c, 0xaa,
0x6c, 0xad, 0xe0, 0xc4, 0x15, 0x6e, 0xd0, 0x9b, 0xea, 0xe4, 0x9f, 0x5a, 0xb6, 0x2c, 0xe9, 0x4c,
0x7c, 0x66, 0x79, 0x11, 0x15, 0x33, 0xbc, 0x88, 0x34, 0x9e, 0xb2, 0x0f, 0xf0, 0x94, 0x5e, 0xb1,
0x4e, 0x08, 0x3d, 0x9f, 0xc9, 0x56, 0x6c, 0x79, 0x9d, 0xda, 0x53, 0x47, 0x68, 0x1f, 0x4b, 0x66,
0xf5, 0x19, 0xbd, 0xda, 0x43, 0x00, 0x9b, 0x5b, 0x0c, 0x1d, 0x31, 0x96, 0x92, 0x59, 0x79, 0x46,
0xaf, 0x38, 0x57, 0xb1, 0xa0, 0xf1, 0x94, 0x5e, 0xed, 0x52, 0x2e, 0xbc, 0x7b, 0x3e, 0xeb, 0x74,
0xdf, 0x7e, 0xce, 0xa4, 0xf5, 0x98, 0x97, 0x4b, 0xcd, 0xb7, 0x9f, 0x3f, 0xa5, 0x57, 0xd2, 0xe3,
0xa6, 0xcc, 0xf0, 0x13, 0x6f, 0x24, 0xc4, 0x0d, 0xa9, 0xf0, 0x89, 0x2a, 0x65, 0x2e, 0x3c, 0xc3,
0xdf, 0xc6, 0x1f, 0xe7, 0xa0, 0xc1, 0xea, 0x8f, 0x3b, 0x05, 0xce, 0x22, 0xe1, 0x36, 0x9b, 0x8b,
0xdc, 0x66, 0x1f, 0x0a, 0x46, 0xcb, 0xb7, 0x9d, 0xfc, 0xf5, 0xdb, 0x0e, 0x8e, 0x0d, 0xdf, 0x73,
0x3e, 0x84, 0x2a, 0x9f, 0x18, 0x8c, 0xf5, 0x14, 0x62, 0x03, 0x1c, 0x6b, 0x90, 0x59, 0x41, 0xb2,
0xa7, 0xdc, 0x05, 0x4f, 0xd3, 0xad, 0xf3, 0x2e, 0xae, 0xfa, 0x4a, 0xa3, 0x9e, 0x31, 0x0c, 0xa5,
0x6b, 0x5c, 0xf0, 0x74, 0xc5, 0xf5, 0x42, 0x52, 0x71, 0x6d, 0xb8, 0x50, 0x61, 0x43, 0x8d, 0x8d,
0xcd, 0xc8, 0x34, 0x97, 0x95, 0x29, 0x13, 0x4e, 0x6c, 0xb6, 0x4f, 0x31, 0xde, 0x9b, 0x17, 0xc2,
0x89, 0x1d, 0x50, 0x96, 0x11, 0xab, 0xb8, 0xeb, 0x59, 0xa8, 0x09, 0x16, 0x3a, 0xd2, 0x8a, 0x59,
0x75, 0xbd, 0x23, 0x0e, 0x30, 0xfe, 0x5c, 0x0e, 0x6a, 0xda, 0x9a, 0x45, 0xd3, 0x80, 0xea, 0x4e,
0xbe, 0xc0, 0xe3, 0x2b, 0x20, 0x36, 0x1e, 0xfb, 0x37, 0xcc, 0xc6, 0x28, 0x36, 0x40, 0x5b, 0x62,
0x2a, 0x63, 0xca, 0x7c, 0x4c, 0x1f, 0x25, 0xdb, 0x25, 0xe7, 0x2f, 0xfb, 0xbd, 0xbd, 0x00, 0x45,
0x46, 0x6a, 0x3c, 0x86, 0x65, 0xad, 0x1a, 0x5c, 0x5f, 0xf3, 0xaa, 0x1d, 0x60, 0xfc, 0xa2, 0x4a,
0xcc, 0xca, 0xe0, 0xb6, 0x76, 0xe9, 0xed, 0x48, 0xc7, 0xbc, 0x5f, 0x84, 0x57, 0x25, 0x07, 0x61,
0xcf, 0xbc, 0xa2, 0x03, 0x9e, 0xf1, 0xab, 0x39, 0x58, 0xd1, 0xb2, 0xdf, 0x73, 0x5c, 0x7b, 0xe2,
0xfc, 0x18, 0x65, 0x94, 0xc0, 0x39, 0x73, 0x13, 0x05, 0x70, 0xd0, 0xd7, 0x29, 0x80, 0x6d, 0x25,
0xdc, 0xbd, 0x9a, 0xbb, 0xe8, 0x8b, 0xed, 0x13, 0x10, 0x66, 0xda, 0xcf, 0x87, 0x97, 0xc6, 0x5f,
0xcb, 0xc3, 0xaa, 0xa8, 0x02, 0x7a, 0xc1, 0x3b, 0x4c, 0x34, 0x3d, 0x0c, 0xce, 0xc8, 0xe7, 0xd0,
0x60, 0xdd, 0x67, 0xf9, 0xf4, 0xcc, 0x09, 0x42, 0x2a, 0xdd, 0x00, 0x32, 0xb8, 0x31, 0x93, 0x50,
0x18, 0xa9, 0x29, 0x28, 0xc9, 0x63, 0xa8, 0x61, 0x52, 0xae, 0x32, 0x13, 0x63, 0xd5, 0x4a, 0x27,
0xe4, 0x63, 0xb1, 0x7f, 0xc3, 0x84, 0x20, 0x1a, 0x99, 0xc7, 0x50, 0xc3, 0x61, 0xbe, 0xc0, 0xbe,
0x4e, 0x30, 0xbb, 0xd4, 0x58, 0xb0, 0xc4, 0xb3, 0x68, 0x64, 0xda, 0xd0, 0xe0, 0xec, 0x4e, 0xf4,
0xa4, 0x70, 0x9d, 0xdd, 0x4c, 0x27, 0x97, 0x7d, 0xcd, 0x2a, 0x3f, 0xd3, 0xbe, 0xb7, 0xab, 0x50,
0x0e, 0x7d, 0xe7, 0xec, 0x8c, 0xfa, 0xc6, 0xba, 0xea, 0x1a, 0xc6, 0xc7, 0xe9, 0x20, 0xa4, 0x33,
0x76, 0xe6, 0x30, 0xfe, 0x59, 0x0e, 0x6a, 0x82, 0x33, 0xff, 0xc4, 0x1e, 0x06, 0x9b, 0x09, 0xe5,
0x6a, 0x55, 0xd3, 0xa5, 0xbe, 0x03, 0x4b, 0x53, 0x76, 0x40, 0x62, 0x07, 0xf8, 0x98, 0x7b, 0xc1,
0xa2, 0x04, 0x0b, 0xd9, 0x7f, 0x0b, 0x56, 0xf0, 0x28, 0x10, 0x58, 0xa1, 0x33, 0xb1, 0x24, 0x52,
0x5c, 0x05, 0x59, 0xe6, 0xa8, 0xa1, 0x33, 0x39, 0x14, 0x08, 0x26, 0x11, 0x07, 0xa1, 0x7d, 0x46,
0x05, 0x77, 0xe0, 0x1f, 0xec, 0xd0, 0x95, 0x38, 0xbb, 0xcb, 0x43, 0xd7, 0xff, 0x5e, 0x86, 0x8d,
0x14, 0x4a, 0x1c, 0xba, 0x94, 0x35, 0x77, 0xe2, 0x4c, 0x4f, 0x3c, 0x65, 0x4d, 0xc8, 0x69, 0xd6,
0xdc, 0x03, 0x86, 0x91, 0xd6, 0x04, 0x0a, 0x6b, 0x72, 0xca, 0xa2, 0x39, 0x40, 0x1d, 0xef, 0xf3,
0x78, 0xf8, 0xfc, 0x30, 0xbe, 0x0d, 0x26, 0x8b, 0x93, 0x70, 0x5d, 0xde, 0x5b, 0x99, 0xa5, 0x60,
0x01, 0xf9, 0xff, 0xa1, 0xa5, 0x56, 0x86, 0x38, 0x8b, 0x68, 0xba, 0x0a, 0x56, 0xd2, 0x7b, 0x2f,
0x29, 0x29, 0xa6, 0xa7, 0x45, 0x81, 0x70, 0x5d, 0x2e, 0x2a, 0x9e, 0xa1, 0x2a, 0xeb, 0x02, 0x5e,
0x97, 0x65, 0xe1, 0xd9, 0x22, 0x5d, 0x62, 0xf1, 0x95, 0xda, 0x86, 0x3a, 0xe8, 0x58, 0xb1, 0xe6,
0x2d, 0x91, 0xb1, 0x42, 0xe9, 0xe5, 0x9e, 0xc3, 0xfa, 0x73, 0xdb, 0x09, 0x65, 0x1b, 0x35, 0x55,
0x49, 0x09, 0xcb, 0x7b, 0xf8, 0x92, 0xf2, 0xbe, 0xe4, 0x89, 0x63, 0xa7, 0xad, 0xd5, 0xe7, 0x69,
0x60, 0xb0, 0xf9, 0x77, 0x0a, 0xb0, 0x18, 0xcf, 0x85, 0xb1, 0x1e, 0xb1, 0x5d, 0x49, 0x21, 0x5a,
0x48, 0xf6, 0xc2, 0xd2, 0xd5, 0xe3, 0xc2, 0x73, 0xda, 0x06, 0x97, 0xcf, 0xb0, 0xc1, 0xe9, 0xa6,
0xaf, 0xc2, 0xcb, 0x3c, 0x21, 0x8a, 0xaf, 0xe4, 0x09, 0x51, 0xca, 0xf2, 0x84, 0xf8, 0xe8, 0x5a,
0xd3, 0x39, 0x57, 0x60, 0x67, 0x9a, 0xcd, 0x1f, 0x5d, 0x6f, 0x36, 0xe7, 0x22, 0xf9, 0x75, 0x26,
0x73, 0xcd, 0xe0, 0x5f, 0xb9, 0xc6, 0x60, 0xa5, 0xb9, 0x00, 0x64, 0x98, 0xcc, 0xab, 0x5f, 0xc3,
0x64, 0xbe, 0xf9, 0xc7, 0x39, 0x20, 0xe9, 0xd5, 0x41, 0x9e, 0x70, 0xf3, 0xa6, 0x4b, 0x27, 0x82,
0x73, 0xbf, 0xff, 0x6a, 0x2b, 0x4c, 0x4e, 0x08, 0x99, 0x9a, 0x7c, 0x00, 0x2b, 0xfa, 0x85, 0x35,
0x5d, 0x15, 0xd1, 0x30, 0x89, 0x8e, 0x8a, 0x94, 0x6a, 0x9a, 0xdb, 0x49, 0xf1, 0xa5, 0x6e, 0x27,
0xa5, 0x97, 0xba, 0x9d, 0x2c, 0xc4, 0xdd, 0x4e, 0x36, 0xff, 0x65, 0x0e, 0x56, 0x32, 0x26, 0xf1,
0x37, 0xd7, 0x66, 0x36, 0xf7, 0x62, 0x6c, 0x2d, 0x2f, 0xe6, 0x9e, 0xce, 0xd1, 0x0e, 0xa4, 0x22,
0x96, 0x0d, 0x45, 0x20, 0x76, 0xaa, 0xfb, 0x2f, 0xe3, 0x2e, 0x51, 0x0a, 0x53, 0x4f, 0xbe, 0xf9,
0x77, 0xf3, 0x50, 0xd3, 0x90, 0xac, 0x17, 0xf9, 0x94, 0xd5, 0x1c, 0x32, 0xb9, 0x6c, 0x89, 0x8a,
0x14, 0xf4, 0xae, 0xc7, 0xc9, 0x89, 0x78, 0xbe, 0xb8, 0x84, 0x20, 0x89, 0x04, 0x5b, 0xb0, 0x22,
0x4d, 0xcf, 0x34, 0xf2, 0x1b, 0x17, 0x7b, 0x8d, 0xf0, 0x22, 0x10, 0x95, 0x44, 0xfa, 0x0f, 0xe4,
0x19, 0x37, 0x1a, 0x3b, 0xcd, 0x94, 0xb7, 0x2c, 0xfc, 0x17, 0xc4, 0x20, 0xb2, 0x79, 0xfe, 0x21,
0xac, 0x29, 0x07, 0x86, 0x58, 0x0a, 0x6e, 0x30, 0x22, 0xd2, 0x51, 0x41, 0x4b, 0xf2, 0x3d, 0xb8,
0x9d, 0xa8, 0x53, 0x22, 0x29, 0x77, 0x7c, 0xbb, 0x19, 0xab, 0x9d, 0x9e, 0xc3, 0xe6, 0x9f, 0x81,
0x46, 0x8c, 0x51, 0x7e, 0x73, 0x43, 0x9e, 0x54, 0x5e, 0xf1, 0x1e, 0xd5, 0x95, 0x57, 0x9b, 0xff,
0xb3, 0x00, 0x24, 0xcd, 0xab, 0x7f, 0x96, 0x55, 0x48, 0x4f, 0xcc, 0x42, 0xc6, 0xc4, 0xfc, 0x7f,
0x26, 0x3f, 0x44, 0x3a, 0x54, 0xcd, 0x7f, 0x80, 0x2f, 0xce, 0xa6, 0x42, 0xc8, 0x5a, 0x7c, 0x9a,
0xf4, 0xb2, 0xaa, 0xc4, 0xee, 0x5c, 0x6a, 0x02, 0x54, 0xc2, 0xd9, 0xea, 0x18, 0x16, 0x6c, 0x77,
0x74, 0xee, 0xf9, 0x82, 0x0f, 0xfe, 0xdc, 0xd7, 0xde, 0x3e, 0xb7, 0xda, 0x98, 0x1e, 0xa5, 0x36,
0x53, 0x64, 0x66, 0x7c, 0x08, 0x35, 0x0d, 0x4c, 0xaa, 0x50, 0x3a, 0xe8, 0x1e, 0x6e, 0xf7, 0x9b,
0x37, 0x48, 0x03, 0xaa, 0x66, 0x67, 0xa7, 0xff, 0x45, 0xc7, 0xec, 0xec, 0x36, 0x73, 0xa4, 0x02,
0xc5, 0x83, 0xfe, 0x60, 0xd8, 0xcc, 0x1b, 0x9b, 0xd0, 0x12, 0x39, 0xa6, 0xad, 0x49, 0xbf, 0x55,
0x54, 0x3a, 0x50, 0x44, 0x8a, 0x43, 0xfe, 0x47, 0x50, 0xd7, 0xc5, 0x1b, 0x31, 0x23, 0x12, 0x2e,
0x2c, 0xec, 0x78, 0xef, 0x69, 0xbc, 0x7a, 0x07, 0xb8, 0x03, 0xc3, 0x58, 0x25, 0xcb, 0xc7, 0xe4,
0xd6, 0x0c, 0x4b, 0x30, 0x9e, 0x8f, 0x62, 0xd3, 0xf0, 0xff, 0x83, 0xc5, 0xb8, 0xe5, 0x44, 0x70,
0xa4, 0xac, 0x23, 0x2b, 0x4b, 0x1d, 0x33, 0xa5, 0x90, 0xef, 0x41, 0x33, 0x69, 0x79, 0x11, 0xc2,
0xf3, 0x35, 0xe9, 0x97, 0x9c, 0xb8, 0x31, 0x86, 0xec, 0xc3, 0x6a, 0x96, 0x80, 0x87, 0xf3, 0xe3,
0x7a, 0x35, 0x07, 0x49, 0x0b, 0x71, 0xe4, 0x33, 0x61, 0x81, 0x2b, 0xe1, 0xf0, 0xbf, 0x15, 0x2f,
0x5f, 0xeb, 0xec, 0x2d, 0xfe, 0x4f, 0xb3, 0xc5, 0x5d, 0x00, 0x44, 0x30, 0xd2, 0x84, 0x7a, 0xff,
0xa8, 0xd3, 0xb3, 0x76, 0xf6, 0xdb, 0xbd, 0x5e, 0xe7, 0xa0, 0x79, 0x83, 0x10, 0x58, 0x44, 0x2f,
0x8c, 0x5d, 0x05, 0xcb, 0x31, 0x98, 0x30, 0x8d, 0x4a, 0x58, 0x9e, 0xac, 0x42, 0xb3, 0xdb, 0x4b,
0x40, 0x0b, 0xa4, 0x05, 0xab, 0x47, 0x1d, 0xee, 0xb8, 0x11, 0xcb, 0xb7, 0xc8, 0x0e, 0x0d, 0xa2,
0xb9, 0xec, 0xd0, 0xf0, 0xa5, 0x3d, 0x99, 0xd0, 0x50, 0xac, 0x03, 0x29, 0x4b, 0xff, 0xf5, 0x1c,
0xac, 0x25, 0x10, 0x91, 0xf9, 0x82, 0x4b, 0xd2, 0x71, 0x19, 0xba, 0x8e, 0x40, 0xb9, 0x9a, 0xde,
0x85, 0x65, 0xa5, 0x4d, 0x4b, 0xec, 0x4a, 0x4d, 0x85, 0x90, 0xc4, 0x1f, 0xc0, 0x8a, 0xa6, 0x94,
0x4b, 0xf0, 0x0a, 0xa2, 0xa1, 0x44, 0x02, 0x63, 0x0b, 0x16, 0x84, 0xe2, 0xb2, 0x09, 0x05, 0x79,
0x93, 0xa5, 0x68, 0xb2, 0x9f, 0x84, 0x40, 0x71, 0x1a, 0xf9, 0xff, 0xe2, 0x6f, 0x63, 0x43, 0x5d,
0x49, 0x4b, 0xb4, 0xf2, 0x57, 0x8b, 0xb0, 0x9e, 0xc4, 0x28, 0x8f, 0xf8, 0x72, 0xac, 0x81, 0xdc,
0x90, 0x25, 0x40, 0xe4, 0xe3, 0xc4, 0xec, 0x89, 0x35, 0x11, 0x49, 0xf5, 0x99, 0x22, 0x1b, 0xfa,
0x30, 0x29, 0x23, 0xf2, 0x29, 0xdf, 0x90, 0xb7, 0x00, 0xb0, 0x4d, 0x09, 0x91, 0xf1, 0xe3, 0x94,
0xc8, 0x58, 0xcc, 0x4a, 0x94, 0x90, 0x20, 0x3b, 0xb0, 0x11, 0x79, 0xba, 0xc6, 0xcb, 0x2c, 0x65,
0x25, 0x5f, 0x53, 0xd4, 0x07, 0x7a, 0xe1, 0x4f, 0xa0, 0x15, 0x65, 0x93, 0xa8, 0xc6, 0x42, 0x56,
0x3e, 0xeb, 0x8a, 0xdc, 0x8c, 0xd5, 0xe7, 0xfb, 0xb0, 0x19, 0xeb, 0xaf, 0x78, 0x95, 0xca, 0x59,
0x59, 0x6d, 0x68, 0x1d, 0x18, 0xab, 0xd4, 0x01, 0xdc, 0x8a, 0xe5, 0x95, 0xa8, 0x57, 0x25, 0x2b,
0xb3, 0x96, 0x96, 0x59, 0xac, 0x66, 0xc6, 0xef, 0x2c, 0x00, 0xf9, 0xc1, 0x9c, 0xfa, 0x57, 0x78,
0x51, 0x35, 0x78, 0x99, 0x0b, 0xbf, 0x54, 0xbc, 0xe5, 0x5f, 0xe9, 0xbe, 0x7a, 0xd6, 0x7d, 0xf1,
0xe2, 0xcb, 0xef, 0x8b, 0x97, 0x5e, 0x76, 0x5f, 0xfc, 0x4d, 0x68, 0x38, 0x67, 0xae, 0xc7, 0xf6,
0x35, 0x76, 0xac, 0x09, 0x5a, 0x0b, 0x77, 0x0b, 0xf7, 0xea, 0x66, 0x5d, 0x00, 0xd9, 0xa1, 0x26,
0x20, 0x8f, 0x23, 0x22, 0x3a, 0x3e, 0xc3, 0x98, 0x09, 0xfa, 0x8e, 0xd6, 0x19, 0x9f, 0x51, 0xa1,
0x67, 0xc4, 0x09, 0x2b, 0x13, 0x33, 0x78, 0x40, 0xde, 0x82, 0xc5, 0xc0, 0x9b, 0xb3, 0x53, 0xa2,
0xec, 0x06, 0x6e, 0x6e, 0xae, 0x73, 0xe8, 0x91, 0x74, 0x3e, 0x58, 0x99, 0x07, 0xd4, 0x9a, 0x3a,
0x41, 0xc0, 0x64, 0xed, 0x91, 0xe7, 0x86, 0xbe, 0x37, 0x11, 0x16, 0xe4, 0xe5, 0x79, 0x40, 0x0f,
0x39, 0x66, 0x87, 0x23, 0xc8, 0xc7, 0x51, 0x95, 0x66, 0xb6, 0xe3, 0x07, 0x2d, 0xc0, 0x2a, 0xc9,
0x96, 0xe2, 0x61, 0xcc, 0x76, 0x7c, 0x55, 0x17, 0xf6, 0x11, 0x24, 0xee, 0xb1, 0xd7, 0x92, 0xf7,
0xd8, 0x7f, 0x25, 0xfb, 0x1e, 0x3b, 0xf7, 0xa2, 0x7b, 0x20, 0xb2, 0x4e, 0x0f, 0xf1, 0xd7, 0xba,
0xce, 0x9e, 0xbe, 0x9e, 0xbf, 0xf8, 0x75, 0xae, 0xe7, 0x2f, 0x65, 0x5d, 0xcf, 0xff, 0x10, 0x6a,
0x78, 0x2b, 0xda, 0x3a, 0x47, 0x5f, 0x5a, 0x6e, 0x11, 0x6f, 0xea, 0xd7, 0xa6, 0xf7, 0x1d, 0x37,
0x34, 0xc1, 0x97, 0x3f, 0x83, 0xf4, 0x4d, 0xf9, 0xe5, 0x57, 0xba, 0x29, 0xff, 0xcd, 0x5c, 0x83,
0x17, 0xb7, 0xb7, 0xb7, 0xa0, 0x22, 0xc7, 0x89, 0x31, 0xdb, 0x53, 0xdf, 0x9b, 0x4a, 0x2b, 0x1c,
0xfb, 0x4d, 0x16, 0x21, 0x1f, 0x7a, 0x22, 0x71, 0x3e, 0xf4, 0x8c, 0x5f, 0x82, 0x9a, 0x36, 0xd5,
0xc8, 0x1b, 0x5c, 0x4d, 0xcd, 0x0e, 0xda, 0xe2, 0xa0, 0xc0, 0x7b, 0xb1, 0x2a, 0xa0, 0xdd, 0x31,
0xdb, 0x3c, 0xc6, 0x8e, 0x4f, 0x31, 0xa6, 0x85, 0xe5, 0xd3, 0x0b, 0xea, 0x07, 0xd2, 0x2a, 0xda,
0x54, 0x08, 0x93, 0xc3, 0x8d, 0x5f, 0x86, 0x95, 0xd8, 0xd8, 0x0a, 0xf6, 0xfd, 0x16, 0x2c, 0x60,
0xbf, 0x49, 0xd7, 0x9b, 0xf8, 0x75, 0x74, 0x81, 0xc3, 0xf8, 0x1d, 0xdc, 0xa0, 0x6b, 0xcd, 0x7c,
0xef, 0x04, 0x0b, 0xc9, 0x99, 0x35, 0x01, 0x3b, 0xf2, 0xbd, 0x13, 0xe3, 0x3f, 0x14, 0xa0, 0xb0,
0xef, 0xcd, 0x74, 0xff, 0xdb, 0x5c, 0xca, 0xff, 0x56, 0x68, 0x0f, 0x2c, 0xa5, 0x1d, 0x10, 0x07,
0x30, 0x34, 0x65, 0x4a, 0x0d, 0xc1, 0x3d, 0x58, 0x64, 0x7c, 0x22, 0xf4, 0x2c, 0x71, 0xef, 0x85,
0xef, 0x70, 0x7c, 0xf1, 0xd9, 0xd3, 0x70, 0xe8, 0xed, 0x71, 0x38, 0x59, 0x85, 0x82, 0x3a, 0x8b,
0x22, 0x9a, 0x7d, 0x92, 0x75, 0x58, 0xc0, 0xfb, 0x3a, 0xf2, 0xee, 0xb2, 0xf8, 0x22, 0xef, 0xc3,
0x4a, 0x3c, 0x5f, 0xce, 0x8a, 0x84, 0xa0, 0xab, 0x67, 0x8c, 0x3c, 0xe9, 0x26, 0x30, 0x3e, 0x12,
0xdd, 0x5e, 0x2e, 0x98, 0xe5, 0x53, 0x4a, 0x11, 0xa5, 0x31, 0xbd, 0x4a, 0x8c, 0xe9, 0xdd, 0x81,
0x5a, 0x38, 0xb9, 0xb0, 0x66, 0xf6, 0xd5, 0xc4, 0xb3, 0xe5, 0x25, 0x3d, 0x08, 0x27, 0x17, 0x47,
0x1c, 0x42, 0x3e, 0x00, 0x98, 0xce, 0x66, 0x62, 0xed, 0xa1, 0x79, 0x2e, 0x9a, 0xca, 0x87, 0x47,
0x47, 0x7c, 0xca, 0x99, 0xd5, 0xe9, 0x6c, 0xc6, 0x7f, 0x92, 0x5d, 0x58, 0xcc, 0x8c, 0x3b, 0x71,
0x5b, 0xde, 0x6a, 0xf0, 0x66, 0x5b, 0x19, 0x8b, 0xb3, 0x31, 0xd2, 0x61, 0x9b, 0xdf, 0x03, 0xf2,
0x53, 0x86, 0x76, 0x18, 0x42, 0x55, 0xd5, 0x2f, 0x15, 0x50, 0xa2, 0x96, 0x0a, 0x28, 0xc1, 0xf8,
0x22, 0x97, 0x7e, 0x14, 0xcb, 0x07, 0x4d, 0xfc, 0x11, 0xf7, 0x81, 0x8c, 0xff, 0x9c, 0x83, 0x12,
0x0f, 0xd3, 0xf0, 0x36, 0x2c, 0x71, 0x7a, 0xe5, 0xcb, 0x2c, 0x1c, 0x4e, 0xb8, 0x10, 0x35, 0x14,
0x6e, 0xcc, 0x6c, 0x59, 0x68, 0xd1, 0x6d, 0x22, 0x31, 0x42, 0x8b, 0x70, 0x73, 0x07, 0xaa, 0xaa,
0x68, 0x6d, 0xea, 0x54, 0x64, 0xc9, 0xe4, 0x75, 0x28, 0x9e, 0x7b, 0x33, 0xa9, 0xc6, 0x83, 0xa8,
0x27, 0x4d, 0x84, 0x47, 0x75, 0x61, 0x65, 0x44, 0xf7, 0x94, 0x0a, 0xa2, 0x2e, 0xac, 0x10, 0x79,
0x79, 0x3d, 0xd1, 0xc6, 0x85, 0x8c, 0x36, 0x1e, 0xc3, 0x12, 0xe3, 0x03, 0x9a, 0xd7, 0xcb, 0xf5,
0x9b, 0xe6, 0xb7, 0x99, 0xb8, 0x3e, 0x9a, 0xcc, 0xc7, 0x54, 0x57, 0xa4, 0xa2, 0x63, 0xaa, 0x80,
0xcb, 0x63, 0x92, 0xf1, 0x3b, 0x39, 0xce, 0x5f, 0x58, 0xbe, 0xe4, 0x1e, 0x14, 0x5d, 0xe9, 0x21,
0x13, 0x09, 0xe5, 0xea, 0x4e, 0x1f, 0xa3, 0x33, 0x91, 0x82, 0x0d, 0x1d, 0xfa, 0x95, 0xe8, 0xb9,
0x37, 0xcc, 0x9a, 0x3b, 0x9f, 0x2a, 0x3d, 0xe4, 0xb7, 0x64, 0xb3, 0x12, 0x3a, 0x3c, 0xde, 0x7a,
0xb5, 0x4c, 0xb7, 0x34, 0x0f, 0xd7, 0x62, 0x6c, 0xc7, 0x94, 0x22, 0xfd, 0xf8, 0x8c, 0x6a, 0x9e,
0xad, 0xbf, 0x9f, 0x87, 0x46, 0xac, 0x46, 0xe8, 0xe2, 0xcb, 0x36, 0x00, 0x6e, 0x67, 0x14, 0xe3,
0x8d, 0x9e, 0x94, 0xe2, 0xd4, 0xa5, 0xf5, 0x53, 0x3e, 0xd6, 0x4f, 0xca, 0xc5, 0xad, 0xa0, 0xbb,
0xb8, 0x3d, 0x80, 0x6a, 0x14, 0xd5, 0x28, 0x5e, 0x25, 0x56, 0x9e, 0xbc, 0xd9, 0x18, 0x11, 0x45,
0x4e, 0x71, 0x25, 0xdd, 0x29, 0xee, 0xbb, 0x9a, 0x0f, 0xd5, 0x02, 0x66, 0x63, 0x64, 0xf5, 0xe8,
0xcf, 0xc4, 0x83, 0xca, 0x78, 0x0c, 0x35, 0xad, 0xf2, 0xba, 0x1f, 0x52, 0x2e, 0xe6, 0x87, 0xa4,
0xee, 0x38, 0xe7, 0xa3, 0x3b, 0xce, 0xc6, 0xaf, 0xe7, 0xa1, 0xc1, 0xd6, 0x97, 0xe3, 0x9e, 0x1d,
0x79, 0x13, 0x67, 0x84, 0x76, 0x47, 0xb5, 0xc2, 0x84, 0xa0, 0x25, 0xd7, 0x99, 0x58, 0x62, 0x5c,
0xce, 0xd2, 0xe3, 0x68, 0x70, 0x26, 0xad, 0xe2, 0x68, 0x18, 0xd0, 0x60, 0x8c, 0x11, 0x2d, 0x88,
0x51, 0x6c, 0x24, 0xb3, 0x76, 0x4a, 0xe9, 0xb6, 0x1d, 0x70, 0x0e, 0xf9, 0x3e, 0xac, 0x30, 0x1a,
0xbc, 0x25, 0x3f, 0x75, 0x26, 0x13, 0x27, 0xba, 0x18, 0x58, 0x30, 0x9b, 0xa7, 0x94, 0x9a, 0x76,
0x48, 0x0f, 0x19, 0x42, 0x84, 0x52, 0xaa, 0x8c, 0x9d, 0xc0, 0x3e, 0x89, 0x1c, 0xb1, 0xd5, 0xb7,
0x34, 0xcc, 0x47, 0xbe, 0x0f, 0x0b, 0xe2, 0xce, 0x20, 0xb7, 0xdc, 0x63, 0xfa, 0xc4, 0x4c, 0x2a,
0x27, 0x67, 0x92, 0xf1, 0x0f, 0xf3, 0x50, 0xd3, 0xa6, 0xe5, 0xab, 0xec, 0xae, 0xb7, 0x53, 0x76,
0xe2, 0xaa, 0x6e, 0x12, 0x7e, 0x33, 0x5e, 0x64, 0x41, 0xdd, 0x1e, 0xd3, 0x27, 0xf0, 0x2d, 0xa8,
0xb2, 0x55, 0xf7, 0x21, 0xea, 0xd3, 0x45, 0x28, 0x33, 0x04, 0x1c, 0xcd, 0x4f, 0x24, 0xf2, 0x21,
0x22, 0x4b, 0x11, 0xf2, 0x21, 0x43, 0xbe, 0xe8, 0xf6, 0xc8, 0xa7, 0x50, 0x17, 0xb9, 0xe2, 0x98,
0x8a, 0x63, 0xc1, 0xaa, 0xb6, 0x73, 0xab, 0xf1, 0x36, 0x6b, 0xbc, 0x38, 0x3e, 0xf8, 0x22, 0xe1,
0x43, 0x99, 0xb0, 0xf2, 0xb2, 0x84, 0x0f, 0xf9, 0x87, 0xb1, 0xa7, 0x2e, 0xe4, 0xa0, 0xf7, 0xa2,
0xe4, 0x63, 0x1f, 0xc0, 0x8a, 0x64, 0x57, 0x73, 0xd7, 0x76, 0x5d, 0x6f, 0xee, 0x8e, 0xa8, 0xbc,
0x9c, 0x4c, 0x04, 0xea, 0x38, 0xc2, 0x18, 0x63, 0x15, 0x7d, 0x83, 0x7b, 0x41, 0xde, 0x87, 0x12,
0x97, 0xcb, 0xb9, 0xf0, 0x91, 0xcd, 0xb8, 0x38, 0x09, 0xb9, 0x07, 0x25, 0x2e, 0x9e, 0xe7, 0xaf,
0x65, 0x36, 0x9c, 0xc0, 0x68, 0x03, 0x61, 0x09, 0x0f, 0x69, 0xe8, 0x3b, 0xa3, 0x20, 0xba, 0xf7,
0x5c, 0x0a, 0xaf, 0x66, 0xa2, 0xac, 0x48, 0x0d, 0x1f, 0x51, 0xa2, 0xc2, 0x81, 0xd3, 0xb0, 0x8d,
0x69, 0x25, 0x96, 0x87, 0x10, 0x97, 0x26, 0xb0, 0x7e, 0x42, 0xc3, 0xe7, 0x94, 0xba, 0x2e, 0x13,
0x86, 0x46, 0xd4, 0x0d, 0x7d, 0x7b, 0xc2, 0x06, 0x89, 0xb7, 0xe0, 0x51, 0x2a, 0xd7, 0x48, 0xa1,
0xb5, 0x1d, 0x25, 0xdc, 0x51, 0xe9, 0x38, 0xef, 0x58, 0x3b, 0xc9, 0xc2, 0x6d, 0xfe, 0x22, 0x6c,
0x5e, 0x9f, 0x28, 0x23, 0x7a, 0xc2, 0xbd, 0x38, 0x57, 0x51, 0x46, 0xdd, 0x89, 0x67, 0x87, 0xbc,
0x36, 0x3a, 0x67, 0xe9, 0x41, 0x4d, 0xc3, 0x44, 0x7b, 0x7f, 0x0e, 0x85, 0x3b, 0xfe, 0xc1, 0x76,
0x24, 0xd7, 0xf3, 0xa7, 0x68, 0x44, 0x1d, 0x5b, 0x51, 0xee, 0x39, 0x73, 0x29, 0x82, 0xa3, 0xdf,
0x8d, 0xb1, 0x05, 0x4b, 0x28, 0xd9, 0x6b, 0x1b, 0xdd, 0x8b, 0x84, 0x41, 0x63, 0x15, 0x48, 0x8f,
0xf3, 0x2e, 0xdd, 0x23, 0xf4, 0x0f, 0x0b, 0x50, 0xd3, 0xc0, 0x6c, 0x37, 0x42, 0x37, 0x5a, 0x6b,
0xec, 0xd8, 0x53, 0x2a, 0x2d, 0xd6, 0x0d, 0xb3, 0x81, 0xd0, 0x5d, 0x01, 0x64, 0x7b, 0xb1, 0x7d,
0x71, 0x66, 0x79, 0xf3, 0xd0, 0x1a, 0xd3, 0x33, 0x9f, 0xca, 0x5a, 0xd6, 0xed, 0x8b, 0xb3, 0xfe,
0x3c, 0xdc, 0x45, 0x98, 0x0c, 0x37, 0xa3, 0x51, 0x15, 0x54, 0xb8, 0x99, 0x88, 0x4a, 0xb8, 0x1f,
0xf3, 0x99, 0x59, 0x54, 0xee, 0xc7, 0xfc, 0xb4, 0x98, 0xdc, 0x40, 0x4b, 0xe9, 0x0d, 0xf4, 0x63,
0x58, 0xe7, 0x1b, 0xa8, 0x60, 0xcd, 0x56, 0x62, 0x25, 0xaf, 0x22, 0x56, 0x34, 0x52, 0x13, 0x7b,
0x9b, 0xac, 0x05, 0x92, 0x2d, 0x05, 0xce, 0x8f, 0x39, 0x23, 0xcb, 0x99, 0xac, 0x65, 0x22, 0xf3,
0x81, 0xf3, 0x63, 0x2a, 0xc3, 0xdd, 0xc4, 0x28, 0xc5, 0xdd, 0xb0, 0xa9, 0xe3, 0x26, 0x29, 0xed,
0xcb, 0x38, 0x65, 0x55, 0x50, 0xda, 0x97, 0x3a, 0xe5, 0x23, 0xd8, 0x98, 0xd2, 0xb1, 0x63, 0xc7,
0xb3, 0xb5, 0x22, 0xc1, 0x6d, 0x95, 0xa3, 0xb5, 0x34, 0x03, 0x7e, 0x70, 0x67, 0xbd, 0xf1, 0x63,
0x6f, 0x7a, 0xe2, 0x70, 0x99, 0x85, 0x7b, 0x94, 0x15, 0xcd, 0x45, 0x77, 0x3e, 0xfd, 0x21, 0x82,
0x59, 0x92, 0xc0, 0x68, 0x40, 0x6d, 0x10, 0x7a, 0x33, 0x39, 0xcc, 0x8b, 0x50, 0xe7, 0x9f, 0xe2,
0x5e, 0xff, 0x2d, 0xb8, 0x89, 0x2c, 0x61, 0xe8, 0xcd, 0xbc, 0x89, 0x77, 0x76, 0x15, 0x53, 0xca,
0xfe, 0xf3, 0x1c, 0xac, 0xc4, 0xb0, 0x82, 0xbd, 0x7e, 0xcc, 0xf9, 0x99, 0xba, 0x13, 0x9c, 0x8b,
0x5d, 0x08, 0x63, 0xe3, 0xc5, 0x09, 0x39, 0x33, 0x93, 0xf7, 0x84, 0xdb, 0x51, 0x2c, 0x29, 0x99,
0x90, 0xb3, 0x94, 0x56, 0x9a, 0xa5, 0x88, 0xf4, 0x32, 0xca, 0x94, 0xcc, 0xe2, 0xe7, 0xc4, 0xfd,
0xbd, 0xb1, 0x68, 0x72, 0x21, 0x7e, 0xc3, 0x47, 0x57, 0xe0, 0xca, 0x1a, 0x44, 0x5a, 0xdd, 0xc0,
0xf8, 0xdd, 0x3c, 0x40, 0x54, 0x3b, 0xbc, 0x63, 0xa4, 0xe4, 0x96, 0x1c, 0x3a, 0x73, 0x6b, 0x32,
0xca, 0x1b, 0x50, 0x57, 0x7e, 0xff, 0x91, 0x24, 0x54, 0x93, 0x30, 0x26, 0x0e, 0xbd, 0x0b, 0x4b,
0x67, 0x13, 0xef, 0x04, 0x25, 0x56, 0x21, 0xb7, 0xa0, 0x4b, 0x08, 0xee, 0x47, 0x8b, 0x1c, 0xa5,
0xa2, 0xc1, 0x29, 0xd9, 0xa9, 0x98, 0x79, 0x3d, 0x20, 0x26, 0x09, 0x3d, 0x4e, 0x49, 0x42, 0x77,
0x52, 0x9d, 0xfb, 0xb3, 0x11, 0x83, 0xfe, 0x52, 0x5e, 0xb9, 0x3a, 0x47, 0xe3, 0xf2, 0xe2, 0xc3,
0xe6, 0x4f, 0xe2, 0xe8, 0xf5, 0x22, 0xcb, 0xf5, 0x63, 0x58, 0xf4, 0xf9, 0x16, 0x29, 0xf7, 0xcf,
0xe2, 0x0b, 0xf6, 0xcf, 0x86, 0x1f, 0x93, 0xbb, 0xbe, 0x0d, 0x4d, 0x7b, 0x7c, 0x41, 0xfd, 0xd0,
0x41, 0x43, 0x10, 0x4a, 0xeb, 0xc2, 0xb9, 0x58, 0x83, 0xa3, 0x58, 0xfc, 0x0e, 0x2c, 0x89, 0xc8,
0x17, 0x8a, 0x52, 0x44, 0x59, 0x8c, 0xc0, 0x8c, 0xd0, 0xf8, 0xfb, 0xd2, 0xb7, 0x3a, 0x3e, 0xd7,
0x5e, 0xdc, 0x2b, 0x7a, 0x0b, 0xf3, 0x69, 0xdb, 0xbc, 0x98, 0xd6, 0xc2, 0xbe, 0x24, 0xb8, 0x23,
0x07, 0x0a, 0xeb, 0x52, 0xbc, 0x5b, 0x8b, 0xaf, 0xd2, 0xad, 0xc6, 0xbf, 0xc8, 0x41, 0x79, 0xdf,
0x9b, 0xed, 0x3b, 0xfc, 0x86, 0x0e, 0x2e, 0x5a, 0x65, 0xfe, 0x5c, 0x60, 0x9f, 0xe8, 0x95, 0xf6,
0x82, 0x9b, 0xbb, 0x99, 0x42, 0x67, 0x23, 0x2e, 0x74, 0x7e, 0x17, 0x6e, 0xa1, 0x75, 0xd9, 0xf7,
0x66, 0x9e, 0xcf, 0x18, 0x87, 0x3d, 0xe1, 0xc2, 0xa7, 0xe7, 0x86, 0xe7, 0x92, 0x93, 0xdf, 0x3c,
0xa5, 0xf4, 0x48, 0xa3, 0x38, 0x54, 0x04, 0x78, 0x6b, 0x7f, 0x12, 0x5e, 0x58, 0x5c, 0x5f, 0x20,
0xa4, 0x63, 0xce, 0xdf, 0x97, 0x18, 0xa2, 0x83, 0x70, 0x94, 0x8f, 0x8d, 0xcf, 0xa0, 0xaa, 0x54,
0x4f, 0xe4, 0x5d, 0xa8, 0x9e, 0x7b, 0x33, 0xa1, 0x9f, 0xca, 0xc5, 0x6e, 0x37, 0x8b, 0x56, 0x9b,
0x95, 0x73, 0xfe, 0x23, 0x30, 0xfe, 0x4f, 0x19, 0xca, 0x5d, 0xf7, 0xc2, 0x73, 0x46, 0xe8, 0x9d,
0x3d, 0xa5, 0x53, 0x4f, 0x06, 0xe6, 0x61, 0xbf, 0xd1, 0x71, 0x30, 0x0a, 0x84, 0x58, 0x10, 0x8e,
0x83, 0x2a, 0x04, 0xe2, 0x1a, 0x2c, 0xf8, 0x7a, 0x24, 0xc3, 0x92, 0x8f, 0x77, 0x5a, 0xd4, 0xee,
0x5d, 0xd2, 0x02, 0x27, 0xb1, 0xbc, 0xb8, 0xe3, 0x2c, 0x76, 0x19, 0xbf, 0x79, 0x5f, 0x45, 0x08,
0x76, 0xd8, 0x6b, 0x50, 0x16, 0x5a, 0x68, 0x7e, 0xb5, 0x91, 0xeb, 0xee, 0x05, 0x08, 0x67, 0x83,
0x4f, 0xb9, 0x77, 0x80, 0x12, 0xab, 0x0b, 0x66, 0x5d, 0x02, 0x77, 0xd9, 0x5c, 0xbb, 0x03, 0x35,
0x4e, 0xcf, 0x49, 0x2a, 0xc2, 0xa9, 0x19, 0x41, 0x48, 0x90, 0x11, 0x33, 0xb4, 0x9a, 0x19, 0x33,
0x14, 0xdd, 0xef, 0x15, 0xcf, 0xe7, 0x4d, 0x04, 0x1e, 0x06, 0x52, 0x83, 0xcb, 0x40, 0xbc, 0x42,
0xc3, 0xc3, 0x83, 0x52, 0x48, 0x0d, 0xcf, 0x9b, 0xd0, 0x38, 0xb5, 0x27, 0x93, 0x13, 0x7b, 0xf4,
0x8c, 0x2b, 0x26, 0xea, 0x5c, 0x17, 0x2b, 0x81, 0xa8, 0x99, 0xb8, 0x03, 0x35, 0x6d, 0x94, 0xd1,
0x63, 0xb9, 0x68, 0x42, 0x34, 0xbe, 0x49, 0x7d, 0xe3, 0xe2, 0x2b, 0xe8, 0x1b, 0x35, 0xcf, 0xed,
0xa5, 0xb8, 0xe7, 0xf6, 0x2d, 0xe4, 0xed, 0xc2, 0x1f, 0xb6, 0xc9, 0x63, 0x0e, 0xda, 0xe3, 0x31,
0x0f, 0x13, 0xf3, 0x06, 0xd4, 0x45, 0xe7, 0x71, 0xfc, 0x32, 0x3f, 0xd9, 0x70, 0x18, 0x27, 0xb9,
0xcd, 0x95, 0xe6, 0x33, 0xdb, 0x19, 0xe3, 0x45, 0x22, 0x61, 0x5f, 0xb1, 0xa7, 0xe1, 0x91, 0xed,
0xa0, 0x27, 0xa0, 0x44, 0xe3, 0x5e, 0xbd, 0xc2, 0xfb, 0x5f, 0xa0, 0x07, 0x3c, 0xe4, 0x8a, 0xa2,
0x98, 0xaa, 0xa8, 0x12, 0x66, 0x4d, 0x90, 0xe0, 0x3c, 0xf8, 0x10, 0x1d, 0xc8, 0x42, 0x8a, 0x71,
0x23, 0x16, 0x1f, 0xde, 0x52, 0x7e, 0x2d, 0x38, 0x4b, 0xe5, 0x7f, 0x6e, 0x77, 0xe5, 0x94, 0x4c,
0xd4, 0xe4, 0xe6, 0xdf, 0xf5, 0x98, 0x34, 0x2e, 0x48, 0xd1, 0xfc, 0xcb, 0x09, 0xc8, 0x67, 0xda,
0x1e, 0xd2, 0x42, 0xe2, 0xd7, 0x12, 0xf9, 0x5f, 0x77, 0x75, 0xf3, 0x36, 0x80, 0x13, 0xb0, 0x3d,
0x2f, 0xa0, 0xee, 0x18, 0xc3, 0x3f, 0x54, 0xcc, 0xaa, 0x13, 0x3c, 0xe5, 0x80, 0x94, 0x16, 0x6a,
0x33, 0x1d, 0xd6, 0xf4, 0x1b, 0xdd, 0x82, 0xda, 0x50, 0xd7, 0x7b, 0x82, 0x54, 0xa0, 0xd8, 0x3f,
0xea, 0xf4, 0x9a, 0x37, 0x48, 0x0d, 0xca, 0x83, 0xce, 0x70, 0x78, 0x80, 0x76, 0xe6, 0x3a, 0x54,
0xd4, 0xfd, 0xef, 0x3c, 0xfb, 0x6a, 0xef, 0xec, 0x74, 0x8e, 0x86, 0x9d, 0xdd, 0x66, 0xe1, 0xfb,
0xc5, 0x4a, 0xbe, 0x59, 0x30, 0xfe, 0xb4, 0x00, 0x35, 0xad, 0xa3, 0x5e, 0xcc, 0xaf, 0xe3, 0x91,
0x86, 0xf2, 0xc9, 0x48, 0x43, 0xba, 0x51, 0x45, 0x44, 0x63, 0x92, 0x46, 0x95, 0x37, 0xa1, 0x21,
0x22, 0x22, 0x6a, 0xde, 0x02, 0x25, 0xb3, 0xce, 0x81, 0x82, 0x9b, 0x63, 0x34, 0x09, 0x24, 0xc2,
0x7b, 0xba, 0x22, 0x96, 0x19, 0x07, 0xe1, 0x4d, 0x5d, 0xbc, 0x66, 0x1d, 0x78, 0x93, 0x0b, 0xca,
0x29, 0xb8, 0x08, 0x5b, 0x13, 0xb0, 0xa1, 0x88, 0xd4, 0x21, 0x58, 0xa6, 0x16, 0xce, 0xa0, 0x64,
0xd6, 0x39, 0x50, 0x14, 0xf4, 0xbe, 0x9c, 0x63, 0xdc, 0x77, 0x6a, 0x23, 0x3d, 0x61, 0x62, 0xf3,
0xeb, 0x20, 0xa5, 0xf7, 0xac, 0xe2, 0xdc, 0xf9, 0x56, 0x3a, 0xdd, 0xcb, 0xf5, 0x9f, 0xe4, 0x5d,
0x20, 0xd3, 0xd9, 0xcc, 0xca, 0xd0, 0x48, 0x16, 0xcd, 0xa5, 0xe9, 0x6c, 0x36, 0xd4, 0x14, 0x76,
0xe4, 0x35, 0x28, 0xd8, 0xd3, 0x19, 0xb2, 0x96, 0x48, 0x3b, 0xd8, 0x3e, 0x3c, 0x32, 0x19, 0xf8,
0x1b, 0x50, 0xa5, 0xfe, 0x66, 0x0e, 0x0a, 0xed, 0xc3, 0x23, 0x64, 0xf4, 0x9e, 0x17, 0x5a, 0xc1,
0xb9, 0x2d, 0x82, 0x89, 0x31, 0x46, 0xef, 0x79, 0xe1, 0x80, 0x01, 0x18, 0xa3, 0x0f, 0x68, 0x18,
0xf9, 0x00, 0x97, 0x02, 0x1a, 0x72, 0x87, 0xf0, 0xd1, 0xb9, 0x33, 0x19, 0xc7, 0x42, 0x3b, 0x02,
0x82, 0xf8, 0x8c, 0x20, 0x50, 0xd4, 0xb6, 0x07, 0xfc, 0xcd, 0x2f, 0xbe, 0x89, 0x1d, 0x85, 0xbb,
0x99, 0xab, 0x6f, 0xe3, 0x2f, 0xe7, 0x80, 0xb4, 0x19, 0x47, 0xc2, 0x0e, 0x55, 0x27, 0xdd, 0x68,
0x9f, 0xc9, 0xe9, 0xfb, 0x4c, 0x06, 0x3b, 0xcf, 0x67, 0xb2, 0xf3, 0x97, 0x31, 0xbe, 0xd8, 0xd2,
0x5d, 0x4e, 0x2d, 0x5d, 0x63, 0x0f, 0x6a, 0x47, 0x5a, 0xa4, 0xdd, 0xbb, 0x6c, 0x57, 0x94, 0x31,
0x76, 0xf9, 0x7e, 0xc9, 0xb5, 0xba, 0xbe, 0x08, 0xad, 0xab, 0x55, 0x38, 0xaf, 0x55, 0xd8, 0xf8,
0xdb, 0x39, 0x1e, 0xe8, 0x4e, 0xb5, 0x2f, 0x0a, 0xee, 0x2b, 0x8d, 0xa3, 0x51, 0x18, 0x95, 0x9a,
0x34, 0x7f, 0x8a, 0x08, 0x28, 0x58, 0x7b, 0xcb, 0x3b, 0x3d, 0x0d, 0xa8, 0x74, 0x99, 0xaa, 0x21,
0xac, 0x8f, 0x20, 0x79, 0xfc, 0x61, 0x67, 0x2c, 0x87, 0xe7, 0x1f, 0x08, 0x3f, 0x29, 0x76, 0xfc,
0x39, 0xb4, 0x2f, 0x45, 0xa9, 0x01, 0x1b, 0x01, 0x61, 0xa1, 0x91, 0x61, 0x04, 0xd4, 0xb7, 0xf1,
0x37, 0x44, 0xa4, 0x97, 0xe4, 0x10, 0xdc, 0x87, 0x8a, 0xca, 0x35, 0x2e, 0x55, 0x48, 0x4a, 0x85,
0x67, 0xb2, 0x0b, 0xaa, 0xa3, 0x62, 0x35, 0xe6, 0xdc, 0x02, 0xad, 0x6c, 0x5d, 0xad, 0xd6, 0xef,
0x01, 0x39, 0x75, 0xfc, 0x24, 0x31, 0xe7, 0x1e, 0x4d, 0xc4, 0x68, 0xd4, 0xc6, 0x31, 0xac, 0x48,
0xb6, 0xa7, 0x9d, 0xc9, 0xe2, 0xe3, 0x9b, 0x7b, 0xc9, 0xc6, 0x96, 0x4f, 0x6d, 0x6c, 0xc6, 0x6f,
0x94, 0xa0, 0x2c, 0x03, 0x5b, 0x67, 0x45, 0x5a, 0xae, 0xc6, 0x23, 0x2d, 0xb7, 0x62, 0x81, 0x21,
0x71, 0xe8, 0x85, 0x8c, 0xf3, 0x4e, 0x52, 0x4c, 0xd1, 0xac, 0x45, 0x31, 0x51, 0x45, 0x58, 0x8b,
0x4a, 0x71, 0x6b, 0x51, 0x56, 0xf4, 0x69, 0x2e, 0x6e, 0xa7, 0xa2, 0x4f, 0xdf, 0x02, 0x2e, 0x3b,
0x69, 0xbe, 0xa2, 0x15, 0x04, 0x88, 0x50, 0x18, 0x9a, 0xa8, 0x55, 0x49, 0x8a, 0x5a, 0xaf, 0x2c,
0x06, 0x7d, 0x0c, 0x0b, 0x3c, 0x6a, 0x94, 0x08, 0x8b, 0x20, 0x37, 0x4b, 0xd1, 0x57, 0xf2, 0x3f,
0xbf, 0x82, 0x64, 0x0a, 0x5a, 0x3d, 0x5a, 0x69, 0x2d, 0x16, 0xad, 0x54, 0xb7, 0x62, 0xd5, 0xe3,
0x56, 0xac, 0x7b, 0xd0, 0x54, 0x1d, 0x87, 0x3a, 0x61, 0x37, 0x10, 0x37, 0xa0, 0x17, 0x25, 0x9c,
0xb1, 0xf7, 0x5e, 0x10, 0x6d, 0xf6, 0x8b, 0xb1, 0xcd, 0x9e, 0x31, 0xdf, 0x76, 0x18, 0xd2, 0xe9,
0x2c, 0x94, 0x9b, 0xbd, 0x16, 0xf0, 0x9b, 0x8f, 0x3c, 0xbf, 0xa2, 0x25, 0x87, 0x97, 0xcf, 0x8e,
0x6d, 0x58, 0x3c, 0xb5, 0x9d, 0xc9, 0xdc, 0xa7, 0x96, 0x4f, 0xed, 0xc0, 0x73, 0x91, 0x3f, 0x44,
0x72, 0x87, 0x68, 0xe2, 0x1e, 0xa7, 0x31, 0x91, 0xc4, 0x6c, 0x9c, 0xea, 0x9f, 0x78, 0xd1, 0x51,
0xef, 0x09, 0xb6, 0x07, 0x8b, 0xe0, 0x08, 0xdc, 0xf5, 0xab, 0xdb, 0xb3, 0xf6, 0x0e, 0xba, 0x4f,
0xf6, 0x87, 0xcd, 0x1c, 0xfb, 0x1c, 0x1c, 0xef, 0xec, 0x74, 0x3a, 0xbb, 0xb8, 0x27, 0x03, 0x2c,
0xec, 0xb5, 0xbb, 0x07, 0x62, 0x47, 0x2e, 0x36, 0x4b, 0xc6, 0x1f, 0xe6, 0xa1, 0xa6, 0xb5, 0x06,
0xc3, 0x9e, 0xf0, 0x9f, 0x8c, 0xff, 0x96, 0x45, 0xd8, 0x13, 0x0e, 0xe9, 0x8e, 0xc9, 0x23, 0x35,
0x46, 0x3c, 0x5a, 0xcb, 0xed, 0x74, 0x87, 0x6c, 0xc9, 0x1d, 0x4d, 0x1b, 0x24, 0x15, 0xf9, 0x3b,
0x7f, 0x6d, 0xe4, 0x6f, 0xf2, 0x36, 0x2c, 0xc9, 0x92, 0xe5, 0x98, 0x08, 0xeb, 0x8b, 0x00, 0x8b,
0x21, 0x79, 0x5b, 0x44, 0x8e, 0x11, 0xdb, 0x32, 0xa3, 0x2b, 0x4a, 0x17, 0x69, 0xb5, 0x33, 0xe3,
0xd0, 0x95, 0x45, 0xc7, 0x09, 0x6f, 0x09, 0x25, 0xe0, 0x88, 0xee, 0x94, 0xe8, 0xd8, 0x1e, 0xb1,
0x90, 0xd8, 0x23, 0x3e, 0x01, 0x88, 0xda, 0x13, 0xef, 0xdd, 0x1b, 0xf1, 0xde, 0xcd, 0x69, 0xbd,
0x9b, 0x37, 0xfe, 0x9e, 0xe0, 0x6c, 0x62, 0xa8, 0x94, 0x2e, 0xf6, 0x7d, 0x90, 0xda, 0x61, 0x0b,
0xaf, 0x54, 0xcc, 0x26, 0x34, 0x94, 0xf7, 0xbb, 0x97, 0x05, 0xa6, 0xab, 0x10, 0x29, 0x4e, 0x9c,
0x4f, 0x73, 0xe2, 0x37, 0xa0, 0x8e, 0xa1, 0x08, 0x45, 0x41, 0x82, 0x9b, 0xd5, 0xa6, 0xf6, 0xa5,
0x2c, 0x3b, 0xc6, 0x82, 0x8b, 0x09, 0x16, 0xfc, 0x37, 0x73, 0x3c, 0x6e, 0x55, 0x54, 0xd1, 0x88,
0x07, 0xab, 0x3c, 0xe3, 0x3c, 0x58, 0x90, 0x9a, 0x0a, 0x7f, 0x0d, 0x5f, 0xcd, 0x67, 0xf3, 0xd5,
0x6c, 0x8e, 0x5d, 0xc8, 0xe4, 0xd8, 0xc6, 0x25, 0xb4, 0x76, 0x29, 0xeb, 0x8a, 0xf6, 0x64, 0x92,
0xec, 0xcb, 0x07, 0xb0, 0xca, 0x86, 0x10, 0x5d, 0x45, 0x38, 0x46, 0xdf, 0xd1, 0x08, 0xc7, 0xc9,
0x44, 0xb8, 0xb1, 0xdd, 0x87, 0x65, 0x91, 0x02, 0x17, 0xad, 0x1e, 0x24, 0x6c, 0x89, 0x23, 0xd0,
0x63, 0x93, 0xd1, 0x1a, 0xb7, 0xe0, 0x66, 0x46, 0xc9, 0x42, 0x69, 0xf7, 0x9b, 0x39, 0x58, 0x6b,
0xf3, 0x60, 0x38, 0xdf, 0xd8, 0xf5, 0xee, 0xcf, 0xe1, 0xa6, 0xba, 0x7d, 0xa1, 0xdd, 0x1a, 0xd5,
0x2b, 0x29, 0x2f, 0x6e, 0x68, 0x77, 0x8e, 0xb0, 0xae, 0x2d, 0x58, 0x4f, 0xd6, 0x46, 0x54, 0x74,
0x0f, 0x96, 0x77, 0xe9, 0xc9, 0xfc, 0xec, 0x80, 0x5e, 0x44, 0x75, 0x24, 0x50, 0x0c, 0xce, 0xbd,
0xe7, 0xa2, 0xa3, 0xf0, 0x37, 0xba, 0x67, 0x33, 0x1a, 0x2b, 0x98, 0xd1, 0x91, 0x34, 0xfa, 0x20,
0x64, 0x30, 0xa3, 0x23, 0xe3, 0x11, 0x10, 0x3d, 0x1f, 0x31, 0x47, 0xd8, 0x19, 0x78, 0x7e, 0x62,
0x05, 0x57, 0x41, 0x48, 0xa7, 0xf2, 0x46, 0x34, 0x04, 0xf3, 0x93, 0x01, 0x87, 0x18, 0xef, 0x40,
0xfd, 0xc8, 0xbe, 0x32, 0xe9, 0x8f, 0xc4, 0xc5, 0xe3, 0x0d, 0x28, 0xcf, 0xec, 0x2b, 0xb6, 0x11,
0x28, 0xfb, 0x2f, 0xa2, 0x8d, 0xdf, 0x2d, 0xc2, 0x02, 0xa7, 0x24, 0x77, 0xf9, 0xa3, 0x20, 0x8e,
0x8b, 0x8c, 0x58, 0x6e, 0x89, 0x1a, 0x28, 0xb5, 0x6b, 0xe6, 0xd3, 0xbb, 0xa6, 0x50, 0x56, 0xcb,
0x48, 0x8b, 0xd2, 0x52, 0xe7, 0xce, 0xa7, 0x32, 0xbc, 0x62, 0x3c, 0xf4, 0x4b, 0x31, 0x7a, 0x4c,
0x86, 0x87, 0xbd, 0x88, 0xfb, 0x52, 0x44, 0x27, 0x6d, 0x5e, 0x3b, 0x29, 0x0c, 0x88, 0x0d, 0x53,
0x07, 0x65, 0x1e, 0xe7, 0xcb, 0xf2, 0x36, 0x7d, 0xfc, 0x38, 0x9f, 0x3a, 0xb6, 0x57, 0x5e, 0x7e,
0x6c, 0xe7, 0x5a, 0xec, 0x17, 0x1c, 0xdb, 0xe1, 0x15, 0x8e, 0xed, 0xaf, 0xe0, 0xc7, 0x70, 0x13,
0x2a, 0x28, 0xe1, 0x69, 0xfb, 0x27, 0x93, 0xec, 0xd8, 0xfe, 0xf9, 0xa9, 0x76, 0xb0, 0xe5, 0x4e,
0x54, 0xda, 0x06, 0x66, 0xd2, 0x1f, 0xfd, 0x6c, 0x14, 0xa3, 0x5f, 0x41, 0x59, 0x40, 0xd9, 0x84,
0x76, 0xed, 0xa9, 0x8c, 0x27, 0x8c, 0xbf, 0x59, 0xb7, 0x61, 0x84, 0xcd, 0x1f, 0xcd, 0x1d, 0x9f,
0x8e, 0x65, 0x9c, 0x3f, 0x07, 0xb9, 0x07, 0x83, 0xb0, 0x06, 0xb2, 0x43, 0xb6, 0x2b, 0xdf, 0x03,
0xa8, 0x98, 0x65, 0x27, 0x78, 0xca, 0x3e, 0x0d, 0x02, 0x4d, 0x8c, 0x88, 0x3e, 0xf3, 0x7c, 0x29,
0x9e, 0x18, 0xbf, 0x97, 0x83, 0xa6, 0x58, 0x5d, 0x0a, 0xa7, 0x1f, 0x60, 0x4b, 0xd7, 0xf9, 0xfc,
0xbc, 0x38, 0x6a, 0x9f, 0x01, 0x0d, 0x54, 0xed, 0x29, 0x59, 0x85, 0xab, 0x26, 0x6b, 0x0c, 0xb8,
0x27, 0xe4, 0x95, 0xd7, 0xa1, 0x26, 0x2f, 0x8f, 0x4c, 0x9d, 0x89, 0x7c, 0x37, 0x8a, 0xdf, 0x1e,
0x39, 0x74, 0x26, 0x52, 0xd4, 0xf1, 0x6d, 0x11, 0xdd, 0x21, 0x87, 0xa2, 0x8e, 0x69, 0x87, 0xd4,
0xf8, 0x83, 0x1c, 0x2c, 0x6b, 0x4d, 0x11, 0xeb, 0xf6, 0x3b, 0x50, 0x57, 0xef, 0x34, 0x50, 0x25,
0x63, 0x6f, 0xc4, 0x79, 0x54, 0x94, 0xac, 0x36, 0x52, 0x90, 0x80, 0x55, 0x66, 0x6c, 0x5f, 0xf1,
0x1b, 0x0e, 0xf3, 0xa9, 0x3c, 0x97, 0x8f, 0xed, 0xab, 0x3d, 0x4a, 0x07, 0xf3, 0x29, 0xb9, 0x0b,
0xf5, 0xe7, 0x94, 0x3e, 0x53, 0x04, 0x9c, 0xb1, 0x03, 0x83, 0x09, 0x0a, 0x03, 0x1a, 0x53, 0xcf,
0x0d, 0xcf, 0x15, 0x89, 0x38, 0x5f, 0x20, 0x90, 0xd3, 0x18, 0xff, 0x3a, 0x0f, 0x2b, 0x5c, 0x81,
0x2c, 0xcc, 0x08, 0x82, 0x75, 0xb5, 0x60, 0x81, 0x6b, 0xf5, 0x39, 0xf3, 0xda, 0xbf, 0x61, 0x8a,
0x6f, 0xf2, 0xf1, 0x2b, 0x2a, 0xbd, 0x65, 0x00, 0x89, 0x6b, 0xba, 0xbf, 0x90, 0xee, 0xfe, 0xeb,
0xbb, 0x37, 0xcb, 0xa9, 0xa0, 0x94, 0xe5, 0x54, 0xf0, 0x2a, 0xa6, 0xfc, 0x54, 0xa8, 0x83, 0x72,
0x3a, 0x44, 0xf0, 0x23, 0xd8, 0x88, 0xd1, 0x20, 0xb7, 0x76, 0x4e, 0x1d, 0x15, 0x7f, 0x7e, 0x55,
0xa3, 0x1e, 0x48, 0xdc, 0x76, 0x19, 0x4a, 0xc1, 0xc8, 0x9b, 0x51, 0x63, 0x1d, 0x56, 0xe3, 0xbd,
0x2a, 0xb6, 0x89, 0xdf, 0xce, 0x41, 0x6b, 0x2f, 0x8a, 0xb5, 0xec, 0x04, 0xa1, 0xe7, 0xab, 0x90,
0xfd, 0xb7, 0x01, 0xf8, 0x1b, 0x56, 0xa8, 0x06, 0x11, 0x41, 0xb2, 0x10, 0x82, 0x4a, 0x90, 0x9b,
0x50, 0xa1, 0xee, 0x98, 0x23, 0xf9, 0x6c, 0x28, 0x53, 0x77, 0x2c, 0x55, 0x28, 0xa9, 0x4d, 0xbe,
0x11, 0x17, 0x5f, 0x44, 0xb8, 0x17, 0xd6, 0x3b, 0xf4, 0x02, 0x85, 0x8d, 0xa2, 0x0a, 0xf7, 0x72,
0x68, 0x5f, 0xa2, 0x77, 0x7c, 0x60, 0xfc, 0x83, 0x3c, 0x2c, 0x45, 0xf5, 0xe3, 0x01, 0xaf, 0xee,
0xa6, 0x42, 0x77, 0x09, 0x7f, 0x28, 0xc5, 0xc3, 0xef, 0x8a, 0x29, 0xe1, 0xb0, 0xd3, 0x9a, 0xa6,
0x5a, 0xaf, 0xf0, 0x05, 0xda, 0x75, 0x89, 0x01, 0x35, 0x49, 0xe1, 0xcd, 0x43, 0x2d, 0xb4, 0x71,
0x95, 0x93, 0xf4, 0xe7, 0x21, 0x3b, 0x5e, 0xdb, 0x53, 0x26, 0xad, 0x88, 0x03, 0x6e, 0xc9, 0x9e,
0x86, 0x5d, 0x7c, 0x2c, 0x8d, 0x81, 0x59, 0x32, 0x3e, 0x98, 0x8c, 0x8a, 0xd1, 0x37, 0xf9, 0x69,
0x8b, 0x8f, 0x1e, 0x9e, 0xb4, 0xf4, 0xa3, 0x08, 0x7f, 0xbc, 0x45, 0x1d, 0x45, 0x5e, 0x87, 0x1a,
0xcf, 0x3c, 0x8a, 0x6e, 0x81, 0x71, 0x06, 0xc3, 0xae, 0x8b, 0x78, 0xa1, 0xe6, 0xf4, 0xe6, 0x31,
0xcd, 0x0d, 0xf0, 0xa2, 0xe4, 0x8b, 0x57, 0xaa, 0xc5, 0x96, 0x32, 0x42, 0xd6, 0x14, 0xac, 0x17,
0x30, 0x69, 0xe5, 0x66, 0xc6, 0xe8, 0x0a, 0x66, 0xb0, 0x03, 0x5a, 0x60, 0x6e, 0x39, 0x08, 0x9c,
0x23, 0xac, 0x4b, 0xee, 0x1b, 0xef, 0x7a, 0xb3, 0x79, 0x1a, 0x07, 0x44, 0xa7, 0x70, 0x3e, 0xd0,
0xb1, 0xf0, 0x2a, 0x28, 0xd3, 0xf1, 0xd1, 0xe6, 0x07, 0xe0, 0x23, 0xd8, 0xec, 0x5c, 0x32, 0xc6,
0xa2, 0x1c, 0xeb, 0x47, 0xcf, 0xe6, 0xd2, 0x3e, 0x9a, 0xb0, 0xb2, 0xe4, 0x5e, 0xc9, 0xca, 0x32,
0xe6, 0xc1, 0x0f, 0x54, 0x5e, 0x3f, 0x49, 0x26, 0x5c, 0xbf, 0x64, 0xbb, 0xd6, 0x09, 0x66, 0x21,
0xe3, 0xac, 0x30, 0x10, 0xcf, 0xd4, 0x08, 0x60, 0xe9, 0x70, 0x3e, 0x09, 0x9d, 0x1d, 0x05, 0x22,
0x1f, 0x8b, 0x34, 0x58, 0x8e, 0xec, 0xb5, 0xcc, 0x82, 0x40, 0x15, 0x84, 0x9d, 0x35, 0x65, 0x19,
0x59, 0xe9, 0xf2, 0x96, 0xa6, 0xf1, 0x12, 0x8c, 0x9b, 0xb0, 0x11, 0x7d, 0xf1, 0x6e, 0x93, 0x3b,
0xd2, 0xdf, 0xca, 0xf1, 0x1b, 0x3b, 0x1c, 0x37, 0x70, 0xed, 0x59, 0x70, 0xee, 0x85, 0xa4, 0x03,
0x2b, 0x81, 0xe3, 0x9e, 0x4d, 0xa8, 0x9e, 0x7d, 0x20, 0x3a, 0x61, 0x2d, 0x5e, 0x37, 0x9e, 0x34,
0x30, 0x97, 0x79, 0x8a, 0x28, 0xb7, 0x80, 0x6c, 0x5f, 0x57, 0xc9, 0x68, 0x5a, 0x24, 0x7a, 0x23,
0x5d, 0xf9, 0x2e, 0x2c, 0xc6, 0x0b, 0x22, 0x9f, 0x8a, 0x98, 0x21, 0x51, 0xad, 0x0a, 0x89, 0x88,
0x09, 0xd1, 0x84, 0xa8, 0x45, 0x7d, 0x1f, 0x18, 0x7f, 0x31, 0x07, 0x2d, 0x93, 0xb2, 0x99, 0xab,
0xd5, 0x52, 0xce, 0x99, 0xef, 0xa4, 0x72, 0xbd, 0xbe, 0xad, 0x32, 0x14, 0x89, 0xac, 0xd1, 0x7b,
0xd7, 0x0e, 0xc6, 0xfe, 0x8d, 0x54, 0x8b, 0xb6, 0x2b, 0xb0, 0xc0, 0x49, 0x8c, 0x0d, 0x58, 0x13,
0xf5, 0x91, 0x75, 0x89, 0x0c, 0xfa, 0xb1, 0x12, 0x63, 0x06, 0xfd, 0x4d, 0x68, 0xf1, 0xab, 0xfd,
0x7a, 0x23, 0x44, 0xc2, 0x5d, 0x20, 0x87, 0xf6, 0xc8, 0xf6, 0x3d, 0xcf, 0x3d, 0xa2, 0xbe, 0x70,
0x99, 0x47, 0x41, 0x14, 0xed, 0xdd, 0x52, 0x62, 0xe6, 0x5f, 0x32, 0xe6, 0xbb, 0xe7, 0x4a, 0x0f,
0x41, 0xfe, 0x65, 0xf8, 0xb0, 0xb2, 0x6d, 0x3f, 0xa3, 0x32, 0x27, 0xd9, 0x45, 0x8f, 0xa1, 0x36,
0x53, 0x99, 0xca, 0x7e, 0x97, 0x61, 0x96, 0xd2, 0xc5, 0x9a, 0x3a, 0x35, 0xe3, 0x52, 0xa8, 0xb0,
0xc5, 0x00, 0x27, 0x63, 0xb9, 0xe7, 0x33, 0xd0, 0x53, 0x7a, 0xd5, 0x1d, 0x1b, 0x0f, 0x61, 0x35,
0x5e, 0xa6, 0x60, 0x2d, 0x9b, 0x50, 0x99, 0x0a, 0x98, 0xa8, 0xbd, 0xfa, 0x66, 0x67, 0x16, 0x76,
0xee, 0x94, 0x69, 0xba, 0xbb, 0xea, 0x96, 0xfe, 0x63, 0xd8, 0x48, 0x61, 0x44, 0x86, 0x77, 0xa1,
0xae, 0x55, 0x84, 0x37, 0xa3, 0x68, 0x82, 0xaa, 0x49, 0x60, 0x7c, 0x0e, 0x1b, 0xfc, 0xd8, 0x16,
0x25, 0x97, 0x5d, 0x90, 0x68, 0x45, 0x2e, 0xd9, 0x8a, 0x8f, 0xe5, 0x59, 0x53, 0x4f, 0x1a, 0x85,
0x2f, 0x1c, 0x23, 0x4e, 0x3a, 0x79, 0xc9, 0x4f, 0xe3, 0x18, 0xd6, 0xd3, 0xdd, 0xc7, 0xea, 0xff,
0x53, 0x75, 0xb9, 0xec, 0x9e, 0x08, 0xad, 0xba, 0xe7, 0xbf, 0xe4, 0x78, 0xff, 0xc4, 0x50, 0xa2,
0x9a, 0x63, 0x20, 0x53, 0x1a, 0x9e, 0x7b, 0x63, 0x2b, 0x5d, 0xf2, 0x23, 0xe5, 0x63, 0x96, 0x99,
0x76, 0xeb, 0x10, 0x13, 0x6a, 0x18, 0x71, 0xdb, 0x61, 0x9a, 0x84, 0x6f, 0x8e, 0x60, 0x3d, 0x9b,
0x38, 0xc3, 0x33, 0xeb, 0xa3, 0xb8, 0x3c, 0x7f, 0xfb, 0xda, 0xe6, 0xb3, 0x6a, 0xe9, 0xe2, 0xfd,
0xef, 0x56, 0xa0, 0x2c, 0x54, 0x35, 0x64, 0x0b, 0x8a, 0x23, 0xe9, 0xe5, 0x1b, 0x85, 0xb0, 0x14,
0x58, 0xf9, 0x7f, 0x07, 0x7d, 0x7d, 0x19, 0x1d, 0x79, 0x0c, 0x8b, 0x71, 0x47, 0x97, 0x44, 0xe8,
0x9a, 0xb8, 0x87, 0x4a, 0x63, 0x94, 0x70, 0x22, 0xa8, 0x46, 0x32, 0x18, 0x17, 0x4d, 0x2b, 0xe7,
0x9a, 0x90, 0xe6, 0xb9, 0xec, 0x58, 0x17, 0x9c, 0xdb, 0xd6, 0xc3, 0x47, 0x9f, 0x08, 0xa3, 0x42,
0x0d, 0x81, 0x83, 0x73, 0xfb, 0xe1, 0xa3, 0x4f, 0x92, 0x07, 0x36, 0x11, 0xb9, 0x46, 0x3b, 0xb0,
0xad, 0x42, 0x89, 0x07, 0xc6, 0xe7, 0xee, 0x9a, 0xfc, 0x43, 0xaa, 0x33, 0xe6, 0x3e, 0xb5, 0xc4,
0xc5, 0x1a, 0xbe, 0x8b, 0xf2, 0x77, 0xc1, 0x88, 0xc0, 0x0d, 0x10, 0xc5, 0xd5, 0x89, 0xeb, 0xb0,
0x70, 0x1e, 0xbd, 0x74, 0xd0, 0x30, 0xc5, 0x97, 0xf1, 0xbf, 0x4a, 0x50, 0xd3, 0x3a, 0x85, 0xd4,
0xa1, 0x62, 0x76, 0x06, 0x1d, 0xf3, 0x8b, 0xce, 0x6e, 0xf3, 0x06, 0xb9, 0x07, 0x6f, 0x75, 0x7b,
0x3b, 0x7d, 0xd3, 0xec, 0xec, 0x0c, 0xad, 0xbe, 0x69, 0xc9, 0xc8, 0xaa, 0x47, 0xed, 0xaf, 0x0e,
0x3b, 0xbd, 0xa1, 0xb5, 0xdb, 0x19, 0xb6, 0xbb, 0x07, 0x83, 0x66, 0x8e, 0xbc, 0x06, 0xad, 0x88,
0x52, 0xa2, 0xdb, 0x87, 0xfd, 0xe3, 0xde, 0xb0, 0x99, 0x27, 0x77, 0xe0, 0xd6, 0x5e, 0xb7, 0xd7,
0x3e, 0xb0, 0x22, 0x9a, 0x9d, 0x83, 0xe1, 0x17, 0x56, 0xe7, 0x17, 0x8e, 0xba, 0xe6, 0x57, 0xcd,
0x42, 0x16, 0xc1, 0xfe, 0xf0, 0x60, 0x47, 0xe6, 0x50, 0x24, 0x37, 0x61, 0x8d, 0x13, 0xf0, 0x24,
0xd6, 0xb0, 0xdf, 0xb7, 0x06, 0xfd, 0x7e, 0xaf, 0x59, 0x22, 0xcb, 0xd0, 0xe8, 0xf6, 0xbe, 0x68,
0x1f, 0x74, 0x77, 0x2d, 0xb3, 0xd3, 0x3e, 0x38, 0x6c, 0x2e, 0x90, 0x15, 0x58, 0x4a, 0xd2, 0x95,
0x59, 0x16, 0x92, 0xae, 0xdf, 0xeb, 0xf6, 0x7b, 0xd6, 0x17, 0x1d, 0x73, 0xd0, 0xed, 0xf7, 0x9a,
0x15, 0xb2, 0x0e, 0x24, 0x8e, 0xda, 0x3f, 0x6c, 0xef, 0x34, 0xab, 0x64, 0x0d, 0x96, 0xe3, 0xf0,
0xa7, 0x9d, 0xaf, 0x9a, 0x40, 0x5a, 0xb0, 0xca, 0x2b, 0x66, 0x6d, 0x77, 0x0e, 0xfa, 0x5f, 0x5a,
0x87, 0xdd, 0x5e, 0xf7, 0xf0, 0xf8, 0xb0, 0x59, 0xc3, 0xf8, 0xd6, 0x9d, 0x8e, 0xd5, 0xed, 0x0d,
0x8e, 0xf7, 0xf6, 0xba, 0x3b, 0xdd, 0x4e, 0x6f, 0xd8, 0xac, 0xf3, 0x92, 0xb3, 0x1a, 0xde, 0x60,
0x09, 0xc4, 0x55, 0x4a, 0x6b, 0xb7, 0x3b, 0x68, 0x6f, 0x1f, 0x74, 0x76, 0x9b, 0x8b, 0xe4, 0x36,
0xdc, 0x1c, 0x76, 0x0e, 0x8f, 0xfa, 0x66, 0xdb, 0xfc, 0x4a, 0x5e, 0xb5, 0xb4, 0xf6, 0xda, 0xdd,
0x83, 0x63, 0xb3, 0xd3, 0x5c, 0x22, 0x6f, 0xc0, 0x6d, 0xb3, 0xf3, 0x83, 0xe3, 0xae, 0xd9, 0xd9,
0xb5, 0x7a, 0xfd, 0xdd, 0x8e, 0xb5, 0xd7, 0x69, 0x0f, 0x8f, 0xcd, 0x8e, 0x75, 0xd8, 0x1d, 0x0c,
0xba, 0xbd, 0x27, 0xcd, 0x26, 0x79, 0x0b, 0xee, 0x2a, 0x12, 0x95, 0x41, 0x82, 0x6a, 0x99, 0xb5,
0x4f, 0x0e, 0x69, 0xaf, 0xf3, 0x0b, 0x43, 0xeb, 0xa8, 0xd3, 0x31, 0x9b, 0x84, 0x6c, 0xc2, 0x7a,
0x54, 0x3c, 0x2f, 0x40, 0x94, 0xbd, 0xc2, 0x70, 0x47, 0x1d, 0xf3, 0xb0, 0xdd, 0x63, 0x03, 0x1c,
0xc3, 0xad, 0xb2, 0x6a, 0x47, 0xb8, 0x64, 0xb5, 0xd7, 0x08, 0x81, 0x45, 0x6d, 0x54, 0xf6, 0xda,
0x66, 0x73, 0x9d, 0x2c, 0x41, 0xed, 0xf0, 0xe8, 0xc8, 0x1a, 0x76, 0x0f, 0x3b, 0xfd, 0xe3, 0x61,
0x73, 0x23, 0x3d, 0x4a, 0x47, 0xed, 0xaf, 0x0e, 0xfa, 0xed, 0xdd, 0x66, 0x8b, 0xac, 0x41, 0xb3,
0xdb, 0x1b, 0x76, 0x4c, 0x36, 0x0d, 0x64, 0xae, 0xff, 0xb5, 0x4c, 0x56, 0x61, 0x49, 0x36, 0x42,
0x42, 0xff, 0xa8, 0x4c, 0x36, 0x80, 0x1c, 0xf7, 0xcc, 0x4e, 0x7b, 0x97, 0xf5, 0xa9, 0x42, 0xfc,
0xb7, 0xb2, 0x30, 0x2f, 0xff, 0x5e, 0x41, 0xc9, 0x81, 0x91, 0x83, 0x59, 0xfc, 0xd5, 0xa2, 0xba,
0xf6, 0xda, 0xd0, 0xcb, 0x1e, 0x8b, 0xd4, 0x0e, 0xf7, 0x85, 0xd4, 0xe1, 0x3e, 0xa5, 0x3d, 0x6a,
0xe8, 0x27, 0x8f, 0x37, 0xa1, 0x31, 0xe5, 0x2f, 0x18, 0x89, 0x27, 0x30, 0x40, 0x78, 0x5b, 0x72,
0x20, 0x7f, 0xff, 0x22, 0xf5, 0x5a, 0x62, 0x29, 0xfd, 0x5a, 0x62, 0xd6, 0x09, 0x73, 0x21, 0xeb,
0x84, 0x79, 0x1f, 0x96, 0x39, 0xd7, 0x72, 0x5c, 0x67, 0x2a, 0xf5, 0x36, 0xe2, 0xed, 0x41, 0xe4,
0x5e, 0x1c, 0x2e, 0x0f, 0xb4, 0xf2, 0xd0, 0x2b, 0xb8, 0x4b, 0x59, 0x9c, 0x77, 0x63, 0x67, 0x5d,
0xce, 0x54, 0xd4, 0x59, 0x57, 0x95, 0x60, 0x5f, 0x46, 0x25, 0xd4, 0xb4, 0x12, 0x38, 0x1c, 0x4b,
0xb8, 0x0f, 0xcb, 0xf4, 0x32, 0xf4, 0x6d, 0xcb, 0x9b, 0xd9, 0x3f, 0x9a, 0xa3, 0x8b, 0x8c, 0x8d,
0x5a, 0xa4, 0xba, 0xb9, 0x84, 0x88, 0x3e, 0xc2, 0x77, 0xed, 0xd0, 0x36, 0x7e, 0x09, 0x40, 0x6d,
0xb8, 0xf8, 0x86, 0xa3, 0xeb, 0xc9, 0x3b, 0xb5, 0x75, 0x93, 0x7f, 0xe0, 0x38, 0x86, 0x9e, 0x6f,
0x9f, 0xd1, 0xae, 0xb4, 0x0a, 0x47, 0x00, 0x72, 0x0b, 0x0a, 0xde, 0x4c, 0xfa, 0x22, 0x56, 0x65,
0x4c, 0xf7, 0x99, 0xc9, 0xa0, 0xc6, 0x27, 0x90, 0xef, 0xcf, 0xae, 0x95, 0xa2, 0x5a, 0x50, 0x96,
0x4f, 0x28, 0xe7, 0xd1, 0xff, 0x50, 0x7e, 0xde, 0xff, 0xb3, 0x50, 0xd3, 0x1e, 0xdd, 0x22, 0x1b,
0xb0, 0xf2, 0x65, 0x77, 0xd8, 0xeb, 0x0c, 0x06, 0xd6, 0xd1, 0xf1, 0xf6, 0xd3, 0xce, 0x57, 0xd6,
0x7e, 0x7b, 0xb0, 0xdf, 0xbc, 0xc1, 0xd8, 0x4c, 0xaf, 0x33, 0x18, 0x76, 0x76, 0x63, 0xf0, 0x1c,
0x79, 0x1d, 0x36, 0x8f, 0x7b, 0xc7, 0x83, 0xce, 0xae, 0x95, 0x95, 0x2e, 0xcf, 0xd6, 0x95, 0xc0,
0x67, 0x24, 0x2f, 0xdc, 0xff, 0x65, 0x58, 0x8c, 0xc7, 0x49, 0x21, 0x00, 0x0b, 0x07, 0x9d, 0x27,
0xed, 0x9d, 0xaf, 0x78, 0xcc, 0xfe, 0xc1, 0xb0, 0x3d, 0xec, 0xee, 0x58, 0x22, 0x46, 0x3f, 0xe3,
0x61, 0x39, 0x52, 0x83, 0x72, 0xbb, 0xb7, 0xb3, 0xdf, 0x37, 0x07, 0xcd, 0x3c, 0x79, 0x0d, 0x36,
0xe4, 0x12, 0xda, 0xe9, 0x1f, 0x1e, 0x76, 0x87, 0xc8, 0xbe, 0x87, 0x5f, 0x1d, 0xb1, 0x15, 0x73,
0xdf, 0x86, 0x6a, 0xf4, 0xbc, 0x00, 0xb2, 0xc4, 0xee, 0xb0, 0xdb, 0x1e, 0x46, 0xfb, 0x41, 0xf3,
0x06, 0xe3, 0xb8, 0x11, 0x18, 0xdf, 0x08, 0x68, 0xe6, 0xf8, 0x55, 0x72, 0x09, 0xe4, 0xa5, 0x37,
0xf3, 0x8c, 0x0d, 0x44, 0xd0, 0xed, 0xfe, 0x90, 0x35, 0xe1, 0x57, 0x60, 0x31, 0x1e, 0xc5, 0x9f,
0x34, 0xa1, 0xce, 0xca, 0xd7, 0x8a, 0x00, 0x58, 0xe0, 0x35, 0x6e, 0xe6, 0x38, 0xcf, 0xdf, 0xe9,
0x1f, 0x76, 0x7b, 0x4f, 0x70, 0xa3, 0x68, 0xe6, 0x19, 0xa8, 0x7f, 0x3c, 0x7c, 0xd2, 0x57, 0xa0,
0x02, 0x4b, 0xc1, 0x9b, 0xd3, 0x2c, 0xde, 0xff, 0x11, 0x2c, 0xa7, 0xe2, 0xfd, 0xb3, 0x5a, 0xf7,
0x8f, 0x87, 0x3b, 0xfd, 0x43, 0xbd, 0x9c, 0x1a, 0x94, 0x77, 0x0e, 0xda, 0xdd, 0x43, 0x34, 0xd4,
0x34, 0xa0, 0x7a, 0xdc, 0x93, 0x9f, 0xf9, 0xf8, 0x4b, 0x05, 0x05, 0xc6, 0xbd, 0xf6, 0xba, 0xe6,
0x60, 0x68, 0x0d, 0x86, 0xed, 0x27, 0x9d, 0x66, 0x91, 0xa5, 0x95, 0xac, 0xac, 0x74, 0xff, 0x73,
0x58, 0x8c, 0x3b, 0xce, 0xc7, 0xed, 0x6f, 0x9b, 0xb0, 0xbe, 0xdd, 0x19, 0x7e, 0xd9, 0xe9, 0xf4,
0x70, 0xc8, 0x77, 0x3a, 0xbd, 0xa1, 0xd9, 0x3e, 0xe8, 0x0e, 0xbf, 0x6a, 0xe6, 0xee, 0x3f, 0x86,
0x66, 0xd2, 0xe9, 0x23, 0xe6, 0x25, 0xf3, 0x22, 0x77, 0x9a, 0xfb, 0xff, 0x2e, 0x07, 0xab, 0x59,
0xe6, 0x41, 0x36, 0x31, 0x05, 0x23, 0x64, 0x3b, 0xe5, 0xa0, 0xdf, 0xb3, 0x7a, 0x7d, 0x8c, 0xd4,
0xbd, 0x09, 0xeb, 0x09, 0x84, 0x6c, 0x45, 0x8e, 0xdc, 0x82, 0x8d, 0x54, 0x22, 0xcb, 0xec, 0x1f,
0xe3, 0x58, 0xb6, 0x60, 0x35, 0x81, 0xec, 0x98, 0x66, 0xdf, 0x6c, 0x16, 0xc8, 0x7b, 0x70, 0x2f,
0x81, 0x49, 0xcb, 0x07, 0x52, 0x7c, 0x28, 0x92, 0x77, 0xe0, 0xcd, 0x14, 0x75, 0xb4, 0x85, 0x5a,
0xdb, 0xed, 0x03, 0xd6, 0xbc, 0x66, 0xe9, 0xfe, 0x1f, 0x14, 0x01, 0xa2, 0x9b, 0xa9, 0xac, 0xfc,
0xdd, 0xf6, 0xb0, 0x7d, 0xd0, 0x67, 0x6b, 0xc6, 0xec, 0x0f, 0x59, 0xee, 0x66, 0xe7, 0x07, 0xcd,
0x1b, 0x99, 0x98, 0xfe, 0x11, 0x6b, 0xd0, 0x06, 0xac, 0xf0, 0xf9, 0x77, 0xc0, 0x9a, 0xc1, 0xa6,
0x0b, 0x0f, 0xfa, 0xce, 0x84, 0x90, 0xe3, 0xa3, 0x3d, 0xb3, 0xdf, 0x1b, 0x5a, 0x83, 0xfd, 0xe3,
0xe1, 0x2e, 0xc6, 0x90, 0xdf, 0x31, 0xbb, 0x47, 0x3c, 0xcf, 0xe2, 0x8b, 0x08, 0x58, 0xd6, 0x25,
0xb6, 0xc0, 0x9f, 0xf4, 0x07, 0x83, 0xee, 0x91, 0xf5, 0x83, 0xe3, 0x8e, 0xd9, 0xed, 0x0c, 0x30,
0xe1, 0x42, 0x06, 0x9c, 0xd1, 0x97, 0xd9, 0x9c, 0x1d, 0x1e, 0x7c, 0x21, 0x36, 0x3a, 0x46, 0x5a,
0x89, 0x83, 0x18, 0x55, 0x95, 0x8d, 0x0e, 0xdb, 0x9c, 0x33, 0x72, 0x86, 0x6b, 0x70, 0x2c, 0x5d,
0x8d, 0x6d, 0xa5, 0xa9, 0x95, 0x8f, 0xc9, 0xea, 0xd9, 0x28, 0x96, 0x0a, 0x25, 0x12, 0x25, 0xbf,
0xed, 0xee, 0x9a, 0x98, 0x60, 0x31, 0x05, 0x65, 0xb4, 0x4b, 0x6c, 0x12, 0xb2, 0xdd, 0x9b, 0x91,
0x34, 0xe5, 0x07, 0xc3, 0x2c, 0xb3, 0x16, 0x7f, 0x79, 0x7c, 0xb8, 0xdd, 0x97, 0x62, 0x00, 0xaf,
0x2f, 0xc9, 0x80, 0x33, 0xfa, 0x15, 0x0c, 0xd2, 0xcf, 0xd9, 0x11, 0x12, 0xae, 0xea, 0x00, 0x46,
0xb1, 0xc6, 0x98, 0xa0, 0x04, 0xfc, 0xb0, 0x63, 0xf6, 0x2d, 0x26, 0x67, 0xa1, 0x8c, 0xc8, 0xe8,
0xd7, 0xaf, 0x47, 0xb3, 0xd4, 0x1b, 0x0f, 0xff, 0xe9, 0x1b, 0x50, 0x55, 0x37, 0x66, 0xc8, 0xf7,
0xa1, 0x11, 0x8b, 0x47, 0x41, 0xa4, 0x51, 0x22, 0x2b, 0x7c, 0xc5, 0xe6, 0x6b, 0xd9, 0x48, 0x71,
0x8e, 0x3a, 0xd4, 0x14, 0x17, 0x3c, 0xb3, 0xd7, 0x92, 0xca, 0x84, 0x58, 0x6e, 0xb7, 0xaf, 0xc1,
0x8a, 0xec, 0x9e, 0x62, 0x3c, 0x7c, 0xed, 0x55, 0xfe, 0x80, 0xdc, 0x8e, 0x82, 0x93, 0xeb, 0x70,
0x99, 0xe1, 0xcd, 0xf4, 0x4b, 0xfe, 0xf2, 0xe9, 0xff, 0x5d, 0xa8, 0x69, 0xcf, 0xb6, 0x92, 0x9b,
0xd7, 0x3e, 0x31, 0xbb, 0xb9, 0x99, 0x85, 0x12, 0x55, 0xfa, 0x2e, 0x54, 0xd5, 0x73, 0x99, 0x64,
0x43, 0x7b, 0x7e, 0x55, 0x7f, 0x3e, 0x74, 0xb3, 0x95, 0x46, 0x88, 0xf4, 0xbb, 0x50, 0xd3, 0x5e,
0xbd, 0x54, 0xb5, 0x48, 0xbf, 0xac, 0xa9, 0x6a, 0x91, 0xf5, 0x48, 0xe6, 0x01, 0xac, 0x09, 0xf5,
0xc8, 0x09, 0xfd, 0x3a, 0xdd, 0x43, 0xd2, 0xdd, 0xf3, 0x20, 0x47, 0x1e, 0x43, 0x45, 0xbe, 0x94,
0x4a, 0xd6, 0xb3, 0x5f, 0x94, 0xdd, 0xdc, 0x48, 0xc1, 0x45, 0x55, 0xda, 0x00, 0xd1, 0x7b, 0x9a,
0x44, 0x36, 0x3c, 0xf5, 0x3e, 0xa7, 0x1a, 0x99, 0x8c, 0xc7, 0x37, 0x77, 0xa1, 0xa6, 0x3d, 0x9d,
0xa9, 0xfa, 0x24, 0xfd, 0xec, 0xa6, 0xea, 0x93, 0xac, 0x97, 0x36, 0xbf, 0x0f, 0x8d, 0xd8, 0x1b,
0x98, 0x6a, 0x1e, 0x67, 0xbd, 0xb0, 0xa9, 0xe6, 0x71, 0xf6, 0xb3, 0x99, 0xbb, 0x50, 0xd3, 0xde,
0xa5, 0x54, 0x35, 0x4a, 0x3f, 0x8e, 0xa9, 0x6a, 0x94, 0xf1, 0x8c, 0x25, 0x5b, 0x0d, 0xf1, 0x47,
0x29, 0xd5, 0x6a, 0xc8, 0x7c, 0xdd, 0x52, 0xad, 0x86, 0xec, 0x97, 0x2c, 0xd9, 0xd4, 0x53, 0x0f,
0x61, 0x90, 0x8d, 0x98, 0x56, 0x22, 0x7a, 0x51, 0x43, 0x4d, 0xbd, 0xf4, 0x9b, 0x19, 0x4f, 0x60,
0x45, 0x4d, 0x1a, 0xf5, 0x8c, 0x45, 0xa0, 0xea, 0x94, 0xf9, 0x58, 0xc6, 0x66, 0x33, 0x89, 0x7d,
0x90, 0x23, 0x9f, 0x41, 0x59, 0xbc, 0x0d, 0x40, 0xd6, 0x92, 0x6f, 0x05, 0xf0, 0x4a, 0xac, 0x67,
0x3f, 0x21, 0x40, 0x8e, 0x70, 0x41, 0xeb, 0xc1, 0xfb, 0xf5, 0x19, 0x9b, 0x11, 0xef, 0x7f, 0xf3,
0xf5, 0xeb, 0xd0, 0x51, 0x8e, 0xc9, 0x07, 0x27, 0x6e, 0x5f, 0x17, 0x27, 0x2a, 0x9e, 0xe3, 0x75,
0x01, 0x2d, 0x9f, 0x40, 0x5d, 0x7f, 0x90, 0x8c, 0xe8, 0xeb, 0x30, 0x99, 0xd7, 0xad, 0x4c, 0x9c,
0xc8, 0xe8, 0x0b, 0x58, 0x57, 0xfd, 0xad, 0x07, 0x2d, 0x0a, 0xc8, 0x9d, 0x8c, 0x50, 0x46, 0xb1,
0x5e, 0xbf, 0x79, 0x6d, 0xac, 0xa3, 0x07, 0x39, 0x64, 0xb2, 0xb1, 0x37, 0x84, 0x22, 0x26, 0x9b,
0xf5, 0x74, 0x52, 0xc4, 0x64, 0xb3, 0x1f, 0x1e, 0x6a, 0xc3, 0x92, 0x16, 0x74, 0x69, 0x70, 0xe5,
0x8e, 0xd4, 0x7c, 0x4f, 0x47, 0x55, 0xdf, 0xcc, 0x52, 0xd2, 0x93, 0x1d, 0xa8, 0xe9, 0x71, 0x9b,
0x5e, 0x90, 0x7c, 0x43, 0x43, 0xe9, 0x41, 0xb1, 0x1f, 0xe4, 0xc8, 0x01, 0x34, 0x93, 0x51, 0x56,
0xd5, 0x12, 0xce, 0x8a, 0x4c, 0xbb, 0x99, 0x40, 0xc6, 0x62, 0xb3, 0xb2, 0x79, 0x11, 0x7b, 0x2c,
0xdf, 0xf3, 0x93, 0x5b, 0x51, 0xfc, 0x11, 0x7d, 0x95, 0x5b, 0x02, 0x8b, 0xd5, 0xbe, 0x97, 0x7b,
0x90, 0x23, 0x7b, 0x50, 0x8f, 0x05, 0x19, 0x8c, 0x5d, 0xde, 0x4a, 0x34, 0xb3, 0xa5, 0xe3, 0x12,
0xed, 0x3c, 0x84, 0xc5, 0xb8, 0xd3, 0x89, 0xaa, 0x58, 0xa6, 0x67, 0x8c, 0x1a, 0xbe, 0x6c, 0x4f,
0x15, 0xf2, 0xf3, 0x50, 0x63, 0x3c, 0x59, 0x7a, 0x46, 0x12, 0x8d, 0x4f, 0x27, 0xc7, 0x8c, 0xc3,
0x84, 0xd6, 0xbc, 0xf0, 0x17, 0xf2, 0x39, 0x6c, 0xd7, 0x77, 0xf8, 0x63, 0xe3, 0xd2, 0x39, 0x8e,
0x8d, 0xff, 0xab, 0x66, 0x42, 0xf6, 0x78, 0xe1, 0x43, 0x8f, 0xc7, 0x64, 0xb8, 0xa9, 0xd1, 0x08,
0xd8, 0xab, 0xd5, 0xa1, 0xcd, 0xeb, 0x20, 0xd2, 0xc4, 0xe6, 0xe0, 0x2b, 0xe6, 0x45, 0x3e, 0x05,
0x88, 0x9c, 0x92, 0x49, 0xc2, 0xef, 0x55, 0x2d, 0xa8, 0x0c, 0xbf, 0xe5, 0x0e, 0x5f, 0xef, 0xca,
0xf1, 0x56, 0xdf, 0x92, 0xe3, 0x3e, 0xc0, 0xb1, 0x2d, 0x39, 0x99, 0xcd, 0x47, 0xd0, 0x38, 0xf0,
0xbc, 0x67, 0xf3, 0x99, 0xba, 0xaa, 0x13, 0x77, 0xfb, 0xda, 0xb7, 0x83, 0xf3, 0xcd, 0x44, 0xb5,
0x48, 0x1b, 0x96, 0x15, 0x8b, 0x88, 0x3c, 0x7f, 0xe3, 0x44, 0x31, 0xc6, 0x90, 0xc8, 0xe0, 0x41,
0x8e, 0x3c, 0x84, 0xfa, 0x2e, 0x1d, 0x61, 0xdc, 0x18, 0x74, 0x03, 0x5a, 0x89, 0xb9, 0x94, 0x70,
0xff, 0xa1, 0xcd, 0x46, 0x0c, 0x28, 0x59, 0x5c, 0xe4, 0xe8, 0xa6, 0xef, 0x19, 0x71, 0x6f, 0xb1,
0x18, 0x8b, 0x4b, 0x39, 0xbb, 0x7d, 0x01, 0xcb, 0x29, 0x67, 0x2f, 0xc5, 0xdd, 0xae, 0x73, 0x40,
0xdb, 0xbc, 0x7b, 0x3d, 0x81, 0xc8, 0xf7, 0x7b, 0xd0, 0xe0, 0x31, 0xd2, 0x4f, 0x28, 0xbf, 0xf7,
0x9d, 0x88, 0x80, 0xa7, 0x5f, 0x2a, 0x4f, 0xb2, 0x24, 0x9e, 0xe0, 0x09, 0xbe, 0xae, 0xa4, 0xdd,
0xaa, 0x56, 0xe3, 0x9a, 0xbe, 0xe9, 0xad, 0xc6, 0x35, 0xeb, 0x02, 0xf7, 0xe7, 0x50, 0x7b, 0x42,
0x43, 0x79, 0x4f, 0x59, 0xc9, 0x47, 0x89, 0x8b, 0xcb, 0x9b, 0x19, 0xb7, 0xcb, 0xc9, 0x27, 0x98,
0x54, 0xc5, 0xdc, 0x58, 0xd7, 0x4a, 0xd1, 0x93, 0x2e, 0x25, 0xe0, 0x4c, 0xfa, 0xd0, 0x22, 0xef,
0xa8, 0x8a, 0xa7, 0x23, 0x2d, 0xa9, 0x8a, 0x67, 0x05, 0xea, 0xf9, 0x79, 0xde, 0x03, 0xda, 0xcd,
0xe8, 0x48, 0x04, 0x4b, 0x5e, 0xa2, 0x56, 0xd5, 0xd7, 0xc9, 0x1f, 0x01, 0x0c, 0x42, 0x6f, 0xb6,
0x6b, 0xd3, 0xa9, 0xe7, 0x46, 0x3c, 0x21, 0xba, 0x93, 0x1b, 0x2d, 0x44, 0xed, 0x62, 0x2e, 0xf9,
0x52, 0x93, 0x4d, 0x63, 0x43, 0x22, 0x87, 0xfd, 0xda, 0x6b, 0xbb, 0xaa, 0x39, 0x19, 0x57, 0x77,
0x91, 0x49, 0x40, 0xe4, 0x4b, 0xa7, 0x24, 0xcd, 0x94, 0x9b, 0x9e, 0x5a, 0xeb, 0x19, 0x8e, 0x77,
0xdf, 0x85, 0x6a, 0xe4, 0x84, 0xb4, 0x11, 0x85, 0x01, 0x8b, 0xb9, 0x2c, 0x29, 0xee, 0x9d, 0x76,
0x00, 0xea, 0xc1, 0x0a, 0xaf, 0x8e, 0xda, 0xfe, 0xf0, 0xae, 0xa6, 0x7a, 0x1c, 0x2c, 0xed, 0x79,
0xa3, 0xd6, 0x4f, 0x96, 0xff, 0x08, 0x5b, 0x3f, 0x29, 0x07, 0x03, 0xb5, 0x7e, 0xae, 0x73, 0x2c,
0x51, 0xeb, 0xe7, 0x7a, 0xdf, 0x84, 0x1e, 0xac, 0x64, 0xb8, 0x0a, 0x90, 0x37, 0xe4, 0xc1, 0xe6,
0x5a, 0x37, 0x82, 0xcd, 0x4c, 0x93, 0x32, 0x19, 0xc2, 0x06, 0x4f, 0xd3, 0x9e, 0x4c, 0x12, 0x96,
0xe9, 0xd7, 0xb5, 0x04, 0x19, 0xd6, 0xf6, 0x98, 0x28, 0x93, 0xb0, 0xb8, 0xf7, 0xa0, 0x99, 0x34,
0xea, 0x92, 0xeb, 0xc9, 0x37, 0xef, 0xc4, 0x44, 0xf6, 0xb4, 0x21, 0x98, 0x7c, 0xa1, 0x4c, 0xcb,
0x89, 0x3a, 0xde, 0x89, 0x1e, 0xb9, 0xcc, 0x34, 0x84, 0xab, 0xd3, 0x40, 0xa6, 0x65, 0x9a, 0xfc,
0x02, 0x6c, 0x24, 0x67, 0xb4, 0xcc, 0xf9, 0x6e, 0x56, 0x77, 0x5d, 0x2b, 0xca, 0xc5, 0x1b, 0xf4,
0x20, 0xc7, 0x18, 0xb1, 0x6e, 0x00, 0x56, 0x13, 0x29, 0xc3, 0x12, 0xad, 0x26, 0x52, 0xa6, 0xc5,
0xf8, 0x08, 0x96, 0x12, 0xb6, 0x5f, 0x25, 0x06, 0x67, 0x5b, 0x8b, 0x95, 0x18, 0x7c, 0x9d, 0xc9,
0x78, 0x00, 0xcd, 0xa4, 0x55, 0x57, 0x8d, 0xf5, 0x35, 0x96, 0xe2, 0xcd, 0x3b, 0xd7, 0xe2, 0xe3,
0xd5, 0xd4, 0xec, 0x9f, 0xb1, 0x6a, 0xa6, 0xad, 0xb6, 0xb1, 0x6a, 0x66, 0x58, 0x5f, 0xb7, 0xdf,
0xf9, 0xe1, 0xb7, 0xce, 0x9c, 0xf0, 0x7c, 0x7e, 0xb2, 0x35, 0xf2, 0xa6, 0x1f, 0x4c, 0xa4, 0x56,
0x43, 0x04, 0x52, 0xf8, 0x60, 0xe2, 0x8e, 0x3f, 0xc0, 0x0c, 0x4e, 0x16, 0x66, 0xbe, 0x17, 0x7a,
0x1f, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0x22, 0xb1, 0xed, 0xb8, 0x92, 0x00, 0x00,
// 12602 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5b, 0x6c, 0x23, 0x59,
0x76, 0x58, 0xf3, 0x25, 0x92, 0x87, 0xa4, 0x44, 0x5d, 0xbd, 0xd8, 0xea, 0xe9, 0xe9, 0x9e, 0x9a,
0xd9, 0x99, 0xde, 0x9e, 0x19, 0x4d, 0x4f, 0xcf, 0xf4, 0x3c, 0xb6, 0xe3, 0xf5, 0x52, 0x12, 0xd5,
0xe2, 0xb6, 0x44, 0x6a, 0x8b, 0xd4, 0x8c, 0x67, 0x61, 0xbb, 0x5c, 0x22, 0xaf, 0xa4, 0x4a, 0x93,
0x55, 0xdc, 0xaa, 0xa2, 0x5a, 0xda, 0x20, 0x80, 0x3f, 0x1c, 0x3b, 0x30, 0x8c, 0x00, 0x01, 0xe2,
0x00, 0x79, 0x18, 0x49, 0x90, 0x20, 0xf9, 0x33, 0x0c, 0xd8, 0xfe, 0x4a, 0x3e, 0xf2, 0x95, 0x20,
0x40, 0x82, 0x20, 0x40, 0x8c, 0x3c, 0x10, 0x24, 0x08, 0x90, 0x38, 0x40, 0x0c, 0x24, 0x06, 0xfc,
0x99, 0x04, 0x09, 0xee, 0xb9, 0x8f, 0xba, 0xf5, 0x50, 0x77, 0xcf, 0x7a, 0xb2, 0x3f, 0x12, 0xeb,
0x9c, 0x73, 0xdf, 0xf7, 0x9e, 0x7b, 0xee, 0x39, 0xe7, 0x9e, 0x0b, 0x55, 0x7f, 0x36, 0xda, 0x9a,
0xf9, 0x5e, 0xe8, 0x91, 0xd2, 0xc4, 0xf5, 0x67, 0x23, 0xe3, 0x0f, 0x73, 0x50, 0x3c, 0x0e, 0x2f,
0x3d, 0xf2, 0x08, 0xea, 0xf6, 0x78, 0xec, 0xd3, 0x20, 0xb0, 0xc2, 0xab, 0x19, 0x6d, 0xe5, 0xee,
0xe6, 0xee, 0x2d, 0x3e, 0x24, 0x5b, 0x48, 0xb6, 0xd5, 0xe6, 0xa8, 0xe1, 0xd5, 0x8c, 0x9a, 0x35,
0x3b, 0xfa, 0x20, 0x2d, 0x28, 0x8b, 0xcf, 0x56, 0xfe, 0x6e, 0xee, 0x5e, 0xd5, 0x94, 0x9f, 0xe4,
0x36, 0x80, 0x3d, 0xf5, 0xe6, 0x6e, 0x68, 0x05, 0x76, 0xd8, 0x2a, 0xdc, 0xcd, 0xdd, 0x2b, 0x98,
0x55, 0x0e, 0x19, 0xd8, 0x21, 0xb9, 0x05, 0xd5, 0xd9, 0x33, 0x2b, 0x18, 0xf9, 0xce, 0x2c, 0x6c,
0x15, 0x31, 0x69, 0x65, 0xf6, 0x6c, 0x80, 0xdf, 0xe4, 0x5d, 0xa8, 0x78, 0xf3, 0x70, 0xe6, 0x39,
0x6e, 0xd8, 0x2a, 0xdd, 0xcd, 0xdd, 0xab, 0x3d, 0x5c, 0x12, 0x15, 0xe9, 0xcf, 0xc3, 0x23, 0x06,
0x36, 0x15, 0x01, 0x79, 0x0b, 0x1a, 0x23, 0xcf, 0x3d, 0x75, 0xfc, 0xa9, 0x1d, 0x3a, 0x9e, 0x1b,
0xb4, 0x16, 0xb0, 0xac, 0x38, 0xd0, 0xf8, 0x27, 0x79, 0xa8, 0x0d, 0x7d, 0xdb, 0x0d, 0xec, 0x11,
0x03, 0x90, 0x0d, 0x28, 0x87, 0x97, 0xd6, 0xb9, 0x1d, 0x9c, 0x63, 0x53, 0xab, 0xe6, 0x42, 0x78,
0xb9, 0x6f, 0x07, 0xe7, 0x64, 0x1d, 0x16, 0x78, 0x2d, 0xb1, 0x41, 0x05, 0x53, 0x7c, 0x91, 0x77,
0x61, 0xd9, 0x9d, 0x4f, 0xad, 0x78, 0x51, 0xac, 0x59, 0x25, 0xb3, 0xe9, 0xce, 0xa7, 0x3b, 0x3a,
0x9c, 0x35, 0xfe, 0x64, 0xe2, 0x8d, 0x9e, 0xf1, 0x02, 0x78, 0xf3, 0xaa, 0x08, 0xc1, 0x32, 0xde,
0x80, 0xba, 0x40, 0x53, 0xe7, 0xec, 0x9c, 0xb7, 0xb1, 0x64, 0xd6, 0x38, 0x01, 0x82, 0x58, 0x0e,
0xa1, 0x33, 0xa5, 0x56, 0x10, 0xda, 0xd3, 0x99, 0x68, 0x52, 0x95, 0x41, 0x06, 0x0c, 0x80, 0x68,
0x2f, 0xb4, 0x27, 0xd6, 0x29, 0xa5, 0x41, 0xab, 0x2c, 0xd0, 0x0c, 0xb2, 0x47, 0x69, 0x40, 0xbe,
0x05, 0x8b, 0x63, 0x1a, 0x84, 0x96, 0x18, 0x0c, 0x1a, 0xb4, 0x2a, 0x77, 0x0b, 0xf7, 0xaa, 0x66,
0x83, 0x41, 0xdb, 0x12, 0x48, 0x5e, 0x03, 0xf0, 0xed, 0xe7, 0x16, 0xeb, 0x08, 0x7a, 0xd9, 0xaa,
0xf2, 0x51, 0xf0, 0xed, 0xe7, 0xc3, 0xcb, 0x7d, 0x7a, 0x49, 0x56, 0xa1, 0x34, 0xb1, 0x4f, 0xe8,
0xa4, 0x05, 0x88, 0xe0, 0x1f, 0xc6, 0x0f, 0x61, 0xfd, 0x09, 0x0d, 0xb5, 0xae, 0x0c, 0x4c, 0xfa,
0xa3, 0x39, 0x0d, 0x42, 0xd6, 0xaa, 0x20, 0xb4, 0xfd, 0x50, 0xb6, 0x2a, 0xc7, 0x5b, 0x85, 0xb0,
0xa8, 0x55, 0xd4, 0x1d, 0x4b, 0x82, 0x3c, 0x12, 0x54, 0xa9, 0x3b, 0xe6, 0x68, 0xe3, 0x00, 0x88,
0x96, 0xf1, 0x2e, 0x0d, 0x6d, 0x67, 0x12, 0x90, 0x4f, 0xa0, 0x1e, 0x6a, 0xc5, 0xb5, 0x72, 0x77,
0x0b, 0xf7, 0x6a, 0x6a, 0x6a, 0x6a, 0x09, 0xcc, 0x18, 0x9d, 0x71, 0x0e, 0x95, 0x3d, 0x4a, 0x0f,
0x9c, 0xa9, 0x13, 0x92, 0x75, 0x28, 0x9d, 0x3a, 0x97, 0x74, 0x8c, 0x95, 0x2a, 0xec, 0xdf, 0x30,
0xf9, 0x27, 0xb9, 0x03, 0x80, 0x3f, 0xac, 0xa9, 0x9a, 0xa5, 0xfb, 0x37, 0xcc, 0x2a, 0xc2, 0x0e,
0x03, 0x3b, 0x24, 0x9b, 0x50, 0x9e, 0x51, 0x7f, 0x44, 0xe5, 0x7c, 0xd8, 0xbf, 0x61, 0x4a, 0xc0,
0x76, 0x19, 0x4a, 0x13, 0x96, 0xbb, 0xf1, 0xdf, 0x4b, 0x50, 0x1b, 0x50, 0x77, 0x2c, 0x7b, 0x82,
0x40, 0x91, 0x75, 0x34, 0x16, 0x56, 0x37, 0xf1, 0x37, 0x79, 0x13, 0x6a, 0x38, 0x24, 0x41, 0xe8,
0x3b, 0xee, 0x19, 0x5f, 0x2d, 0xdb, 0xf9, 0x56, 0xce, 0x04, 0x06, 0x1e, 0x20, 0x94, 0x34, 0xa1,
0x60, 0x4f, 0xe5, 0x6a, 0x61, 0x3f, 0xc9, 0x4d, 0xa8, 0xd8, 0xd3, 0x90, 0x57, 0xaf, 0x8e, 0xe0,
0xb2, 0x3d, 0x0d, 0xb1, 0x6a, 0x6f, 0x40, 0x7d, 0x66, 0x5f, 0x4d, 0xa9, 0x1b, 0x46, 0xd3, 0xac,
0x6e, 0xd6, 0x04, 0x0c, 0x27, 0xda, 0x43, 0x58, 0xd1, 0x49, 0x64, 0xe1, 0x25, 0x55, 0xf8, 0xb2,
0x46, 0x2d, 0xea, 0xf0, 0x0e, 0x2c, 0xc9, 0x34, 0x3e, 0x6f, 0x0f, 0x4e, 0xbf, 0xaa, 0xb9, 0x28,
0xc0, 0xb2, 0x95, 0xf7, 0xa0, 0x79, 0xea, 0xb8, 0xf6, 0xc4, 0x1a, 0x4d, 0xc2, 0x0b, 0x6b, 0x4c,
0x27, 0xa1, 0x8d, 0x33, 0xb1, 0x64, 0x2e, 0x22, 0x7c, 0x67, 0x12, 0x5e, 0xec, 0x32, 0x28, 0x79,
0x0f, 0xaa, 0xa7, 0x94, 0x5a, 0xd8, 0x59, 0xad, 0x4a, 0x6c, 0x41, 0xcb, 0x11, 0x32, 0x2b, 0xa7,
0x72, 0xac, 0xde, 0x83, 0xa6, 0x37, 0x0f, 0xcf, 0x3c, 0xc7, 0x3d, 0xb3, 0x46, 0xe7, 0xb6, 0x6b,
0x39, 0x63, 0x9c, 0x9b, 0xc5, 0xed, 0xfc, 0x83, 0x9c, 0xb9, 0x28, 0x71, 0x3b, 0xe7, 0xb6, 0xdb,
0x1d, 0x93, 0xb7, 0x61, 0x69, 0x62, 0x07, 0xa1, 0x75, 0xee, 0xcd, 0xac, 0xd9, 0xfc, 0xe4, 0x19,
0xbd, 0x6a, 0x35, 0xb0, 0x23, 0x1a, 0x0c, 0xbc, 0xef, 0xcd, 0x8e, 0x10, 0xc8, 0xa6, 0x1e, 0xd6,
0x93, 0x57, 0x82, 0x4d, 0xe9, 0x86, 0x59, 0x65, 0x10, 0x5e, 0xe8, 0x57, 0xb0, 0x82, 0xc3, 0x33,
0x9a, 0x07, 0xa1, 0x37, 0xb5, 0x7c, 0x3a, 0xf2, 0xfc, 0x71, 0xd0, 0xaa, 0xe1, 0x5c, 0xfb, 0xb6,
0xa8, 0xac, 0x36, 0xc6, 0x5b, 0xbb, 0x34, 0x08, 0x77, 0x90, 0xd8, 0xe4, 0xb4, 0x1d, 0x37, 0xf4,
0xaf, 0xcc, 0xe5, 0x71, 0x12, 0x4e, 0xde, 0x03, 0x62, 0x4f, 0x26, 0xde, 0x73, 0x2b, 0xa0, 0x93,
0x53, 0x4b, 0x74, 0x62, 0x6b, 0xf1, 0x6e, 0xee, 0x5e, 0xc5, 0x6c, 0x22, 0x66, 0x40, 0x27, 0xa7,
0x47, 0x1c, 0x4e, 0x3e, 0x01, 0x5c, 0xa4, 0xd6, 0x29, 0xb5, 0xc3, 0xb9, 0x4f, 0x83, 0xd6, 0xd2,
0xdd, 0xc2, 0xbd, 0xc5, 0x87, 0xcb, 0xaa, 0xbf, 0x10, 0xbc, 0xed, 0x84, 0x66, 0x9d, 0xd1, 0x89,
0xef, 0x40, 0x9f, 0x0d, 0x6c, 0xd5, 0xb7, 0x9a, 0xb1, 0xd9, 0xc0, 0xd6, 0xfc, 0xe6, 0x2e, 0xac,
0x67, 0xd7, 0x9a, 0xcd, 0x3b, 0xd6, 0x71, 0x6c, 0xbe, 0x16, 0x4d, 0xf6, 0x93, 0x2d, 0xfe, 0x0b,
0x7b, 0x32, 0xa7, 0x38, 0x51, 0xeb, 0x26, 0xff, 0xf8, 0x4e, 0xfe, 0xb3, 0x9c, 0xf1, 0x7b, 0x39,
0xa8, 0xf3, 0x8e, 0x08, 0x66, 0x9e, 0x1b, 0x50, 0xf2, 0x26, 0x34, 0x64, 0xc9, 0xd4, 0xf7, 0x3d,
0x5f, 0x30, 0x54, 0x59, 0x9d, 0x0e, 0x83, 0x91, 0x6f, 0x43, 0x53, 0x12, 0xcd, 0x7c, 0xea, 0x4c,
0xed, 0x33, 0x99, 0xb5, 0x9c, 0x6d, 0x47, 0x02, 0x4c, 0x3e, 0x8c, 0xf2, 0xf3, 0xbd, 0x79, 0x48,
0x71, 0x39, 0xd4, 0x1e, 0xd6, 0x45, 0x0f, 0x98, 0x0c, 0xa6, 0x72, 0xc7, 0xaf, 0x57, 0x58, 0x0a,
0xc6, 0x6f, 0xe6, 0x80, 0xb0, 0x6a, 0x0f, 0x3d, 0x9e, 0x41, 0xc4, 0xb4, 0x62, 0x29, 0x73, 0xaf,
0xbc, 0x88, 0xf2, 0x2f, 0x5a, 0x44, 0x06, 0x94, 0x78, 0xdd, 0x8b, 0x19, 0x75, 0xe7, 0xa8, 0xef,
0x17, 0x2b, 0x85, 0x66, 0xd1, 0xf8, 0xf7, 0x05, 0x58, 0x65, 0x53, 0xd9, 0xa5, 0x93, 0xf6, 0x68,
0x44, 0x67, 0x6a, 0x79, 0xdd, 0x81, 0x9a, 0xeb, 0x8d, 0xa9, 0x9c, 0xd4, 0xbc, 0x62, 0xc0, 0x40,
0xda, 0x8c, 0x3e, 0xb7, 0x1d, 0x97, 0x57, 0x9c, 0x77, 0x66, 0x15, 0x21, 0x58, 0xed, 0xb7, 0x61,
0x69, 0x46, 0xdd, 0xb1, 0xbe, 0x8a, 0x0a, 0x7c, 0x61, 0x08, 0xb0, 0x58, 0x40, 0x77, 0xa0, 0x76,
0x3a, 0xe7, 0x74, 0x8c, 0xf7, 0x14, 0x71, 0x0e, 0x80, 0x00, 0xb5, 0x39, 0x0b, 0x9a, 0xcd, 0x83,
0x73, 0xc4, 0x96, 0x10, 0x5b, 0x66, 0xdf, 0x0c, 0x75, 0x1b, 0x60, 0x3c, 0x0f, 0x42, 0xb1, 0xa8,
0x16, 0x10, 0x59, 0x65, 0x10, 0xbe, 0xa8, 0xde, 0x87, 0x95, 0xa9, 0x7d, 0x69, 0xe1, 0xdc, 0xb1,
0x1c, 0xd7, 0x3a, 0x9d, 0x20, 0xdf, 0x2f, 0x23, 0x5d, 0x73, 0x6a, 0x5f, 0x7e, 0xc1, 0x30, 0x5d,
0x77, 0x0f, 0xe1, 0x8c, 0xf3, 0x8c, 0x78, 0x4f, 0x58, 0x3e, 0x0d, 0xa8, 0x7f, 0x41, 0x91, 0x59,
0x14, 0xcd, 0x45, 0x01, 0x36, 0x39, 0x94, 0xd5, 0x68, 0xca, 0xda, 0x1d, 0x4e, 0x46, 0x9c, 0x33,
0x98, 0xe5, 0xa9, 0xe3, 0xee, 0x87, 0x93, 0x11, 0xdb, 0xd2, 0x18, 0xab, 0x99, 0x51, 0xdf, 0x7a,
0xf6, 0x1c, 0x97, 0x79, 0x11, 0x59, 0xcb, 0x11, 0xf5, 0x9f, 0x3e, 0x67, 0x52, 0xc7, 0x28, 0x40,
0x5e, 0x65, 0x5f, 0xb5, 0x6a, 0xc8, 0x03, 0x2a, 0xa3, 0x80, 0x71, 0x29, 0xfb, 0x8a, 0xad, 0x53,
0x56, 0x5b, 0x1b, 0x47, 0x81, 0x8e, 0x31, 0xfb, 0x00, 0x99, 0x6e, 0x03, 0x2b, 0xdb, 0x16, 0x08,
0x56, 0x4e, 0xc0, 0x66, 0xbd, 0xac, 0xec, 0xe9, 0xc4, 0x3e, 0x0b, 0x90, 0xeb, 0x34, 0xcc, 0xba,
0x00, 0xee, 0x31, 0x98, 0xf1, 0x27, 0x79, 0x58, 0x4b, 0x0c, 0xae, 0x58, 0x34, 0x4c, 0xcc, 0x40,
0x08, 0x0e, 0x6c, 0xc5, 0x14, 0x5f, 0x59, 0xa3, 0x96, 0xcf, 0x1a, 0xb5, 0x55, 0x28, 0xf1, 0xc5,
0x56, 0xe0, 0x9b, 0x33, 0x95, 0xab, 0x6c, 0x3e, 0x3b, 0xf5, 0x3d, 0x26, 0x75, 0x9d, 0xcf, 0xc3,
0xb1, 0xf7, 0xdc, 0x15, 0xd2, 0xc7, 0x92, 0x80, 0x0f, 0x04, 0x38, 0xde, 0x15, 0xa5, 0x44, 0x57,
0xdc, 0x81, 0x9a, 0x18, 0x01, 0x94, 0xde, 0xf8, 0xc0, 0x82, 0x00, 0x31, 0xf1, 0xed, 0x5d, 0x20,
0x6a, 0x3c, 0x2d, 0xd6, 0x6b, 0xb8, 0x41, 0xf1, 0x81, 0x5d, 0x72, 0xc4, 0x80, 0x1e, 0xda, 0x97,
0xb8, 0x51, 0xbd, 0x05, 0x8b, 0x8c, 0x84, 0xf5, 0xa7, 0x35, 0x42, 0xd1, 0xaa, 0xc2, 0xfb, 0x6a,
0x6a, 0x5f, 0xb2, 0xce, 0xdc, 0x41, 0x01, 0xeb, 0x75, 0xa8, 0xc9, 0x41, 0xb5, 0x1c, 0x57, 0x8c,
0x6b, 0x55, 0x8c, 0x6b, 0xd7, 0x65, 0xdb, 0x0d, 0xc3, 0xf3, 0x7e, 0xb2, 0xc6, 0x74, 0x16, 0x9e,
0x0b, 0x36, 0xbe, 0x38, 0x75, 0x5c, 0xde, 0xbd, 0xbb, 0x0c, 0x6a, 0xfc, 0x56, 0x0e, 0xea, 0xa2,
0xd7, 0x51, 0x58, 0x24, 0x5b, 0x40, 0xe4, 0x14, 0x0f, 0x2f, 0x9d, 0xb1, 0x75, 0x72, 0x15, 0xd2,
0x80, 0xaf, 0xa8, 0xfd, 0x1b, 0x66, 0x53, 0xe0, 0x86, 0x97, 0xce, 0x78, 0x9b, 0x61, 0xc8, 0x7d,
0x68, 0xc6, 0xe8, 0x83, 0xd0, 0xe7, 0xcb, 0x7d, 0xff, 0x86, 0xb9, 0xa8, 0x51, 0x0f, 0x42, 0x9f,
0x31, 0x10, 0x26, 0x8a, 0xce, 0x43, 0xcb, 0x71, 0xc7, 0xf4, 0x12, 0xc7, 0xa3, 0x61, 0xd6, 0x38,
0xac, 0xcb, 0x40, 0xdb, 0x8b, 0x50, 0xd7, 0xb3, 0x33, 0xce, 0xa0, 0x22, 0xe5, 0x58, 0x14, 0xe4,
0x12, 0x55, 0x32, 0xab, 0xa1, 0xaa, 0xc9, 0x4d, 0xa8, 0xc4, 0x6b, 0x60, 0x96, 0xc3, 0x57, 0x2e,
0xd8, 0xf8, 0x2e, 0x34, 0x0f, 0xd8, 0x40, 0xb8, 0x6c, 0x25, 0x0b, 0xb9, 0x7c, 0x1d, 0x16, 0x34,
0x8e, 0x52, 0x35, 0xc5, 0x17, 0x93, 0x59, 0xce, 0xbd, 0x20, 0x14, 0xa5, 0xe0, 0x6f, 0xe3, 0x9f,
0xe6, 0x80, 0x74, 0x82, 0xd0, 0x99, 0xda, 0x21, 0xdd, 0xa3, 0x8a, 0x67, 0xf6, 0xa1, 0xce, 0x72,
0x1b, 0x7a, 0x6d, 0x2e, 0x28, 0x73, 0x81, 0xec, 0x5d, 0xc1, 0xe3, 0xd2, 0x09, 0xb6, 0x74, 0x6a,
0xbe, 0x4d, 0xc6, 0x32, 0x60, 0xd3, 0x2d, 0xb4, 0xfd, 0x33, 0x1a, 0xa2, 0x78, 0x2d, 0xe4, 0x42,
0xe0, 0x20, 0x26, 0x58, 0x6f, 0xfe, 0x2c, 0x2c, 0xa7, 0xf2, 0xd0, 0x37, 0xad, 0x6a, 0xc6, 0xa6,
0x55, 0xd0, 0x37, 0xad, 0x5f, 0xcb, 0xc1, 0x4a, 0xac, 0x62, 0x62, 0x19, 0x6e, 0x40, 0x99, 0xb1,
0x0b, 0x36, 0x79, 0x73, 0x5c, 0xdc, 0x3f, 0xa5, 0x38, 0xc1, 0x3f, 0x82, 0xd5, 0x53, 0x4a, 0x7d,
0x3b, 0x44, 0x24, 0xf2, 0x13, 0x36, 0x44, 0x3c, 0x67, 0xce, 0xf5, 0x05, 0x7e, 0x60, 0x87, 0x47,
0xd4, 0x67, 0xc3, 0x45, 0x0c, 0x68, 0x48, 0xe2, 0x0b, 0xa4, 0x2e, 0xe0, 0x24, 0xae, 0x05, 0x48,
0xf2, 0x05, 0x03, 0x19, 0x7f, 0x94, 0x87, 0x25, 0xb6, 0x0f, 0x1d, 0xda, 0xee, 0x95, 0xec, 0xd0,
0x83, 0xcc, 0x0e, 0xbd, 0xa7, 0x49, 0x1d, 0x1a, 0xf5, 0xd7, 0xed, 0xcd, 0x42, 0xb2, 0x37, 0xd3,
0xd5, 0x2c, 0xa6, 0xaa, 0x49, 0xde, 0x82, 0x7a, 0xac, 0xdd, 0x25, 0xd5, 0x6e, 0x08, 0xa2, 0x06,
0xab, 0x23, 0xc2, 0x82, 0x76, 0x44, 0x60, 0xac, 0x85, 0xad, 0x54, 0x56, 0x7a, 0x20, 0x24, 0x42,
0xc6, 0xaf, 0x59, 0xd9, 0x01, 0x3b, 0x47, 0x05, 0x8c, 0x95, 0x59, 0x73, 0x57, 0x9c, 0xa5, 0xe8,
0x18, 0xf9, 0x41, 0xc5, 0x6c, 0x22, 0xe2, 0x38, 0x82, 0xff, 0xe9, 0xc7, 0xfd, 0x6d, 0x68, 0x46,
0xdd, 0x27, 0xc6, 0x9c, 0x40, 0x91, 0xad, 0x21, 0x91, 0x01, 0xfe, 0x36, 0xfe, 0x5e, 0x9e, 0x13,
0xee, 0x78, 0x4e, 0x74, 0xa0, 0x21, 0x50, 0x44, 0x51, 0x4a, 0x10, 0xb2, 0xdf, 0xd7, 0x1e, 0x0f,
0x7f, 0x8a, 0x9d, 0x7e, 0x13, 0x2a, 0x01, 0xeb, 0x40, 0x7b, 0xc2, 0xfb, 0xbd, 0x62, 0x96, 0xd9,
0x77, 0x7b, 0x32, 0x89, 0xc6, 0xa3, 0x7c, 0xed, 0x78, 0x54, 0x5e, 0x65, 0x3c, 0xaa, 0xd9, 0xe3,
0x61, 0xbc, 0x03, 0xcb, 0x5a, 0x2f, 0xbd, 0xa0, 0x3f, 0x7b, 0x40, 0x0e, 0x9c, 0x20, 0x3c, 0x76,
0x59, 0x16, 0x4a, 0xa4, 0x89, 0x55, 0x24, 0x97, 0xa8, 0x08, 0x43, 0xda, 0x97, 0x02, 0x99, 0x17,
0x48, 0xfb, 0x12, 0x91, 0xc6, 0x67, 0xb0, 0x12, 0xcb, 0x4f, 0x14, 0xfd, 0x06, 0x94, 0xe6, 0xe1,
0xa5, 0x27, 0xcf, 0x84, 0x35, 0xb1, 0x62, 0x8e, 0xc3, 0x4b, 0xcf, 0xe4, 0x18, 0xe3, 0x31, 0x2c,
0xf7, 0xe8, 0x73, 0xc1, 0xfd, 0x64, 0x45, 0xde, 0x86, 0xe2, 0x4b, 0xb4, 0x1c, 0x88, 0x37, 0xb6,
0x80, 0xe8, 0x89, 0x45, 0xa9, 0x9a, 0xd2, 0x23, 0x17, 0x53, 0x7a, 0x18, 0x6f, 0x03, 0x19, 0x38,
0x67, 0xee, 0x21, 0x0d, 0x02, 0xfb, 0x4c, 0xf1, 0xcb, 0x26, 0x14, 0xa6, 0xc1, 0x99, 0x60, 0xee,
0xec, 0xa7, 0xf1, 0x11, 0xac, 0xc4, 0xe8, 0x44, 0xc6, 0xaf, 0x41, 0x35, 0x70, 0xce, 0x5c, 0x94,
0xe8, 0x45, 0xd6, 0x11, 0xc0, 0xd8, 0x83, 0xd5, 0x2f, 0xa8, 0xef, 0x9c, 0x5e, 0xbd, 0x2c, 0xfb,
0x78, 0x3e, 0xf9, 0x64, 0x3e, 0x1d, 0x58, 0x4b, 0xe4, 0x23, 0x8a, 0xe7, 0xcb, 0x48, 0x8c, 0x64,
0xc5, 0xe4, 0x1f, 0xda, 0x86, 0x91, 0xd7, 0x37, 0x0c, 0xc3, 0x03, 0xb2, 0xe3, 0xb9, 0x2e, 0x1d,
0x85, 0x47, 0x94, 0xfa, 0xb2, 0x32, 0xef, 0x6a, 0x6b, 0xa6, 0xf6, 0x70, 0x43, 0xf4, 0x6c, 0x72,
0x17, 0x12, 0x8b, 0x89, 0x40, 0x71, 0x46, 0xfd, 0x29, 0x66, 0x5c, 0x31, 0xf1, 0x37, 0xeb, 0xdc,
0xd0, 0x99, 0x52, 0x6f, 0x1e, 0x0a, 0xee, 0x29, 0x3f, 0x8d, 0x35, 0x58, 0x89, 0x15, 0xc8, 0x6b,
0x6d, 0x3c, 0x80, 0xb5, 0x5d, 0x27, 0x18, 0xa5, 0xab, 0xb2, 0x01, 0xe5, 0xd9, 0xfc, 0xc4, 0x8a,
0x6f, 0x75, 0x4f, 0xe9, 0x95, 0xd1, 0x82, 0xf5, 0x64, 0x0a, 0x91, 0xd7, 0xaf, 0xe6, 0xa1, 0xb8,
0x3f, 0x3c, 0xd8, 0x21, 0x9b, 0x50, 0x71, 0xdc, 0x91, 0x37, 0x65, 0x82, 0x3e, 0xef, 0x0d, 0xf5,
0x7d, 0x2d, 0x0b, 0xb8, 0x05, 0x55, 0x3c, 0x1f, 0x4c, 0xbc, 0xd1, 0x33, 0x21, 0x6a, 0x57, 0x18,
0xe0, 0xc0, 0x1b, 0x3d, 0x63, 0xcb, 0x8c, 0x5e, 0xce, 0x1c, 0x1f, 0x15, 0x44, 0x52, 0x01, 0x52,
0xe4, 0xb2, 0x65, 0x84, 0x88, 0xd4, 0x24, 0x42, 0x0c, 0x62, 0x1b, 0x3b, 0x97, 0xb9, 0xab, 0xe7,
0x28, 0x06, 0x8d, 0xe9, 0x25, 0x79, 0x1f, 0xc8, 0xa9, 0xe7, 0x3f, 0xb7, 0x7d, 0x25, 0x26, 0xba,
0x82, 0x05, 0x17, 0xcd, 0xe5, 0x08, 0x23, 0x44, 0x20, 0xf2, 0x10, 0xd6, 0x34, 0x72, 0x2d, 0x63,
0x2e, 0xae, 0xad, 0x44, 0xc8, 0x7d, 0x59, 0x84, 0xf1, 0x2b, 0x79, 0x20, 0x22, 0xfd, 0x8e, 0xe7,
0x06, 0xa1, 0x6f, 0x3b, 0x6e, 0x18, 0xc4, 0x85, 0xc6, 0x5c, 0x42, 0x68, 0xbc, 0x07, 0x4d, 0x14,
0x59, 0x75, 0xc9, 0x31, 0x1f, 0xc9, 0xef, 0x66, 0x24, 0x3d, 0xbe, 0x05, 0x8b, 0xd1, 0xb1, 0x41,
0xe9, 0x07, 0x8b, 0x66, 0x5d, 0x1d, 0x1d, 0x18, 0xd5, 0x07, 0xb0, 0xca, 0x18, 0x82, 0x14, 0x87,
0x95, 0x1a, 0x84, 0x33, 0xce, 0xe5, 0xa9, 0x7d, 0x79, 0x44, 0xe5, 0x21, 0x05, 0xe5, 0x4c, 0x03,
0x1a, 0x4a, 0x82, 0x44, 0x4a, 0xde, 0x73, 0x35, 0x21, 0x43, 0x22, 0x4d, 0xb6, 0x90, 0xbf, 0x90,
0x2d, 0xe4, 0x1b, 0xff, 0xa6, 0x0a, 0x65, 0xd9, 0x8d, 0x28, 0xb1, 0x87, 0xce, 0x05, 0x8d, 0x24,
0x76, 0xf6, 0xc5, 0x0e, 0x02, 0x3e, 0x9d, 0x7a, 0xa1, 0x3a, 0xa9, 0xf1, 0x65, 0x52, 0xe7, 0x40,
0x71, 0x56, 0xd3, 0x4e, 0x0b, 0x5c, 0xad, 0xc9, 0xc5, 0x76, 0x79, 0x5a, 0xe0, 0xb2, 0xe0, 0x2d,
0x28, 0x4b, 0x99, 0xbf, 0xa8, 0xf4, 0x1d, 0x0b, 0x23, 0x2e, 0xf0, 0x6f, 0x42, 0x65, 0x64, 0xcf,
0xec, 0x91, 0x13, 0x72, 0x71, 0xbd, 0x60, 0xaa, 0x6f, 0x96, 0xfb, 0xc4, 0x1b, 0xd9, 0x13, 0xeb,
0xc4, 0x9e, 0xd8, 0xee, 0x88, 0x0a, 0x7d, 0x61, 0x1d, 0x81, 0xdb, 0x1c, 0x46, 0xbe, 0x05, 0x8b,
0xa2, 0x9e, 0x92, 0x8a, 0xab, 0x0d, 0x45, 0xed, 0x25, 0x19, 0x3b, 0x55, 0x7a, 0x53, 0x36, 0x2e,
0xa7, 0x94, 0x9f, 0xbf, 0x0a, 0x66, 0x95, 0x43, 0xf6, 0x28, 0xb6, 0x56, 0xa0, 0x9f, 0xf3, 0x39,
0x5c, 0xe5, 0x45, 0x71, 0xe0, 0x97, 0x7c, 0xfe, 0xa6, 0x0f, 0x61, 0x05, 0xed, 0x10, 0xf6, 0x2e,
0x2c, 0xcf, 0xdd, 0x80, 0x86, 0xe1, 0x84, 0x8e, 0x55, 0x5d, 0x6a, 0x48, 0xd4, 0x54, 0x08, 0x59,
0x9d, 0x2d, 0x58, 0xe1, 0x8a, 0xce, 0xc0, 0x0e, 0xbd, 0xe0, 0xdc, 0x09, 0xac, 0x80, 0xba, 0x52,
0x15, 0xb6, 0x8c, 0xa8, 0x81, 0xc0, 0x0c, 0xb8, 0xfa, 0x64, 0x23, 0x41, 0xef, 0xd3, 0x11, 0x75,
0x2e, 0xe8, 0x18, 0x0f, 0x68, 0x05, 0x73, 0x2d, 0x96, 0xc6, 0x14, 0x48, 0x3c, 0x6d, 0xcf, 0xa7,
0xd6, 0x7c, 0x36, 0xb6, 0x99, 0x20, 0xbe, 0xc8, 0x4f, 0x3c, 0xee, 0x7c, 0x7a, 0xcc, 0x21, 0xe4,
0x01, 0xc8, 0x13, 0x98, 0x98, 0x33, 0x4b, 0xb1, 0x2d, 0x87, 0x71, 0x0d, 0xb3, 0x2e, 0x28, 0xf8,
0x09, 0xf1, 0x8e, 0xbe, 0x58, 0x9a, 0x6c, 0x86, 0xe1, 0x56, 0x1e, 0x2d, 0x98, 0x16, 0x94, 0x67,
0xbe, 0x73, 0x61, 0x87, 0xb4, 0xb5, 0xcc, 0xf7, 0x71, 0xf1, 0xc9, 0x18, 0xb8, 0xe3, 0x3a, 0xa1,
0x63, 0x87, 0x9e, 0xdf, 0x22, 0x88, 0x8b, 0x00, 0xe4, 0x3e, 0x2c, 0xe3, 0x3c, 0x09, 0x42, 0x3b,
0x9c, 0x07, 0xe2, 0xf8, 0xb9, 0xc2, 0x8f, 0x79, 0x0c, 0x31, 0x40, 0x38, 0x9e, 0x40, 0xc9, 0xa7,
0xb0, 0xce, 0xa7, 0x46, 0x6a, 0x69, 0xae, 0x2a, 0xe1, 0x62, 0x05, 0x29, 0x76, 0xe2, 0x6b, 0xf4,
0x73, 0xd8, 0x10, 0xd3, 0x25, 0x95, 0x72, 0x4d, 0xa5, 0x5c, 0xe5, 0x24, 0x89, 0xa4, 0x5b, 0xb0,
0xcc, 0xaa, 0xe6, 0x8c, 0x2c, 0x91, 0x03, 0x5b, 0x15, 0xeb, 0xac, 0x15, 0x98, 0x68, 0x89, 0x23,
0x4d, 0xc4, 0x3d, 0xa5, 0x57, 0xe4, 0xbb, 0xb0, 0xc4, 0xa7, 0x0f, 0xea, 0x58, 0x70, 0x63, 0xde,
0xc4, 0x8d, 0x79, 0x4d, 0x74, 0xee, 0x8e, 0xc2, 0xe2, 0xde, 0xbc, 0x38, 0x8a, 0x7d, 0xb3, 0xa5,
0x31, 0x71, 0x4e, 0x29, 0xdb, 0x27, 0x5a, 0x1b, 0x7c, 0xb2, 0xc9, 0x6f, 0xb6, 0x6a, 0xe7, 0x33,
0xc4, 0xb4, 0x38, 0xb3, 0xe6, 0x5f, 0x38, 0x8f, 0x27, 0x5e, 0x40, 0xa5, 0x8a, 0xbc, 0x75, 0x53,
0x2c, 0x48, 0x06, 0x94, 0x67, 0x25, 0x76, 0x18, 0xe7, 0x9a, 0x0f, 0x65, 0xc8, 0xb8, 0x85, 0x13,
0xa3, 0xc1, 0x15, 0x20, 0xd2, 0x98, 0xc1, 0x84, 0xbf, 0x73, 0xfb, 0xb9, 0x64, 0xeb, 0xaf, 0x21,
0x37, 0x01, 0x06, 0x12, 0x0c, 0x7d, 0x0f, 0x96, 0xc5, 0x28, 0x44, 0xcc, 0xb4, 0x75, 0x1b, 0xb7,
0xc8, 0x9b, 0xb2, 0x8d, 0x29, 0x6e, 0x6b, 0x36, 0xf9, 0xb8, 0x68, 0xfc, 0x77, 0x1f, 0x88, 0x1c,
0x14, 0x2d, 0xa3, 0xd7, 0x5f, 0x96, 0xd1, 0xb2, 0x18, 0xa6, 0x08, 0x64, 0xfc, 0x6e, 0x8e, 0x4b,
0x54, 0x82, 0x3a, 0xd0, 0xb4, 0x4e, 0x9c, 0xaf, 0x59, 0x9e, 0x3b, 0xb9, 0x12, 0xac, 0x0e, 0x38,
0xa8, 0xef, 0x4e, 0x90, 0xd7, 0x38, 0xae, 0x4e, 0xc2, 0x37, 0xef, 0xba, 0x04, 0x22, 0xd1, 0x1d,
0xa8, 0xcd, 0xe6, 0x27, 0x13, 0x67, 0xc4, 0x49, 0x0a, 0x3c, 0x17, 0x0e, 0x42, 0x82, 0x37, 0xa0,
0x2e, 0xe6, 0x3a, 0xa7, 0x28, 0x22, 0x45, 0x4d, 0xc0, 0x90, 0x04, 0x85, 0x03, 0xea, 0x23, 0xb3,
0xab, 0x9b, 0xf8, 0xdb, 0xd8, 0x86, 0xd5, 0x78, 0xa5, 0x85, 0xe4, 0x72, 0x1f, 0x2a, 0x82, 0x93,
0x4a, 0x95, 0xed, 0x62, 0xbc, 0x37, 0x4c, 0x85, 0x37, 0xfe, 0x6d, 0x09, 0x56, 0x64, 0x1f, 0xb1,
0xc1, 0x1e, 0xcc, 0xa7, 0x53, 0xdb, 0xcf, 0x60, 0xd1, 0xb9, 0x17, 0xb3, 0xe8, 0x7c, 0x8a, 0x45,
0xc7, 0x15, 0x72, 0x9c, 0xc3, 0xc7, 0x15, 0x72, 0x6c, 0x76, 0x71, 0x35, 0x80, 0x6e, 0x19, 0x6a,
0x08, 0xf0, 0x90, 0x5b, 0xa0, 0x52, 0x1b, 0x4a, 0x29, 0x63, 0x43, 0xd1, 0xb7, 0x83, 0x85, 0xc4,
0x76, 0xf0, 0x06, 0xf0, 0x69, 0x2c, 0xe7, 0x63, 0x99, 0x6b, 0x06, 0x10, 0x26, 0x26, 0xe4, 0x3b,
0xb0, 0x94, 0xe4, 0xc0, 0x9c, 0xd5, 0x2f, 0x66, 0xf0, 0x5f, 0x67, 0x4a, 0x51, 0xa8, 0xd1, 0x88,
0xab, 0x82, 0xff, 0x3a, 0x53, 0x7a, 0x80, 0x18, 0x49, 0xdf, 0x01, 0xe0, 0x65, 0xe3, 0x32, 0x06,
0x5c, 0xc6, 0x6f, 0x27, 0x66, 0xa6, 0xd6, 0xeb, 0x5b, 0xec, 0x63, 0xee, 0x53, 0x5c, 0xd7, 0x55,
0x4c, 0x89, 0x4b, 0xfa, 0x53, 0x58, 0xf4, 0x66, 0xd4, 0xb5, 0x22, 0x2e, 0x58, 0xc3, 0xac, 0x9a,
0x22, 0xab, 0xae, 0x84, 0x9b, 0x0d, 0x46, 0xa7, 0x3e, 0xc9, 0xe7, 0xbc, 0x93, 0xa9, 0x96, 0xb2,
0x7e, 0x4d, 0xca, 0x45, 0x24, 0x8c, 0x92, 0x7e, 0x84, 0x4a, 0x2f, 0x6f, 0x32, 0xe7, 0x66, 0xa6,
0x06, 0xce, 0x23, 0xa9, 0x77, 0x37, 0x15, 0xc6, 0xd4, 0xa9, 0x8c, 0x5f, 0xcf, 0x41, 0x4d, 0x6b,
0x03, 0x59, 0x83, 0xe5, 0x9d, 0x7e, 0xff, 0xa8, 0x63, 0xb6, 0x87, 0xdd, 0x2f, 0x3a, 0xd6, 0xce,
0x41, 0x7f, 0xd0, 0x69, 0xde, 0x60, 0xe0, 0x83, 0xfe, 0x4e, 0xfb, 0xc0, 0xda, 0xeb, 0x9b, 0x3b,
0x12, 0x9c, 0x23, 0xeb, 0x40, 0xcc, 0xce, 0x61, 0x7f, 0xd8, 0x89, 0xc1, 0xf3, 0xa4, 0x09, 0xf5,
0x6d, 0xb3, 0xd3, 0xde, 0xd9, 0x17, 0x90, 0x02, 0x59, 0x85, 0xe6, 0xde, 0x71, 0x6f, 0xb7, 0xdb,
0x7b, 0x62, 0xed, 0xb4, 0x7b, 0x3b, 0x9d, 0x83, 0xce, 0x6e, 0xb3, 0x48, 0x1a, 0x50, 0x6d, 0x6f,
0xb7, 0x7b, 0xbb, 0xfd, 0x5e, 0x67, 0xb7, 0x59, 0x32, 0xfe, 0x28, 0x07, 0x10, 0x55, 0x94, 0xf1,
0xd5, 0xa8, 0xaa, 0xba, 0x59, 0x77, 0x2d, 0xd5, 0x28, 0xce, 0x57, 0xfd, 0xd8, 0x37, 0x79, 0x08,
0x65, 0x6f, 0x1e, 0x8e, 0xbc, 0x29, 0x3f, 0x44, 0x2c, 0x3e, 0x6c, 0xa5, 0xd2, 0xf5, 0x39, 0xde,
0x94, 0x84, 0x31, 0xd3, 0x6d, 0xe1, 0x65, 0xa6, 0xdb, 0xb8, 0x8d, 0x98, 0xcb, 0x75, 0x9a, 0x8d,
0xf8, 0x36, 0x40, 0xf0, 0x9c, 0xd2, 0x19, 0x6a, 0xcd, 0xc4, 0x2a, 0xa8, 0x22, 0x64, 0xc8, 0xce,
0x98, 0xff, 0x31, 0x07, 0x6b, 0x38, 0x97, 0xc6, 0x49, 0x26, 0x76, 0x17, 0x6a, 0x23, 0xcf, 0x9b,
0x51, 0x26, 0x54, 0x2b, 0x79, 0x4d, 0x07, 0x31, 0x06, 0xc5, 0x19, 0xf2, 0xa9, 0xe7, 0x8f, 0xa8,
0xe0, 0x61, 0x80, 0xa0, 0x3d, 0x06, 0x61, 0x6b, 0x48, 0x2c, 0x42, 0x4e, 0xc1, 0x59, 0x58, 0x8d,
0xc3, 0x38, 0xc9, 0x3a, 0x2c, 0x9c, 0xf8, 0xd4, 0x1e, 0x9d, 0x0b, 0xee, 0x25, 0xbe, 0xc8, 0xb7,
0x23, 0xed, 0xe1, 0x88, 0xad, 0x89, 0x09, 0xe5, 0x95, 0xaf, 0x98, 0x4b, 0x02, 0xbe, 0x23, 0xc0,
0x6c, 0x9f, 0xb7, 0x4f, 0x6c, 0x77, 0xec, 0xb9, 0x74, 0x2c, 0xce, 0xf2, 0x11, 0xc0, 0x38, 0x82,
0xf5, 0x64, 0xfb, 0x04, 0xbf, 0xfb, 0x44, 0xe3, 0x77, 0xfc, 0xe8, 0xbb, 0x79, 0xfd, 0x1a, 0xd3,
0x78, 0xdf, 0x7f, 0x2a, 0x42, 0x91, 0x1d, 0x78, 0xae, 0x3d, 0x1b, 0xe9, 0x67, 0xdb, 0x42, 0xca,
0xa0, 0x8f, 0x4a, 0x4a, 0x2e, 0x80, 0x89, 0xc1, 0x42, 0x08, 0x0a, 0x5e, 0x0a, 0xed, 0xd3, 0xd1,
0x85, 0x3c, 0xb3, 0x20, 0xc4, 0xa4, 0xa3, 0x0b, 0x54, 0x5a, 0xd8, 0x21, 0x4f, 0xcb, 0xf9, 0x55,
0x39, 0xb0, 0x43, 0x4c, 0x29, 0x50, 0x98, 0xae, 0xac, 0x50, 0x98, 0xaa, 0x05, 0x65, 0xc7, 0x3d,
0xf1, 0xe6, 0xae, 0x54, 0x11, 0xc9, 0x4f, 0xf4, 0x1f, 0x40, 0x4e, 0xca, 0xb6, 0x76, 0xce, 0x8d,
0x2a, 0x0c, 0x30, 0x64, 0x9b, 0xfb, 0x87, 0x50, 0x0d, 0xae, 0xdc, 0x91, 0xce, 0x83, 0x56, 0x45,
0xff, 0xb0, 0xd6, 0x6f, 0x0d, 0xae, 0xdc, 0x11, 0xce, 0xf8, 0x4a, 0x20, 0x7e, 0x91, 0x47, 0x50,
0x51, 0x16, 0x37, 0xbe, 0x83, 0xdc, 0xd4, 0x53, 0x48, 0x33, 0x1b, 0xd7, 0xb7, 0x29, 0x52, 0xf2,
0x01, 0x2c, 0xa0, 0xe6, 0x3d, 0x68, 0xd5, 0x31, 0x91, 0x3c, 0xf0, 0xb2, 0x6a, 0xa0, 0xe9, 0x9e,
0x8e, 0xd1, 0xfe, 0x65, 0x0a, 0x32, 0xd6, 0x4d, 0xa7, 0x13, 0x7b, 0x26, 0xf4, 0xe0, 0x0d, 0x6e,
0x01, 0x67, 0x10, 0xae, 0x04, 0xbf, 0x0b, 0x75, 0xb4, 0x66, 0x22, 0x8d, 0xcb, 0xe5, 0xd0, 0x82,
0x09, 0x0c, 0xb6, 0x37, 0xb1, 0x67, 0xbd, 0x60, 0xf3, 0x29, 0x34, 0x62, 0x95, 0xd1, 0xd5, 0x61,
0x0d, 0xae, 0x0e, 0x7b, 0x4b, 0x57, 0x87, 0x45, 0x5b, 0xa1, 0x48, 0xa6, 0xab, 0xc7, 0x8e, 0xa0,
0x22, 0xfb, 0x82, 0xf1, 0x9c, 0xe3, 0xde, 0xd3, 0x5e, 0xff, 0xcb, 0x9e, 0x35, 0xf8, 0xaa, 0xb7,
0xd3, 0xbc, 0x41, 0x96, 0xa0, 0xd6, 0xde, 0x41, 0x36, 0x86, 0x80, 0x1c, 0x23, 0x39, 0x6a, 0x0f,
0x06, 0x0a, 0x92, 0x67, 0x24, 0x47, 0xdd, 0x5e, 0xaf, 0xb3, 0xcb, 0x01, 0x05, 0x63, 0x0f, 0x9a,
0xc9, 0xb6, 0xb3, 0x59, 0x1e, 0x4a, 0x98, 0xb0, 0x31, 0x46, 0x80, 0xc8, 0x92, 0x91, 0xd7, 0x2c,
0x19, 0xc6, 0x23, 0x68, 0xb2, 0x9d, 0x9e, 0x75, 0xbe, 0xee, 0x60, 0x30, 0x61, 0xb2, 0xb8, 0x6e,
0x67, 0xac, 0x98, 0x35, 0x0e, 0xc3, 0xa2, 0x8c, 0x4f, 0x60, 0x59, 0x4b, 0x16, 0x69, 0x89, 0x98,
0xf4, 0x90, 0xd4, 0x12, 0xe1, 0xc9, 0x9f, 0x63, 0x8c, 0x0d, 0x58, 0x63, 0x9f, 0x9d, 0x0b, 0xea,
0x86, 0x83, 0xf9, 0x09, 0xf7, 0x4b, 0x71, 0x3c, 0xd7, 0xf8, 0x95, 0x1c, 0x54, 0x15, 0xe6, 0xfa,
0x65, 0xb3, 0x25, 0x14, 0x4a, 0x9c, 0x4f, 0x6e, 0x6a, 0x25, 0x60, 0xc2, 0x2d, 0xfc, 0x1b, 0x53,
0x2c, 0x55, 0x15, 0x08, 0x3b, 0xb1, 0xd3, 0x31, 0xad, 0x7e, 0xef, 0xa0, 0xdb, 0x63, 0xbb, 0x05,
0xeb, 0x67, 0x04, 0xec, 0xed, 0x21, 0x24, 0x67, 0x34, 0x61, 0xf1, 0x09, 0x0d, 0xbb, 0xee, 0xa9,
0x27, 0x3a, 0xc3, 0xf8, 0xb5, 0x05, 0x58, 0x52, 0xa0, 0x48, 0x31, 0x75, 0x41, 0xfd, 0xc0, 0xf1,
0x5c, 0x9c, 0x38, 0x55, 0x53, 0x7e, 0x32, 0x7e, 0x27, 0x8e, 0x6d, 0x28, 0x77, 0xac, 0x22, 0x56,
0x1c, 0xf4, 0x50, 0xe8, 0x78, 0x07, 0x96, 0x9c, 0x31, 0x75, 0x43, 0x27, 0xbc, 0xb2, 0x62, 0xf6,
0x81, 0x45, 0x09, 0x16, 0x82, 0xc7, 0x2a, 0x94, 0xec, 0x89, 0x63, 0x4b, 0x7f, 0x1f, 0xfe, 0xc1,
0xa0, 0x23, 0x6f, 0xe2, 0xf9, 0x78, 0x90, 0xa9, 0x9a, 0xfc, 0x83, 0x3c, 0x80, 0x55, 0x76, 0xa8,
0xd2, 0x0d, 0x5a, 0xc8, 0xb2, 0xb8, 0xa9, 0x82, 0xb8, 0xf3, 0xe9, 0x51, 0x64, 0xd4, 0x62, 0x18,
0x26, 0x6e, 0xb0, 0x14, 0x42, 0xbe, 0x54, 0x09, 0xb8, 0xa2, 0x64, 0xd9, 0x9d, 0x4f, 0xdb, 0x88,
0x51, 0xf4, 0x0f, 0x61, 0x8d, 0xd1, 0x2b, 0x89, 0x54, 0xa5, 0x58, 0xc2, 0x14, 0x2c, 0xb3, 0xae,
0xc0, 0xa9, 0x34, 0xb7, 0xa0, 0xca, 0x6b, 0xc5, 0xa6, 0x84, 0xb0, 0x7c, 0x61, 0x55, 0xa8, 0x1f,
0xa4, 0x5c, 0x73, 0xb8, 0x66, 0x20, 0xe9, 0x9a, 0xa3, 0x39, 0xf7, 0x54, 0x92, 0xce, 0x3d, 0x0f,
0x61, 0xed, 0x84, 0xcd, 0xd1, 0x73, 0x6a, 0x8f, 0xa9, 0x6f, 0x45, 0x33, 0x9f, 0x9f, 0x3f, 0x57,
0x18, 0x72, 0x1f, 0x71, 0x6a, 0xa1, 0x30, 0xd1, 0x90, 0x71, 0x22, 0x3a, 0xb6, 0x42, 0xcf, 0x42,
0x89, 0x51, 0xa8, 0x60, 0x1b, 0x1c, 0x3c, 0xf4, 0x76, 0x18, 0x30, 0x4e, 0x77, 0xe6, 0xdb, 0xb3,
0x73, 0x71, 0x3a, 0x54, 0x74, 0x4f, 0x18, 0x90, 0xbc, 0x06, 0x65, 0xb6, 0x26, 0x5c, 0xca, 0x3d,
0x1d, 0xf8, 0xb9, 0x4b, 0x82, 0xc8, 0x5b, 0xb0, 0x80, 0x65, 0x04, 0xad, 0x26, 0x2e, 0x88, 0x7a,
0xb4, 0x77, 0x38, 0xae, 0x29, 0x70, 0x4c, 0xfe, 0x9e, 0xfb, 0x0e, 0x67, 0x6c, 0x55, 0x13, 0x7f,
0x93, 0xef, 0x69, 0x5c, 0x72, 0x05, 0xd3, 0xbe, 0x25, 0xd2, 0x26, 0xa6, 0xe2, 0x75, 0x0c, 0xf3,
0x1b, 0x65, 0x5f, 0xdf, 0x2f, 0x56, 0x6a, 0xcd, 0xba, 0xd1, 0x42, 0x8f, 0x24, 0x93, 0x8e, 0xbc,
0x0b, 0xea, 0x5f, 0xc5, 0xd6, 0x48, 0x0e, 0x36, 0x52, 0xa8, 0xc8, 0x6b, 0xc1, 0x17, 0x70, 0x6b,
0xea, 0x8d, 0xa5, 0x94, 0x50, 0x97, 0xc0, 0x43, 0x6f, 0xcc, 0xa4, 0x99, 0x65, 0x45, 0x74, 0xea,
0xb8, 0x4e, 0x70, 0x4e, 0xc7, 0x42, 0x58, 0x68, 0x4a, 0xc4, 0x9e, 0x80, 0x33, 0x91, 0x7c, 0xe6,
0x7b, 0x67, 0x6a, 0xef, 0xcc, 0x99, 0xea, 0xdb, 0xf8, 0x14, 0x4a, 0x7c, 0x04, 0xd9, 0x42, 0xc1,
0xf1, 0xcd, 0x89, 0x85, 0x82, 0xd0, 0x16, 0x94, 0x5d, 0x1a, 0x3e, 0xf7, 0xfc, 0x67, 0xd2, 0xca,
0x27, 0x3e, 0x8d, 0x1f, 0xa3, 0x96, 0x55, 0xb9, 0x96, 0x71, 0x6d, 0x04, 0x9b, 0xc2, 0x7c, 0x0a,
0x06, 0xe7, 0xb6, 0x50, 0xfc, 0x56, 0x10, 0x30, 0x38, 0xb7, 0x53, 0x53, 0x38, 0x9f, 0xf6, 0x2e,
0x7b, 0x0b, 0x16, 0xa5, 0x33, 0x5b, 0x60, 0x4d, 0xe8, 0x69, 0x28, 0x96, 0x64, 0x5d, 0x78, 0xb2,
0x05, 0x07, 0xf4, 0x34, 0x34, 0x0e, 0x61, 0x59, 0x2c, 0x9a, 0xfe, 0x8c, 0xca, 0xa2, 0x3f, 0xcb,
0x3a, 0x26, 0xd5, 0x1e, 0xae, 0xc4, 0xe5, 0x0f, 0x2e, 0xe9, 0xc5, 0xce, 0x4e, 0xc6, 0x0f, 0x22,
0x95, 0x22, 0x93, 0x4e, 0x44, 0x7e, 0xe2, 0xb0, 0x22, 0x8d, 0xa3, 0xd2, 0x01, 0x43, 0x1d, 0x89,
0x9c, 0x31, 0xeb, 0x9d, 0x60, 0x3e, 0x1a, 0x49, 0x27, 0xc3, 0x8a, 0x29, 0x3f, 0x8d, 0xff, 0x95,
0x83, 0x15, 0xcc, 0x4c, 0x1e, 0xf3, 0xc4, 0x4e, 0xf1, 0x13, 0x57, 0x92, 0x8d, 0x8f, 0x2e, 0x12,
0xf2, 0x8f, 0x97, 0x5b, 0x77, 0x92, 0x96, 0x9b, 0x62, 0xa6, 0xe5, 0xe6, 0xdb, 0xd0, 0x1c, 0xd3,
0x89, 0x83, 0xd3, 0x49, 0x4a, 0x59, 0x5c, 0xac, 0x5d, 0x92, 0x70, 0xa9, 0x7a, 0x48, 0x99, 0x8b,
0x16, 0xd2, 0xa6, 0xc4, 0xbf, 0x9a, 0x83, 0x65, 0x2e, 0xe8, 0xa1, 0xc2, 0x47, 0x74, 0xe8, 0x63,
0xa9, 0xd9, 0x10, 0x6c, 0x57, 0xb4, 0x3d, 0x12, 0x80, 0x10, 0xca, 0x89, 0xf7, 0x6f, 0x08, 0x8d,
0x87, 0x80, 0x92, 0xef, 0xe0, 0x11, 0xd6, 0xb5, 0x10, 0x28, 0x04, 0xf8, 0x9b, 0x19, 0xa2, 0xa5,
0x4a, 0xce, 0xce, 0xb7, 0x2e, 0x82, 0xb6, 0x2b, 0xb0, 0xc0, 0xd5, 0x67, 0xc6, 0x1e, 0x34, 0x62,
0xc5, 0xc4, 0x4c, 0x44, 0x75, 0x6e, 0x22, 0x4a, 0xd9, 0xaf, 0xf3, 0x69, 0xfb, 0xf5, 0x15, 0xac,
0x98, 0xd4, 0x1e, 0x5f, 0xed, 0x79, 0xfe, 0x51, 0x70, 0x12, 0xee, 0x71, 0xe9, 0x99, 0xed, 0x55,
0xca, 0x63, 0x25, 0x66, 0x87, 0x91, 0xb6, 0x79, 0xd9, 0x89, 0xdf, 0x82, 0xc5, 0xc8, 0xb5, 0x45,
0xd3, 0xd8, 0x37, 0x94, 0x77, 0x0b, 0x0a, 0x5d, 0x04, 0x8a, 0xb3, 0xe0, 0x24, 0x14, 0x3a, 0x7b,
0xfc, 0x6d, 0xfc, 0xe3, 0x12, 0x10, 0x36, 0xeb, 0x13, 0x13, 0x2b, 0x35, 0x2c, 0xb9, 0xb4, 0x15,
0x2f, 0xe1, 0xb8, 0x93, 0x4f, 0x39, 0xee, 0x3c, 0x00, 0xa2, 0x11, 0x48, 0x7f, 0xa2, 0x82, 0xf2,
0x27, 0x6a, 0x46, 0xb4, 0xc2, 0x9d, 0xe8, 0x01, 0xac, 0x8a, 0xe3, 0x4a, 0xbc, 0x39, 0x38, 0xcd,
0x4c, 0xc2, 0xcf, 0x2d, 0xb1, 0x36, 0x49, 0xa7, 0x1d, 0xa9, 0x06, 0x2f, 0x70, 0xa7, 0x1d, 0xa9,
0xad, 0xd2, 0x26, 0xf3, 0xc2, 0x4b, 0x27, 0x73, 0x39, 0x73, 0x32, 0x6b, 0xda, 0xcb, 0x4a, 0x5c,
0x7b, 0x99, 0xd2, 0xc3, 0x73, 0xf9, 0x3c, 0xa6, 0x87, 0xbf, 0x07, 0x4d, 0xa9, 0xc9, 0x52, 0x3a,
0x52, 0xe1, 0xcd, 0x21, 0x94, 0x55, 0x52, 0x4b, 0x1a, 0x33, 0x1a, 0xd6, 0x5e, 0xc5, 0x7a, 0x59,
0xcf, 0xb6, 0x5e, 0xa6, 0x75, 0x7e, 0x8d, 0x0c, 0x9d, 0xdf, 0xa3, 0xc8, 0x59, 0x23, 0x38, 0x77,
0xa6, 0x28, 0x48, 0x45, 0xde, 0xa6, 0xa2, 0x93, 0x07, 0xe7, 0xce, 0xd4, 0x94, 0x6e, 0x53, 0xec,
0x83, 0xec, 0xc0, 0x1d, 0xd1, 0x9e, 0x0c, 0x8f, 0x27, 0xde, 0x0b, 0x4b, 0x38, 0x55, 0x36, 0x39,
0xd9, 0x61, 0xc2, 0xf9, 0x29, 0xd1, 0x29, 0xd2, 0x5f, 0x26, 0xe0, 0x8a, 0x63, 0xd9, 0x29, 0x87,
0xdc, 0x61, 0x06, 0xd9, 0x03, 0x23, 0x11, 0x4a, 0xc5, 0xe0, 0x02, 0xe5, 0xae, 0x86, 0x59, 0x9b,
0xda, 0x97, 0x07, 0xa8, 0x34, 0x0c, 0x2e, 0x8c, 0x3f, 0xc9, 0x41, 0x93, 0x4d, 0xe1, 0x18, 0x77,
0xf8, 0x1c, 0x90, 0xdf, 0xbd, 0x22, 0x73, 0xa8, 0x31, 0x5a, 0xc9, 0x1b, 0x3e, 0x05, 0x5c, 0xec,
0x96, 0x37, 0xa3, 0xae, 0x60, 0x0d, 0xad, 0x38, 0x6b, 0x88, 0xb6, 0x89, 0xfd, 0x1b, 0xfc, 0xd4,
0xc9, 0x20, 0xe4, 0x73, 0xa8, 0xb2, 0x35, 0x85, 0x93, 0x57, 0xf8, 0x73, 0x6f, 0x2a, 0x4d, 0x42,
0x6a, 0x79, 0xb3, 0xa4, 0x33, 0xf1, 0x99, 0xe5, 0x0e, 0x55, 0xcc, 0x70, 0x87, 0xd2, 0x78, 0xcf,
0x3e, 0xc0, 0x53, 0x7a, 0xc5, 0x3a, 0x21, 0xf4, 0x7c, 0x26, 0xab, 0xb1, 0x25, 0x76, 0x6a, 0x4f,
0x1d, 0xa1, 0xcd, 0x2c, 0x99, 0xd5, 0x67, 0xf4, 0x6a, 0x0f, 0x01, 0x6c, 0x6e, 0x31, 0x74, 0xc4,
0x80, 0x4a, 0x66, 0xe5, 0x19, 0xbd, 0xe2, 0xdc, 0xc7, 0x82, 0xc6, 0x53, 0x7a, 0xb5, 0x4b, 0xf9,
0x61, 0xc0, 0xf3, 0x59, 0xa7, 0xfb, 0xf6, 0x73, 0x26, 0xfd, 0xc7, 0xdc, 0x75, 0x6a, 0xbe, 0xfd,
0xfc, 0x29, 0xbd, 0x92, 0xae, 0x43, 0x65, 0x86, 0x9f, 0x78, 0x23, 0x21, 0xbe, 0x48, 0x05, 0x52,
0x54, 0x29, 0x73, 0xe1, 0x19, 0xfe, 0x36, 0xfe, 0x38, 0x07, 0x0d, 0x56, 0x7f, 0xdc, 0x79, 0x70,
0x16, 0x09, 0xff, 0xdf, 0x5c, 0xe4, 0xff, 0xfb, 0x50, 0x30, 0x64, 0xbe, 0x8d, 0xe5, 0xaf, 0xdf,
0xc6, 0x70, 0x6c, 0xf8, 0x1e, 0xf6, 0x21, 0x54, 0xf9, 0xc4, 0x60, 0xec, 0xa7, 0x10, 0x1b, 0xe0,
0x58, 0x83, 0xcc, 0x0a, 0x92, 0x3d, 0xe5, 0xbe, 0x84, 0x9a, 0xae, 0x9e, 0x77, 0x71, 0xd5, 0x57,
0x1a, 0xfa, 0x8c, 0x61, 0x28, 0x5d, 0xe3, 0x4b, 0xa8, 0x2b, 0xc2, 0x17, 0x92, 0x8a, 0x70, 0xc3,
0x85, 0x0a, 0x1b, 0x6a, 0x6c, 0x6c, 0x46, 0xa6, 0xb9, 0xac, 0x4c, 0x99, 0xb0, 0x63, 0xb3, 0xfd,
0x8c, 0xf1, 0xe8, 0xbc, 0x10, 0x76, 0xec, 0x80, 0xb2, 0x8c, 0x58, 0xc5, 0x5d, 0xcf, 0x42, 0xcd,
0xb2, 0xd0, 0xb9, 0x56, 0xcc, 0xaa, 0xeb, 0x1d, 0x71, 0x80, 0xf1, 0x17, 0x72, 0x50, 0xd3, 0xd6,
0x2c, 0x9a, 0x1a, 0x54, 0x77, 0xf2, 0x05, 0x1e, 0x5f, 0x01, 0xb1, 0xf1, 0xd8, 0xbf, 0x61, 0x36,
0x46, 0xb1, 0x01, 0xda, 0x12, 0x53, 0x19, 0x53, 0xe6, 0x63, 0xfa, 0x2d, 0xd9, 0x2e, 0x39, 0x7f,
0xd9, 0xef, 0xed, 0x05, 0x28, 0x32, 0x52, 0xe3, 0x31, 0x2c, 0x6b, 0xd5, 0xe0, 0xfa, 0x9f, 0x57,
0xed, 0x00, 0xe3, 0xe7, 0x55, 0x62, 0x56, 0x06, 0xb7, 0xdd, 0x4b, 0xb7, 0x4d, 0x3a, 0xe6, 0xfd,
0x22, 0xdc, 0x43, 0x39, 0x08, 0x7b, 0xe6, 0x15, 0x3d, 0x09, 0x8d, 0x5f, 0xce, 0xc1, 0x8a, 0x96,
0xfd, 0x9e, 0xe3, 0xda, 0x13, 0xe7, 0xc7, 0xb8, 0x8d, 0x05, 0xce, 0x99, 0x9b, 0x28, 0x80, 0x83,
0xbe, 0x4e, 0x01, 0xe4, 0x2e, 0xd4, 0xb9, 0x9f, 0x38, 0xbf, 0x6b, 0x20, 0xb6, 0x59, 0x40, 0x98,
0x69, 0x3f, 0x1f, 0x5e, 0x1a, 0x7f, 0x2d, 0x0f, 0xab, 0xa2, 0x0a, 0xe8, 0xce, 0xef, 0x30, 0x51,
0xf7, 0x30, 0x38, 0x23, 0x9f, 0x43, 0x83, 0x75, 0x9f, 0xe5, 0xd3, 0x33, 0x27, 0x08, 0xa9, 0x74,
0x2b, 0xc8, 0xe0, 0xc6, 0x4c, 0x92, 0x61, 0xa4, 0xa6, 0xa0, 0x24, 0x8f, 0xa1, 0x86, 0x49, 0xb9,
0x0a, 0x4e, 0x8c, 0x55, 0x2b, 0x9d, 0x90, 0x8f, 0xc5, 0xfe, 0x0d, 0x13, 0x82, 0x68, 0x64, 0x1e,
0x43, 0x0d, 0x87, 0xf9, 0x02, 0xfb, 0x3a, 0xc1, 0xec, 0x52, 0x63, 0xc1, 0x12, 0xcf, 0xa2, 0x91,
0x69, 0x43, 0x83, 0xb3, 0x3b, 0xd1, 0x93, 0xc2, 0x07, 0x78, 0x33, 0x9d, 0x5c, 0xf6, 0x35, 0xab,
0xfc, 0x4c, 0xfb, 0xde, 0xae, 0x42, 0x39, 0xf4, 0x9d, 0xb3, 0x33, 0xea, 0x1b, 0xeb, 0xaa, 0x6b,
0x18, 0x1f, 0xa7, 0x83, 0x90, 0xce, 0xd8, 0x19, 0xc6, 0xf8, 0xe7, 0x39, 0xa8, 0x09, 0xce, 0xfc,
0x13, 0x7b, 0x2c, 0x6c, 0x26, 0x94, 0xb5, 0x55, 0x4d, 0x37, 0xfb, 0x0e, 0x2c, 0x4d, 0xd9, 0x81,
0xcb, 0x09, 0xaf, 0xe2, 0xee, 0x0a, 0x8b, 0x12, 0x2c, 0xce, 0x12, 0x5b, 0xb0, 0x82, 0x47, 0x8b,
0xc0, 0x0a, 0x9d, 0x89, 0x25, 0x91, 0xe2, 0x4e, 0xcb, 0x32, 0x47, 0x0d, 0x9d, 0xc9, 0xa1, 0x40,
0x30, 0x09, 0x3b, 0x08, 0xed, 0x33, 0x2a, 0xb8, 0x03, 0xff, 0x60, 0x87, 0xb8, 0x84, 0x2e, 0x40,
0x1e, 0xe2, 0xfe, 0xcf, 0x32, 0x6c, 0xa4, 0x50, 0xe2, 0x10, 0xa7, 0xac, 0xc3, 0x13, 0x67, 0x7a,
0xe2, 0x29, 0xeb, 0x44, 0x4e, 0xb3, 0x0e, 0x1f, 0x30, 0x8c, 0xb4, 0x4e, 0x50, 0x58, 0x93, 0x53,
0x16, 0xcd, 0x0b, 0x4a, 0x5d, 0x90, 0xc7, 0xc3, 0xec, 0x87, 0xf1, 0x6d, 0x30, 0x59, 0x9c, 0x84,
0xeb, 0x72, 0xe1, 0xca, 0x2c, 0x05, 0x0b, 0xc8, 0x9f, 0x85, 0x96, 0x5a, 0x19, 0xe2, 0x6c, 0xa3,
0xe9, 0x3e, 0x58, 0x49, 0xef, 0xbd, 0xa4, 0xa4, 0x98, 0xde, 0x17, 0x45, 0xaf, 0x75, 0xb9, 0xa8,
0x78, 0x86, 0xaa, 0xac, 0x0b, 0x78, 0x5d, 0x96, 0x85, 0x67, 0x95, 0x74, 0x89, 0xc5, 0x57, 0x6a,
0x1b, 0xea, 0xb4, 0x63, 0xc5, 0x9a, 0xb7, 0x44, 0xc6, 0x0a, 0xa5, 0x97, 0x7b, 0x0e, 0xeb, 0xcf,
0x6d, 0x27, 0x94, 0x6d, 0xd4, 0x54, 0x2f, 0x25, 0x2c, 0xef, 0xe1, 0x4b, 0xca, 0xfb, 0x92, 0x27,
0x8e, 0x9d, 0xde, 0x56, 0x9f, 0xa7, 0x81, 0xc1, 0xe6, 0xdf, 0x29, 0xc0, 0x62, 0x3c, 0x17, 0xc6,
0x7a, 0xc4, 0x76, 0x25, 0x05, 0x69, 0x71, 0x02, 0x10, 0x96, 0xb3, 0x1e, 0x17, 0xa0, 0xd3, 0x36,
0xbd, 0x7c, 0x86, 0x4d, 0x4f, 0x37, 0xa5, 0x15, 0x5e, 0xe6, 0x59, 0x51, 0x7c, 0x25, 0xcf, 0x8a,
0x52, 0x96, 0x67, 0xc5, 0x47, 0xd7, 0x9a, 0xe2, 0xb9, 0x42, 0x3c, 0xd3, 0x0c, 0xff, 0xe8, 0x7a,
0x33, 0x3c, 0xd7, 0x95, 0x5f, 0x67, 0x82, 0xd7, 0x1c, 0x08, 0x2a, 0xd7, 0x18, 0xc0, 0x34, 0x97,
0x82, 0x0c, 0x13, 0x7c, 0xf5, 0x6b, 0x98, 0xe0, 0x37, 0xff, 0x38, 0x07, 0x24, 0xbd, 0x3a, 0xc8,
0x13, 0x6e, 0x2e, 0x75, 0xe9, 0x44, 0x70, 0xee, 0xf7, 0x5f, 0x6d, 0x85, 0xc9, 0x09, 0x21, 0x53,
0x93, 0x0f, 0x60, 0x45, 0xbf, 0x79, 0xa7, 0xab, 0x36, 0x1a, 0x26, 0xd1, 0x51, 0x91, 0x92, 0x4e,
0x73, 0x63, 0x29, 0xbe, 0xd4, 0x8d, 0xa5, 0xf4, 0x52, 0x37, 0x96, 0x85, 0xb8, 0x1b, 0xcb, 0xe6,
0xbf, 0xca, 0xc1, 0x4a, 0xc6, 0x24, 0xfe, 0xe6, 0xda, 0xcc, 0xe6, 0x5e, 0x8c, 0xad, 0xe5, 0xc5,
0xdc, 0xd3, 0x39, 0xda, 0x81, 0x54, 0xec, 0xb2, 0xa1, 0x08, 0xc4, 0x4e, 0x75, 0xff, 0x65, 0xdc,
0x25, 0x4a, 0x61, 0xea, 0xc9, 0x37, 0xff, 0x6e, 0x1e, 0x6a, 0x1a, 0x92, 0xf5, 0x22, 0x9f, 0xb2,
0x9a, 0x83, 0x27, 0x97, 0x2d, 0x51, 0x31, 0x83, 0xd7, 0x04, 0x70, 0x72, 0x22, 0x9e, 0x2f, 0x2e,
0x21, 0x48, 0x22, 0xc1, 0x16, 0xac, 0x48, 0x53, 0x36, 0x8d, 0x1c, 0xe0, 0xc5, 0x5e, 0x23, 0xbc,
0x12, 0x44, 0x25, 0x91, 0xfe, 0x03, 0x79, 0xce, 0x8d, 0xc6, 0x4e, 0x33, 0x0d, 0x2e, 0x0b, 0x7f,
0x08, 0x31, 0x88, 0x6c, 0x9e, 0x7f, 0x08, 0x6b, 0xca, 0x21, 0x22, 0x96, 0x82, 0x1b, 0xa0, 0x88,
0x74, 0x7c, 0xd0, 0x92, 0x7c, 0x0f, 0x6e, 0x27, 0xea, 0x94, 0x48, 0xca, 0x35, 0x2d, 0x37, 0x63,
0xb5, 0xd3, 0x73, 0xd8, 0xfc, 0x73, 0xd0, 0x88, 0x31, 0xca, 0x6f, 0x6e, 0xc8, 0x93, 0xca, 0x30,
0xde, 0xa3, 0xba, 0x32, 0x6c, 0xf3, 0x7f, 0x14, 0x80, 0xa4, 0x79, 0xf5, 0x4f, 0xb3, 0x0a, 0xe9,
0x89, 0x59, 0xc8, 0x98, 0x98, 0xff, 0xdf, 0xe4, 0x87, 0x48, 0x27, 0xab, 0xf9, 0x23, 0xf0, 0xc5,
0xd9, 0x54, 0x08, 0x59, 0x8b, 0x4f, 0x93, 0x5e, 0x5b, 0x95, 0xd8, 0xe5, 0x51, 0x4d, 0x80, 0x4a,
0x38, 0x6f, 0x1d, 0xc3, 0x82, 0xed, 0x8e, 0xce, 0x3d, 0x5f, 0xf0, 0xc1, 0x9f, 0xf9, 0xda, 0xdb,
0xe7, 0x56, 0x1b, 0xd3, 0xa3, 0xd4, 0x66, 0x8a, 0xcc, 0x8c, 0x0f, 0xa1, 0xa6, 0x81, 0x49, 0x15,
0x4a, 0x07, 0xdd, 0xc3, 0xed, 0x7e, 0xf3, 0x06, 0x69, 0x40, 0xd5, 0xec, 0xec, 0xf4, 0xbf, 0xe8,
0x98, 0x9d, 0xdd, 0x66, 0x8e, 0x54, 0xa0, 0x78, 0xd0, 0x1f, 0x0c, 0x9b, 0x79, 0x63, 0x13, 0x5a,
0x22, 0xc7, 0xb4, 0x75, 0xea, 0x37, 0x8b, 0x4a, 0xa7, 0x8a, 0x48, 0x71, 0xc8, 0xff, 0x08, 0xea,
0xba, 0x78, 0x23, 0x66, 0x44, 0xc2, 0x25, 0x86, 0x1d, 0xef, 0x3d, 0x8d, 0x57, 0xef, 0x00, 0x77,
0x88, 0x18, 0xab, 0x64, 0xf9, 0x98, 0xdc, 0x9a, 0x61, 0x59, 0xc6, 0xf3, 0x51, 0x6c, 0x1a, 0xfe,
0x19, 0x58, 0x8c, 0x5b, 0x62, 0x04, 0x47, 0xca, 0x3a, 0xb2, 0xb2, 0xd4, 0x31, 0xd3, 0x0c, 0xf9,
0x1e, 0x34, 0x93, 0x96, 0x1c, 0x21, 0x3c, 0x5f, 0x93, 0x7e, 0xc9, 0x89, 0x1b, 0x77, 0xc8, 0x3e,
0xac, 0x66, 0x09, 0x78, 0x38, 0x3f, 0xae, 0x57, 0x73, 0x90, 0xb4, 0x10, 0x47, 0x3e, 0x13, 0x16,
0xbd, 0x12, 0x0e, 0xff, 0x5b, 0xf1, 0xf2, 0xb5, 0xce, 0xde, 0xe2, 0xff, 0x34, 0xdb, 0xde, 0x05,
0x40, 0x04, 0x23, 0x4d, 0xa8, 0xf7, 0x8f, 0x3a, 0x3d, 0x6b, 0x67, 0xbf, 0xdd, 0xeb, 0x75, 0x0e,
0x9a, 0x37, 0x08, 0x81, 0x45, 0xf4, 0xea, 0xd8, 0x55, 0xb0, 0x1c, 0x83, 0x09, 0x53, 0xab, 0x84,
0xe5, 0xc9, 0x2a, 0x34, 0xbb, 0xbd, 0x04, 0xb4, 0x40, 0x5a, 0xb0, 0x7a, 0xd4, 0xe1, 0x8e, 0x20,
0xb1, 0x7c, 0x8b, 0xec, 0xd0, 0x20, 0x9a, 0xcb, 0x0e, 0x0d, 0x5f, 0xda, 0x93, 0x09, 0x0d, 0xc5,
0x3a, 0x90, 0xb2, 0xf4, 0x5f, 0xcf, 0xc1, 0x5a, 0x02, 0x11, 0x99, 0x43, 0xb8, 0x24, 0x1d, 0x97,
0xa1, 0xeb, 0x08, 0x94, 0xab, 0xe9, 0x5d, 0x58, 0x56, 0xda, 0xb4, 0xc4, 0xae, 0xd4, 0x54, 0x08,
0x49, 0xfc, 0x01, 0xac, 0x68, 0x4a, 0xb9, 0x04, 0xaf, 0x20, 0x1a, 0x4a, 0x24, 0x30, 0xb6, 0x60,
0x41, 0x28, 0x2f, 0x9b, 0x50, 0x90, 0x37, 0x72, 0x8a, 0x26, 0xfb, 0x49, 0x08, 0x14, 0xa7, 0x91,
0x3f, 0x31, 0xfe, 0x36, 0x36, 0xd4, 0xdd, 0xba, 0x44, 0x2b, 0x7f, 0xb9, 0x08, 0xeb, 0x49, 0x8c,
0xf2, 0xb0, 0x2f, 0xc7, 0x1a, 0xc8, 0x0d, 0x63, 0x02, 0x44, 0x3e, 0x4e, 0xcc, 0x9e, 0x58, 0x13,
0x91, 0x54, 0x9f, 0x29, 0xb2, 0xa1, 0x0f, 0x93, 0x32, 0x22, 0x9f, 0xf2, 0x0d, 0x79, 0xab, 0x00,
0xdb, 0x94, 0x10, 0x19, 0x3f, 0x4e, 0x89, 0x8c, 0xc5, 0xac, 0x44, 0x09, 0x09, 0xb2, 0x03, 0x1b,
0x91, 0xe7, 0x6c, 0xbc, 0xcc, 0x52, 0x56, 0xf2, 0x35, 0x45, 0x7d, 0xa0, 0x17, 0xfe, 0x04, 0x5a,
0x51, 0x36, 0x89, 0x6a, 0x2c, 0x64, 0xe5, 0xb3, 0xae, 0xc8, 0xcd, 0x58, 0x7d, 0xbe, 0x0f, 0x9b,
0xb1, 0xfe, 0x8a, 0x57, 0xa9, 0x9c, 0x95, 0xd5, 0x86, 0xd6, 0x81, 0xb1, 0x4a, 0x1d, 0xc0, 0xad,
0x58, 0x5e, 0x89, 0x7a, 0x55, 0xb2, 0x32, 0x6b, 0x69, 0x99, 0xc5, 0x6a, 0x66, 0xfc, 0xf6, 0x02,
0x90, 0x1f, 0xcc, 0xa9, 0x7f, 0x85, 0x37, 0x6e, 0x83, 0x97, 0x5d, 0x09, 0x90, 0x8a, 0xb7, 0xfc,
0x2b, 0x5d, 0xbc, 0xcf, 0xba, 0xf8, 0x5e, 0x7c, 0xf9, 0xc5, 0xf7, 0xd2, 0xcb, 0x2e, 0xbe, 0xbf,
0x09, 0x0d, 0xe7, 0xcc, 0xf5, 0xd8, 0xbe, 0xc6, 0x8e, 0x35, 0x41, 0x6b, 0xe1, 0x6e, 0xe1, 0x5e,
0xdd, 0xac, 0x0b, 0x20, 0x3b, 0xd4, 0x04, 0xe4, 0x71, 0x44, 0x44, 0xc7, 0x67, 0x18, 0xfc, 0x41,
0xdf, 0xd1, 0x3a, 0xe3, 0x33, 0x2a, 0xf4, 0x8c, 0x38, 0x61, 0x65, 0x62, 0x06, 0x0f, 0xc8, 0x5b,
0xb0, 0x18, 0x78, 0x73, 0x76, 0x4a, 0x94, 0xdd, 0xc0, 0xcd, 0xd7, 0x75, 0x0e, 0x3d, 0x92, 0xce,
0x0c, 0x2b, 0xf3, 0x80, 0x5a, 0x53, 0x27, 0x08, 0x98, 0xac, 0x3d, 0xf2, 0xdc, 0xd0, 0xf7, 0x26,
0xc2, 0x22, 0xbd, 0x3c, 0x0f, 0xe8, 0x21, 0xc7, 0xec, 0x70, 0x04, 0xf9, 0x38, 0xaa, 0xd2, 0xcc,
0x76, 0xfc, 0xa0, 0x05, 0x58, 0x25, 0xd9, 0x52, 0x3c, 0x8c, 0xd9, 0x8e, 0xaf, 0xea, 0xc2, 0x3e,
0x82, 0xc4, 0x85, 0xfc, 0x5a, 0xf2, 0x42, 0xfe, 0x2f, 0x65, 0x5f, 0xc8, 0xe7, 0x5e, 0x79, 0x0f,
0x44, 0xd6, 0xe9, 0x21, 0xfe, 0x5a, 0xf7, 0xf2, 0xd3, 0x71, 0x06, 0x16, 0xbf, 0x4e, 0x9c, 0x81,
0xa5, 0xac, 0x38, 0x03, 0x1f, 0x42, 0x0d, 0xaf, 0x77, 0x5b, 0xe7, 0xe8, 0x9b, 0xcb, 0x2d, 0xec,
0x4d, 0xfd, 0xfe, 0xf7, 0xbe, 0xe3, 0x86, 0x26, 0xf8, 0xf2, 0x67, 0x90, 0xbe, 0xf2, 0xbf, 0xfc,
0x4a, 0x57, 0xfe, 0xbf, 0x99, 0xfb, 0xfc, 0xe2, 0x1a, 0xfa, 0x16, 0x54, 0xe4, 0x38, 0x31, 0x66,
0x7b, 0xea, 0x7b, 0x53, 0x69, 0xad, 0x63, 0xbf, 0xc9, 0x22, 0xe4, 0x43, 0x4f, 0x24, 0xce, 0x87,
0x9e, 0xf1, 0x0b, 0x50, 0xd3, 0xa6, 0x1a, 0x79, 0x83, 0xab, 0xa9, 0xd9, 0x41, 0x5b, 0x1c, 0x14,
0x78, 0x2f, 0x56, 0x05, 0xb4, 0x3b, 0x66, 0x9b, 0xc7, 0xd8, 0xf1, 0x29, 0x06, 0xe7, 0xb0, 0x7c,
0x7a, 0x41, 0xfd, 0x40, 0x5a, 0x59, 0x9b, 0x0a, 0x61, 0x72, 0xb8, 0xf1, 0x8b, 0xb0, 0x12, 0x1b,
0x5b, 0xc1, 0xbe, 0xdf, 0x82, 0x05, 0xec, 0x37, 0xe9, 0xca, 0x13, 0xbf, 0x57, 0x2f, 0x70, 0x18,
0x88, 0x84, 0x1b, 0x88, 0xad, 0x99, 0xef, 0x9d, 0x60, 0x21, 0x39, 0xb3, 0x26, 0x60, 0x47, 0xbe,
0x77, 0x62, 0xfc, 0x87, 0x02, 0x14, 0xf6, 0xbd, 0x99, 0xee, 0xcf, 0x9b, 0x4b, 0xf9, 0xf3, 0x0a,
0xed, 0x81, 0xa5, 0xb4, 0x03, 0xe2, 0x00, 0x86, 0x26, 0x4f, 0xa9, 0x21, 0xb8, 0x07, 0x8b, 0x8c,
0x4f, 0x84, 0x9e, 0x25, 0xee, 0xd1, 0xf0, 0x1d, 0x8e, 0x2f, 0x3e, 0x7b, 0x1a, 0x0e, 0xbd, 0x3d,
0x0e, 0x27, 0xab, 0x50, 0x50, 0x67, 0x51, 0x44, 0xb3, 0x4f, 0xb2, 0x0e, 0x0b, 0x78, 0xff, 0x47,
0x5e, 0xc2, 0x16, 0x5f, 0xe4, 0x7d, 0x58, 0x89, 0xe7, 0xcb, 0x59, 0x91, 0x10, 0x74, 0xf5, 0x8c,
0x91, 0x27, 0xdd, 0x04, 0xc6, 0x47, 0xa2, 0x6b, 0xd8, 0x05, 0xb3, 0x7c, 0x4a, 0x29, 0xa2, 0x34,
0xa6, 0x57, 0x89, 0x31, 0xbd, 0x3b, 0x50, 0x0b, 0x27, 0x17, 0xd6, 0xcc, 0xbe, 0x9a, 0x78, 0xb6,
0xbc, 0xf4, 0x07, 0xe1, 0xe4, 0xe2, 0x88, 0x43, 0xc8, 0x07, 0x00, 0xd3, 0xd9, 0x4c, 0xac, 0x3d,
0x34, 0xcf, 0x45, 0x53, 0xf9, 0xf0, 0xe8, 0x88, 0x4f, 0x39, 0xb3, 0x3a, 0x9d, 0xcd, 0xf8, 0x4f,
0xb2, 0x0b, 0x8b, 0x99, 0x01, 0x34, 0x6e, 0xcb, 0x5b, 0x12, 0xde, 0x6c, 0x2b, 0x63, 0x71, 0x36,
0x46, 0x3a, 0x6c, 0xf3, 0x7b, 0x40, 0xfe, 0x94, 0x31, 0x2a, 0x86, 0x50, 0x55, 0xf5, 0x4b, 0x45,
0xc6, 0xa8, 0xa5, 0x22, 0x63, 0x30, 0xbe, 0xc8, 0xa5, 0x1f, 0xc5, 0xf2, 0x41, 0x13, 0x7f, 0xc4,
0xfd, 0x22, 0xe3, 0x3f, 0xe7, 0xa0, 0xc4, 0xe3, 0x4d, 0xbc, 0x0d, 0x4b, 0x9c, 0x5e, 0xf9, 0x46,
0x0b, 0x07, 0x16, 0x2e, 0x44, 0x0d, 0x85, 0x5b, 0x34, 0x5b, 0x16, 0x5a, 0x98, 0x9e, 0x48, 0x8c,
0xd0, 0x42, 0xf5, 0xdc, 0x81, 0xaa, 0x2a, 0x5a, 0x9b, 0x3a, 0x15, 0x59, 0x32, 0x79, 0x1d, 0x8a,
0xe7, 0xde, 0x4c, 0xaa, 0xf1, 0x20, 0xea, 0x49, 0x13, 0xe1, 0x51, 0x5d, 0x58, 0x19, 0xd1, 0xbd,
0xa7, 0x82, 0xa8, 0x0b, 0x2b, 0x44, 0xde, 0xc2, 0x4f, 0xb4, 0x71, 0x21, 0xa3, 0x8d, 0xc7, 0xb0,
0xc4, 0xf8, 0x80, 0xe6, 0x45, 0x73, 0xfd, 0xa6, 0xf9, 0x6d, 0x26, 0xae, 0x8f, 0x26, 0xf3, 0x31,
0xd5, 0x15, 0xa9, 0xe8, 0xe8, 0x2a, 0xe0, 0xf2, 0x98, 0x64, 0xfc, 0x76, 0x8e, 0xf3, 0x17, 0x96,
0x2f, 0xb9, 0x07, 0x45, 0x57, 0x7a, 0xdc, 0x44, 0x42, 0xb9, 0xba, 0x23, 0xc8, 0xe8, 0x4c, 0xa4,
0x60, 0x43, 0x87, 0x7e, 0x2a, 0x7a, 0xee, 0x0d, 0xb3, 0xe6, 0xce, 0xa7, 0x4a, 0x0f, 0xf9, 0x2d,
0xd9, 0xac, 0x84, 0x0e, 0x8f, 0xb7, 0x5e, 0x2d, 0xd3, 0x2d, 0xcd, 0x63, 0xb6, 0x18, 0xdb, 0x31,
0xa5, 0x48, 0x3f, 0x3e, 0xa3, 0x9a, 0xa7, 0xec, 0xef, 0xe5, 0xa1, 0x11, 0xab, 0x11, 0xba, 0x0c,
0xb3, 0x0d, 0x80, 0xdb, 0x19, 0xc5, 0x78, 0xa3, 0x67, 0xa6, 0x38, 0x75, 0x69, 0xfd, 0x94, 0x8f,
0xf5, 0x93, 0x72, 0x99, 0x2b, 0xe8, 0x2e, 0x73, 0x0f, 0xa0, 0x1a, 0x85, 0x67, 0x8a, 0x57, 0x89,
0x95, 0x27, 0x6f, 0x4a, 0x46, 0x44, 0x91, 0x93, 0x5d, 0x49, 0x77, 0xb2, 0xfb, 0xae, 0xe6, 0x93,
0xb5, 0x80, 0xd9, 0x18, 0x59, 0x3d, 0xfa, 0x53, 0xf1, 0xc8, 0x32, 0x1e, 0x43, 0x4d, 0xab, 0xbc,
0xee, 0xd7, 0x94, 0x8b, 0xf9, 0x35, 0xa9, 0xbb, 0xd5, 0xf9, 0xe8, 0x6e, 0xb5, 0xf1, 0xab, 0x79,
0x68, 0xb0, 0xf5, 0xe5, 0xb8, 0x67, 0x47, 0xde, 0xc4, 0x19, 0xa1, 0xdd, 0x51, 0xad, 0x30, 0x21,
0x68, 0xc9, 0x75, 0x26, 0x96, 0x18, 0x97, 0xb3, 0xf4, 0x80, 0x20, 0x9c, 0x49, 0xab, 0x80, 0x20,
0x06, 0x34, 0x18, 0x63, 0x44, 0x0b, 0x62, 0x14, 0xe4, 0xc9, 0xac, 0x9d, 0x52, 0xba, 0x6d, 0x07,
0x9c, 0x43, 0xbe, 0x0f, 0x2b, 0x8c, 0x06, 0x6f, 0xfb, 0x4f, 0x9d, 0xc9, 0xc4, 0x89, 0x2e, 0x1a,
0x16, 0xcc, 0xe6, 0x29, 0xa5, 0xa6, 0x1d, 0xd2, 0x43, 0x86, 0x10, 0x31, 0xa1, 0x2a, 0x63, 0x27,
0xb0, 0x4f, 0x22, 0xc7, 0x6e, 0xf5, 0x2d, 0x0d, 0xf3, 0x91, 0xef, 0x83, 0xf0, 0xdb, 0x11, 0xa1,
0x2e, 0x30, 0x7d, 0x62, 0x26, 0x95, 0x93, 0x33, 0xc9, 0xf8, 0x47, 0x79, 0xa8, 0x69, 0xd3, 0xf2,
0x55, 0x76, 0xd7, 0xdb, 0x29, 0x3b, 0x71, 0x55, 0x37, 0x09, 0xbf, 0x19, 0x2f, 0xb2, 0xa0, 0x6e,
0xa3, 0xe9, 0x13, 0xf8, 0x16, 0x54, 0xd9, 0xaa, 0xfb, 0x10, 0xf5, 0xe9, 0x22, 0x26, 0x1b, 0x02,
0x8e, 0xe6, 0x27, 0x12, 0xf9, 0x10, 0x91, 0xa5, 0x08, 0xf9, 0x90, 0x21, 0x5f, 0x74, 0x1b, 0xe5,
0x53, 0xa8, 0x8b, 0x5c, 0x71, 0x4c, 0xc5, 0xb1, 0x60, 0x55, 0xdb, 0xb9, 0xd5, 0x78, 0x9b, 0x35,
0x5e, 0x1c, 0x1f, 0x7c, 0x91, 0xf0, 0xa1, 0x4c, 0x58, 0x79, 0x59, 0xc2, 0x87, 0xfc, 0xc3, 0xd8,
0x53, 0x17, 0x7c, 0xd0, 0x1b, 0x52, 0xf2, 0xb1, 0x0f, 0x60, 0x45, 0xb2, 0xab, 0xb9, 0x6b, 0xbb,
0xae, 0x37, 0x77, 0x47, 0x54, 0x5e, 0x76, 0x26, 0x02, 0x75, 0x1c, 0x61, 0x8c, 0xb1, 0x0a, 0x23,
0xc2, 0xbd, 0x2a, 0xef, 0x43, 0x89, 0xcb, 0xe5, 0x5c, 0xf8, 0xc8, 0x66, 0x5c, 0x9c, 0x84, 0xdc,
0x83, 0x12, 0x17, 0xcf, 0xf3, 0xd7, 0x32, 0x1b, 0x4e, 0x60, 0xb4, 0x81, 0xb0, 0x84, 0x87, 0x34,
0xf4, 0x9d, 0x51, 0x10, 0xdd, 0xa3, 0x2e, 0x85, 0x57, 0x33, 0x51, 0x56, 0xa4, 0x86, 0x8f, 0x28,
0x51, 0xe1, 0xc0, 0x69, 0xd8, 0xc6, 0xb4, 0x12, 0xcb, 0x43, 0x88, 0x4b, 0x13, 0x58, 0x3f, 0xa1,
0xe1, 0x73, 0x4a, 0x5d, 0x97, 0x09, 0x43, 0x23, 0xea, 0x86, 0xbe, 0x3d, 0x61, 0x83, 0xc4, 0x5b,
0xf0, 0x28, 0x95, 0x6b, 0xa4, 0xd0, 0xda, 0x8e, 0x12, 0xee, 0xa8, 0x74, 0x9c, 0x77, 0xac, 0x9d,
0x64, 0xe1, 0x36, 0x7f, 0x1e, 0x36, 0xaf, 0x4f, 0x94, 0x11, 0xb5, 0xe1, 0x5e, 0x9c, 0xab, 0x28,
0xa3, 0xee, 0xc4, 0xb3, 0x43, 0x5e, 0x1b, 0x9d, 0xb3, 0xf4, 0xa0, 0xa6, 0x61, 0xa2, 0xbd, 0x3f,
0x87, 0xc2, 0x1d, 0xff, 0x60, 0x3b, 0x92, 0xeb, 0xf9, 0x53, 0x34, 0xa2, 0x8e, 0xad, 0x28, 0xf7,
0x9c, 0xb9, 0x14, 0xc1, 0xd1, 0xef, 0xc6, 0xd8, 0x82, 0x25, 0x94, 0xec, 0xb5, 0x8d, 0xee, 0x45,
0xc2, 0xa0, 0xb1, 0x0a, 0xa4, 0xc7, 0x79, 0x97, 0xee, 0x61, 0xfa, 0x07, 0x05, 0xa8, 0x69, 0x60,
0xb6, 0x1b, 0xa1, 0x5b, 0xae, 0x35, 0x76, 0xec, 0x29, 0x95, 0x16, 0xeb, 0x86, 0xd9, 0x40, 0xe8,
0xae, 0x00, 0xb2, 0xbd, 0xd8, 0xbe, 0x38, 0xb3, 0xbc, 0x79, 0x68, 0x8d, 0xe9, 0x99, 0x4f, 0x65,
0x2d, 0xeb, 0xf6, 0xc5, 0x59, 0x7f, 0x1e, 0xee, 0x22, 0x4c, 0xc6, 0xcd, 0xd1, 0xa8, 0x0a, 0x2a,
0x6e, 0x4e, 0x44, 0x25, 0xdc, 0x99, 0xf9, 0xcc, 0x2c, 0x2a, 0x77, 0x66, 0x7e, 0x5a, 0x4c, 0x6e,
0xa0, 0xa5, 0xf4, 0x06, 0xfa, 0x31, 0xac, 0xf3, 0x0d, 0x54, 0xb0, 0x66, 0x2b, 0xb1, 0x92, 0x57,
0x11, 0x2b, 0x1a, 0xa9, 0x89, 0xbd, 0x4d, 0xd6, 0x02, 0xc9, 0x96, 0x02, 0xe7, 0xc7, 0x9c, 0x91,
0xe5, 0x4c, 0xd6, 0x32, 0x91, 0xf9, 0xc0, 0xf9, 0x31, 0x95, 0x71, 0x7b, 0x62, 0x94, 0xe2, 0xae,
0xd9, 0xd4, 0x71, 0x93, 0x94, 0xf6, 0x65, 0x9c, 0xb2, 0x2a, 0x28, 0xed, 0x4b, 0x9d, 0xf2, 0x11,
0x6c, 0x4c, 0xe9, 0xd8, 0xb1, 0xe3, 0xd9, 0x5a, 0x91, 0xe0, 0xb6, 0xca, 0xd1, 0x5a, 0x9a, 0x01,
0x3f, 0xb8, 0xb3, 0xde, 0xf8, 0xb1, 0x37, 0x3d, 0x71, 0xb8, 0xcc, 0xc2, 0x3d, 0xca, 0x8a, 0xe6,
0xa2, 0x3b, 0x9f, 0xfe, 0x10, 0xc1, 0x2c, 0x49, 0x60, 0x34, 0xa0, 0x36, 0x08, 0xbd, 0x99, 0x1c,
0xe6, 0x45, 0xa8, 0xf3, 0x4f, 0x11, 0x27, 0xe0, 0x16, 0xdc, 0x44, 0x96, 0x30, 0xf4, 0x66, 0xde,
0xc4, 0x3b, 0xbb, 0x8a, 0x29, 0x65, 0xff, 0x45, 0x0e, 0x56, 0x62, 0x58, 0xc1, 0x5e, 0x3f, 0xe6,
0xfc, 0x4c, 0xdd, 0x31, 0xce, 0xc5, 0x2e, 0x98, 0xb1, 0xf1, 0xe2, 0x84, 0x9c, 0x99, 0xc9, 0x7b,
0xc7, 0xed, 0x28, 0x28, 0x96, 0x4c, 0xc8, 0x59, 0x4a, 0x2b, 0xcd, 0x52, 0x44, 0x7a, 0x19, 0x2e,
0x4b, 0x66, 0xf1, 0x33, 0xe2, 0x3e, 0xe0, 0x58, 0x34, 0xb9, 0x10, 0xbf, 0x31, 0xa4, 0x2b, 0x70,
0x65, 0x0d, 0x22, 0xad, 0x6e, 0x60, 0xfc, 0x4e, 0x1e, 0x20, 0xaa, 0x1d, 0xde, 0x59, 0x52, 0x72,
0x4b, 0x0e, 0x9d, 0xc3, 0x35, 0x19, 0xe5, 0x0d, 0xa8, 0xab, 0x7b, 0x04, 0x91, 0x24, 0x54, 0x93,
0x30, 0x26, 0x0e, 0xbd, 0x0b, 0x4b, 0x67, 0x13, 0xef, 0x04, 0x25, 0x56, 0x21, 0xb7, 0xa0, 0x4b,
0x08, 0xee, 0x47, 0x8b, 0x1c, 0xa5, 0xc2, 0xda, 0x29, 0xd9, 0xa9, 0x98, 0x79, 0xdd, 0x20, 0x26,
0x09, 0x3d, 0x4e, 0x49, 0x42, 0x77, 0x52, 0x9d, 0xfb, 0xd3, 0x11, 0x83, 0xfe, 0x72, 0x5e, 0xb9,
0x4e, 0x47, 0xe3, 0xf2, 0xe2, 0xc3, 0xe6, 0x4f, 0xe2, 0xe8, 0xf5, 0x22, 0xcb, 0xf5, 0x63, 0x58,
0xf4, 0xf9, 0x16, 0x29, 0xf7, 0xcf, 0xe2, 0x0b, 0xf6, 0xcf, 0x86, 0x1f, 0x93, 0xbb, 0xbe, 0x0d,
0x4d, 0x7b, 0x7c, 0x41, 0xfd, 0xd0, 0x41, 0x43, 0x10, 0x4a, 0xeb, 0xc2, 0x51, 0x59, 0x83, 0xa3,
0x58, 0xfc, 0x0e, 0x2c, 0x89, 0x48, 0x1a, 0x8a, 0x52, 0x84, 0x8b, 0x8c, 0xc0, 0x8c, 0xd0, 0xf8,
0x07, 0xd2, 0x57, 0x3b, 0x3e, 0xd7, 0x5e, 0xdc, 0x2b, 0x7a, 0x0b, 0xf3, 0x69, 0xdb, 0xbc, 0x98,
0xd6, 0xc2, 0xbe, 0x24, 0xb8, 0x23, 0x07, 0x0a, 0xeb, 0x52, 0xbc, 0x5b, 0x8b, 0xaf, 0xd2, 0xad,
0xc6, 0xbf, 0xcc, 0x41, 0x79, 0xdf, 0x9b, 0xed, 0x3b, 0xfc, 0xc6, 0x0f, 0x2e, 0x5a, 0x65, 0xfe,
0x5c, 0x60, 0x9f, 0xe8, 0x95, 0xf6, 0x82, 0x9b, 0xc0, 0x99, 0x42, 0x67, 0x23, 0x2e, 0x74, 0x7e,
0x17, 0x6e, 0xa1, 0x75, 0xd9, 0xf7, 0x66, 0x9e, 0xcf, 0x18, 0x87, 0x3d, 0xe1, 0xc2, 0xa7, 0xe7,
0x86, 0xe7, 0x92, 0x93, 0xdf, 0x3c, 0xa5, 0xf4, 0x48, 0xa3, 0x38, 0x54, 0x04, 0x18, 0x05, 0x60,
0x12, 0x5e, 0x58, 0x5c, 0x5f, 0x20, 0xa4, 0x63, 0xce, 0xdf, 0x97, 0x18, 0xa2, 0x83, 0x70, 0x94,
0x8f, 0x8d, 0xcf, 0xa0, 0xaa, 0x54, 0x4f, 0xe4, 0x5d, 0xa8, 0x9e, 0x7b, 0x33, 0xa1, 0x9f, 0xca,
0xc5, 0x6e, 0x4b, 0x8b, 0x56, 0x9b, 0x95, 0x73, 0xfe, 0x23, 0x30, 0xfe, 0x6f, 0x19, 0xca, 0x5d,
0xf7, 0xc2, 0x73, 0x46, 0xe8, 0xc5, 0x3d, 0xa5, 0x53, 0x4f, 0x06, 0xfa, 0x61, 0xbf, 0xd1, 0x71,
0x30, 0x8a, 0xe8, 0x58, 0x10, 0x8e, 0x83, 0x2a, 0x96, 0xe3, 0x1a, 0x2c, 0xf8, 0x7a, 0x48, 0xc6,
0x92, 0x8f, 0x77, 0x64, 0xd4, 0xee, 0x5d, 0xd2, 0x02, 0x36, 0xb1, 0xbc, 0xb8, 0xe3, 0x2c, 0x76,
0x19, 0xbf, 0xc9, 0x5f, 0x45, 0x08, 0x76, 0xd8, 0x6b, 0x50, 0x16, 0x5a, 0x68, 0x7e, 0x55, 0x92,
0xeb, 0xee, 0x05, 0x08, 0x67, 0x83, 0x4f, 0xb9, 0x77, 0x80, 0x12, 0xab, 0x0b, 0x66, 0x5d, 0x02,
0x77, 0x6d, 0xee, 0x9a, 0xcd, 0xe9, 0x39, 0x09, 0xdf, 0x86, 0x80, 0x83, 0x90, 0x20, 0x23, 0xf8,
0x69, 0x35, 0x33, 0xf8, 0x29, 0xba, 0xf2, 0x2b, 0x9e, 0xcf, 0x9b, 0x08, 0x3c, 0x9e, 0xa5, 0x06,
0x97, 0x11, 0x85, 0x85, 0x86, 0x87, 0x07, 0xb9, 0x90, 0x1a, 0x9e, 0x37, 0xa1, 0x71, 0x6a, 0x4f,
0x26, 0x27, 0xf6, 0xe8, 0x19, 0x57, 0x4c, 0xd4, 0xb9, 0x2e, 0x56, 0x02, 0x51, 0x33, 0x71, 0x07,
0x6a, 0xda, 0x28, 0xa3, 0xc7, 0x72, 0xd1, 0x84, 0x68, 0x7c, 0x93, 0xfa, 0xc6, 0xc5, 0x57, 0xd0,
0x37, 0x6a, 0x9e, 0xdb, 0x4b, 0x71, 0xcf, 0xed, 0x5b, 0xc8, 0xdb, 0x85, 0x3f, 0x6c, 0x93, 0x07,
0x4f, 0xb4, 0xc7, 0x63, 0x1e, 0x76, 0xe6, 0x0d, 0xa8, 0x8b, 0xce, 0xe3, 0xf8, 0x65, 0xe1, 0xfa,
0x8e, 0x30, 0x4e, 0x72, 0x9b, 0x2b, 0xcd, 0x67, 0xb6, 0x33, 0xc6, 0x8b, 0x49, 0xc2, 0xbe, 0x62,
0x4f, 0xc3, 0x23, 0xdb, 0x41, 0x4f, 0x40, 0x89, 0xc6, 0xbd, 0x7a, 0x85, 0xf7, 0xbf, 0x40, 0x0f,
0x78, 0x08, 0x17, 0x45, 0x31, 0x55, 0x51, 0x2a, 0xcc, 0x9a, 0x20, 0xc1, 0x79, 0xf0, 0x21, 0x3a,
0x90, 0x85, 0x14, 0xe3, 0x50, 0x2c, 0x3e, 0xbc, 0xa5, 0xfc, 0x5a, 0x70, 0x96, 0xca, 0xff, 0xdc,
0xee, 0xca, 0x29, 0x99, 0xa8, 0xc9, 0xcd, 0xbf, 0xeb, 0x31, 0x69, 0x5c, 0x90, 0xa2, 0xf9, 0x97,
0x13, 0x90, 0xcf, 0xb4, 0x3d, 0xa4, 0x85, 0xc4, 0xaf, 0x25, 0xf2, 0xbf, 0xee, 0x2a, 0xe8, 0x6d,
0x00, 0x27, 0x60, 0x7b, 0x5e, 0x40, 0xdd, 0x31, 0x86, 0x93, 0xa8, 0x98, 0x55, 0x27, 0x78, 0xca,
0x01, 0x29, 0x2d, 0xd4, 0x66, 0x3a, 0x3e, 0xeb, 0x37, 0xba, 0x05, 0xb5, 0xa1, 0xae, 0xf7, 0x04,
0xa9, 0x40, 0xb1, 0x7f, 0xd4, 0xe9, 0x35, 0x6f, 0x90, 0x1a, 0x94, 0x07, 0x9d, 0xe1, 0xf0, 0x00,
0xed, 0xcc, 0x75, 0xa8, 0xa8, 0xfb, 0xe4, 0x79, 0xf6, 0xd5, 0xde, 0xd9, 0xe9, 0x1c, 0x0d, 0x3b,
0xbb, 0xcd, 0xc2, 0xf7, 0x8b, 0x95, 0x7c, 0xb3, 0x60, 0xfc, 0xef, 0x02, 0xd4, 0xb4, 0x8e, 0x7a,
0x31, 0xbf, 0x8e, 0x47, 0x2e, 0xca, 0x27, 0x23, 0x17, 0xe9, 0x46, 0x15, 0x11, 0xdd, 0x49, 0x1a,
0x55, 0xde, 0x84, 0x86, 0x08, 0xed, 0xa8, 0x79, 0x0b, 0x94, 0xcc, 0x3a, 0x07, 0x0a, 0x6e, 0x8e,
0xd1, 0x29, 0x90, 0x08, 0xef, 0xfd, 0x96, 0xc4, 0xfc, 0x41, 0x10, 0xde, 0xfc, 0xc5, 0x6b, 0xdb,
0x81, 0x37, 0xb9, 0xa0, 0x9c, 0x82, 0x8b, 0xb0, 0x35, 0x01, 0x1b, 0x8a, 0xc8, 0x1f, 0x82, 0x65,
0x6a, 0xe1, 0x11, 0x4a, 0x66, 0x9d, 0x03, 0x45, 0x41, 0xef, 0xcb, 0x39, 0xc6, 0x7d, 0xa7, 0x36,
0xd2, 0x13, 0x26, 0x36, 0xbf, 0x0e, 0x52, 0x7a, 0xcf, 0x2a, 0xce, 0x9d, 0x6f, 0xa5, 0xd3, 0xbd,
0x5c, 0xff, 0x49, 0xde, 0x05, 0x32, 0x9d, 0xcd, 0xac, 0x0c, 0x8d, 0x64, 0xd1, 0x5c, 0x9a, 0xce,
0x66, 0x43, 0x4d, 0x61, 0x47, 0x5e, 0x83, 0x82, 0x3d, 0x9d, 0x21, 0x6b, 0x89, 0xb4, 0x83, 0xed,
0xc3, 0x23, 0x93, 0x81, 0xbf, 0x01, 0x55, 0xea, 0x6f, 0xe4, 0xa0, 0xd0, 0x3e, 0x3c, 0x42, 0x46,
0xef, 0x79, 0xa1, 0x15, 0x9c, 0xdb, 0x22, 0x38, 0x19, 0x63, 0xf4, 0x9e, 0x17, 0x0e, 0x18, 0x80,
0x31, 0xfa, 0x80, 0x86, 0x91, 0x0f, 0x70, 0x29, 0xa0, 0x21, 0x77, 0x08, 0x1f, 0x9d, 0x3b, 0x93,
0x71, 0x2c, 0x46, 0x25, 0x20, 0x88, 0xcf, 0x08, 0x02, 0x45, 0x6d, 0x7b, 0xc0, 0xdf, 0xfc, 0x22,
0x9d, 0xd8, 0x51, 0xb8, 0x9b, 0xb9, 0xfa, 0x36, 0xfe, 0x4a, 0x0e, 0x48, 0x9b, 0x71, 0x24, 0xec,
0x50, 0x75, 0xd2, 0x8d, 0xf6, 0x99, 0x9c, 0xbe, 0xcf, 0x64, 0xb0, 0xf3, 0x7c, 0x26, 0x3b, 0x7f,
0x19, 0xe3, 0x8b, 0x2d, 0xdd, 0xe5, 0xd4, 0xd2, 0x35, 0xf6, 0xa0, 0x76, 0xa4, 0x85, 0x0c, 0xbe,
0xcb, 0x76, 0x45, 0x19, 0x2c, 0x98, 0xef, 0x97, 0x5c, 0xab, 0xeb, 0x8b, 0x18, 0xc1, 0x5a, 0x85,
0xf3, 0x5a, 0x85, 0x8d, 0xbf, 0x9d, 0xe3, 0x81, 0xf3, 0x54, 0xfb, 0xa2, 0x28, 0xc5, 0xd2, 0x38,
0x1a, 0x85, 0x65, 0xa9, 0x49, 0xf3, 0xa7, 0x88, 0xa8, 0x82, 0xb5, 0xb7, 0xbc, 0xd3, 0xd3, 0x80,
0x4a, 0x97, 0xa9, 0x1a, 0xc2, 0xfa, 0x08, 0x92, 0xc7, 0x1f, 0x76, 0xc6, 0x72, 0x78, 0xfe, 0x81,
0xf0, 0x93, 0x62, 0xc7, 0x9f, 0x43, 0xfb, 0x52, 0x94, 0x1a, 0xb0, 0x11, 0x10, 0x16, 0x1a, 0x19,
0x96, 0x40, 0x7d, 0x1b, 0x7f, 0x43, 0x44, 0x8e, 0x49, 0x0e, 0xc1, 0x7d, 0xa8, 0xa8, 0x5c, 0xe3,
0x52, 0x85, 0xa4, 0x54, 0x78, 0x26, 0xbb, 0xa0, 0x3a, 0x2a, 0x56, 0x63, 0xce, 0x2d, 0xd0, 0xca,
0xd6, 0xd5, 0x6a, 0xfd, 0x1e, 0x90, 0x53, 0xc7, 0x4f, 0x12, 0x73, 0xee, 0xd1, 0x44, 0x8c, 0x46,
0x6d, 0x1c, 0xc3, 0x8a, 0x64, 0x7b, 0xda, 0x99, 0x2c, 0x3e, 0xbe, 0xb9, 0x97, 0x6c, 0x6c, 0xf9,
0xd4, 0xc6, 0x66, 0xfc, 0x7a, 0x09, 0xca, 0x32, 0x42, 0x77, 0x56, 0xc8, 0xe8, 0x6a, 0x3c, 0x64,
0x74, 0x2b, 0x16, 0x90, 0x12, 0x87, 0x5e, 0xc8, 0x38, 0xef, 0x24, 0xc5, 0x14, 0xcd, 0x5a, 0x14,
0x13, 0x55, 0x84, 0xb5, 0xa8, 0x14, 0xb7, 0x16, 0x65, 0x85, 0xd1, 0xe6, 0xe2, 0x76, 0x2a, 0x8c,
0xf6, 0x2d, 0xe0, 0xb2, 0x93, 0xe6, 0x2b, 0x5a, 0x41, 0x80, 0x08, 0xad, 0xa1, 0x89, 0x5a, 0x95,
0xa4, 0xa8, 0xf5, 0xca, 0x62, 0xd0, 0xc7, 0xb0, 0xc0, 0xa3, 0x50, 0x89, 0x30, 0x0b, 0x72, 0xb3,
0x14, 0x7d, 0x25, 0xff, 0xf3, 0x2b, 0x48, 0xa6, 0xa0, 0xd5, 0xa3, 0xae, 0xd6, 0x62, 0x51, 0x57,
0x75, 0x2b, 0x56, 0x3d, 0x6e, 0xc5, 0xba, 0x07, 0x4d, 0xd5, 0x71, 0xa8, 0x13, 0x76, 0x03, 0x71,
0xa3, 0x7a, 0x51, 0xc2, 0x19, 0x7b, 0xef, 0x05, 0xd1, 0x66, 0xbf, 0x18, 0xdb, 0xec, 0x19, 0xf3,
0x6d, 0x87, 0x21, 0x9d, 0xce, 0x42, 0xb9, 0xd9, 0x6b, 0x91, 0xcb, 0xf9, 0xc8, 0xf3, 0x2b, 0x5a,
0x72, 0x78, 0xf9, 0xec, 0xd8, 0x86, 0xc5, 0x53, 0xdb, 0x99, 0xcc, 0x7d, 0x6a, 0xf9, 0xd4, 0x0e,
0x3c, 0x17, 0xf9, 0x43, 0x24, 0x77, 0x88, 0x26, 0xee, 0x71, 0x1a, 0x13, 0x49, 0xcc, 0xc6, 0xa9,
0xfe, 0x89, 0x17, 0x22, 0xf5, 0x9e, 0x60, 0x7b, 0xb0, 0x08, 0xb6, 0xc0, 0x5d, 0xbf, 0xba, 0x3d,
0x6b, 0xef, 0xa0, 0xfb, 0x64, 0x7f, 0xd8, 0xcc, 0xb1, 0xcf, 0xc1, 0xf1, 0xce, 0x4e, 0xa7, 0xb3,
0x8b, 0x7b, 0x32, 0xc0, 0xc2, 0x5e, 0xbb, 0x7b, 0x20, 0x76, 0xe4, 0x62, 0xb3, 0x64, 0xfc, 0x41,
0x1e, 0x6a, 0x5a, 0x6b, 0x30, 0x8c, 0x0a, 0xff, 0xc9, 0xf8, 0x6f, 0x59, 0x84, 0x51, 0xe1, 0x90,
0xee, 0x98, 0x3c, 0x52, 0x63, 0xc4, 0xa3, 0xbf, 0xdc, 0x4e, 0x77, 0xc8, 0x96, 0xdc, 0xd1, 0xb4,
0x41, 0x52, 0x21, 0xcc, 0xf3, 0xd7, 0x86, 0x30, 0x27, 0x6f, 0xc3, 0x92, 0x2c, 0x59, 0x8e, 0x89,
0xb0, 0xbe, 0x08, 0xb0, 0x18, 0x92, 0xb7, 0x45, 0x24, 0x1a, 0xb1, 0x2d, 0x33, 0xba, 0xa2, 0x74,
0x91, 0x56, 0x3b, 0x33, 0x0e, 0x5d, 0x59, 0x74, 0x9c, 0xf0, 0x96, 0x50, 0x02, 0x8e, 0xe8, 0x4e,
0x89, 0x8e, 0xed, 0x11, 0x0b, 0x89, 0x3d, 0xe2, 0x13, 0x80, 0xa8, 0x3d, 0xf1, 0xde, 0xbd, 0x11,
0xef, 0xdd, 0x9c, 0xd6, 0xbb, 0x79, 0xe3, 0xef, 0x0b, 0xce, 0x26, 0x86, 0x4a, 0xe9, 0x62, 0xdf,
0x07, 0xa9, 0x1d, 0xb6, 0xf0, 0x4a, 0xc5, 0x6c, 0x42, 0x43, 0x79, 0x5f, 0x7c, 0x59, 0x60, 0xba,
0x0a, 0x91, 0xe2, 0xc4, 0xf9, 0x34, 0x27, 0x7e, 0x03, 0xea, 0x18, 0xda, 0x50, 0x14, 0x24, 0xe3,
0x04, 0x4f, 0xed, 0x4b, 0x59, 0x76, 0x8c, 0x05, 0x17, 0x13, 0x2c, 0xf8, 0x6f, 0xe6, 0x78, 0x1c,
0xac, 0xa8, 0xa2, 0x11, 0x0f, 0x56, 0x79, 0xc6, 0x79, 0xb0, 0x20, 0x35, 0x15, 0xfe, 0x1a, 0xbe,
0x9a, 0xcf, 0xe6, 0xab, 0xd9, 0x1c, 0xbb, 0x90, 0xc9, 0xb1, 0x8d, 0x4b, 0x68, 0xed, 0x52, 0xd6,
0x15, 0xed, 0xc9, 0x24, 0xd9, 0x97, 0x0f, 0x60, 0x95, 0x0d, 0x21, 0xba, 0x8a, 0x70, 0x8c, 0xbe,
0xa3, 0x11, 0x8e, 0x93, 0x89, 0x70, 0x63, 0xbb, 0x0f, 0xcb, 0x22, 0x05, 0x2e, 0x5a, 0x3d, 0xe8,
0xd8, 0x12, 0x47, 0xa0, 0xc7, 0x26, 0xa3, 0x35, 0x6e, 0xc1, 0xcd, 0x8c, 0x92, 0x85, 0xd2, 0xee,
0x37, 0x72, 0xb0, 0xd6, 0xe6, 0xc1, 0x75, 0xbe, 0xb1, 0xeb, 0xe2, 0x9f, 0xc3, 0x4d, 0x75, 0xfb,
0x42, 0xbb, 0x35, 0xaa, 0x57, 0x52, 0x5e, 0xdc, 0xd0, 0xee, 0x1c, 0x61, 0x5d, 0x5b, 0xb0, 0x9e,
0xac, 0x8d, 0xa8, 0xe8, 0x1e, 0x2c, 0xef, 0xd2, 0x93, 0xf9, 0xd9, 0x01, 0xbd, 0x88, 0xea, 0x48,
0xa0, 0x18, 0x9c, 0x7b, 0xcf, 0x45, 0x47, 0xe1, 0x6f, 0x74, 0xcf, 0x66, 0x34, 0x56, 0x30, 0xa3,
0x23, 0x69, 0xf4, 0x41, 0xc8, 0x60, 0x46, 0x47, 0xc6, 0x23, 0x20, 0x7a, 0x3e, 0x62, 0x8e, 0xb0,
0x33, 0xf0, 0xfc, 0xc4, 0x0a, 0xae, 0x82, 0x90, 0x4e, 0xe5, 0xcd, 0x69, 0x08, 0xe6, 0x27, 0x03,
0x0e, 0x31, 0xde, 0x81, 0xfa, 0x91, 0x7d, 0x65, 0xd2, 0x1f, 0x89, 0xcb, 0xc7, 0x1b, 0x50, 0x9e,
0xd9, 0x57, 0x6c, 0x23, 0x50, 0xf6, 0x5f, 0x44, 0x1b, 0xbf, 0x53, 0x84, 0x05, 0x4e, 0x49, 0xee,
0xf2, 0xd7, 0x4d, 0x1c, 0x17, 0x19, 0xb1, 0xdc, 0x12, 0x35, 0x50, 0x6a, 0xd7, 0xcc, 0xa7, 0x77,
0x4d, 0xa1, 0xac, 0x96, 0x91, 0x1b, 0xa5, 0xa5, 0xce, 0x9d, 0x4f, 0x65, 0xb8, 0xc6, 0x78, 0x28,
0x99, 0x62, 0xf4, 0x2a, 0x0e, 0x0f, 0xa3, 0x11, 0xf7, 0xa5, 0x88, 0x4e, 0xda, 0xbc, 0x76, 0x52,
0x18, 0x10, 0x1b, 0xa6, 0x0e, 0xca, 0x3c, 0xce, 0x97, 0xe5, 0xcd, 0xfc, 0xf8, 0x71, 0x3e, 0x75,
0x6c, 0xaf, 0xbc, 0xfc, 0xd8, 0xce, 0xb5, 0xd8, 0x2f, 0x38, 0xb6, 0xc3, 0x2b, 0x1c, 0xdb, 0x5f,
0xc1, 0x8f, 0xe1, 0x26, 0x54, 0x50, 0xc2, 0xd3, 0xf6, 0x4f, 0x26, 0xd9, 0xb1, 0xfd, 0xf3, 0x53,
0xed, 0x60, 0xcb, 0x9d, 0xa8, 0xb4, 0x0d, 0xcc, 0xa4, 0x3f, 0xfa, 0xe9, 0x28, 0x46, 0xbf, 0x82,
0xb2, 0x80, 0xb2, 0x09, 0xed, 0xda, 0x53, 0x19, 0x9f, 0x18, 0x7f, 0xb3, 0x6e, 0xc3, 0x88, 0x9d,
0x3f, 0x9a, 0x3b, 0x3e, 0x1d, 0xcb, 0xb8, 0x81, 0x0e, 0x72, 0x0f, 0x06, 0x61, 0x0d, 0x64, 0x87,
0x6c, 0x57, 0x3e, 0x6c, 0x50, 0x31, 0xcb, 0x4e, 0xf0, 0x94, 0x7d, 0x1a, 0x04, 0x9a, 0x18, 0xd9,
0x7d, 0xe6, 0xf9, 0x52, 0x3c, 0x31, 0x7e, 0x37, 0x07, 0x4d, 0xb1, 0xba, 0x14, 0x4e, 0x3f, 0xc0,
0x96, 0xae, 0xf3, 0xf9, 0x79, 0x71, 0x14, 0x40, 0x03, 0x1a, 0xa8, 0xda, 0x53, 0xb2, 0x0a, 0x57,
0x4d, 0xd6, 0x18, 0x70, 0x4f, 0xc8, 0x2b, 0xaf, 0x43, 0x4d, 0x5e, 0x1e, 0x99, 0x3a, 0x13, 0xf9,
0x00, 0x16, 0xbf, 0x3d, 0x72, 0xe8, 0x4c, 0xa4, 0xa8, 0xe3, 0xdb, 0x22, 0x5a, 0x44, 0x0e, 0x45,
0x1d, 0xd3, 0x0e, 0xa9, 0xf1, 0xfb, 0x39, 0x58, 0xd6, 0x9a, 0x22, 0xd6, 0xed, 0x77, 0xa0, 0xae,
0x1e, 0x9c, 0xa0, 0x4a, 0xc6, 0xde, 0x88, 0xf3, 0xa8, 0x28, 0x59, 0x6d, 0xa4, 0x20, 0x01, 0xab,
0xcc, 0xd8, 0xbe, 0xe2, 0x37, 0x1c, 0xe6, 0x53, 0x79, 0x2e, 0x1f, 0xdb, 0x57, 0x7b, 0x94, 0x0e,
0xe6, 0x53, 0x72, 0x17, 0xea, 0xcf, 0x29, 0x7d, 0xa6, 0x08, 0x38, 0x63, 0x07, 0x06, 0x13, 0x14,
0x06, 0x34, 0xa6, 0x9e, 0x1b, 0x9e, 0x2b, 0x12, 0x71, 0xbe, 0x40, 0x20, 0xa7, 0x31, 0xfe, 0x75,
0x1e, 0x56, 0xb8, 0x02, 0x59, 0x98, 0x11, 0x04, 0xeb, 0x6a, 0xc1, 0x02, 0xd7, 0xea, 0x73, 0xe6,
0xb5, 0x7f, 0xc3, 0x14, 0xdf, 0xe4, 0xe3, 0x57, 0x54, 0x7a, 0xcb, 0x40, 0x13, 0xd7, 0x74, 0x7f,
0x21, 0xdd, 0xfd, 0xd7, 0x77, 0x6f, 0x96, 0x53, 0x41, 0x29, 0xcb, 0xa9, 0xe0, 0x55, 0x4c, 0xf9,
0xa9, 0x50, 0x07, 0xe5, 0x74, 0xc8, 0xe1, 0x47, 0xb0, 0x11, 0xa3, 0x41, 0x6e, 0xed, 0x9c, 0x3a,
0x2a, 0xee, 0xfd, 0xaa, 0x46, 0x3d, 0x90, 0xb8, 0xed, 0x32, 0x94, 0x82, 0x91, 0x37, 0xa3, 0xc6,
0x3a, 0xac, 0xc6, 0x7b, 0x55, 0x6c, 0x13, 0xbf, 0x95, 0x83, 0xd6, 0x5e, 0x14, 0xbb, 0xd9, 0x09,
0x42, 0xcf, 0x57, 0x4f, 0x0a, 0xdc, 0x06, 0xe0, 0x8f, 0x71, 0xa1, 0x1a, 0x44, 0x04, 0xdd, 0x42,
0x08, 0x2a, 0x41, 0x6e, 0x42, 0x85, 0xba, 0x63, 0x8e, 0xe4, 0xb3, 0xa1, 0x4c, 0xdd, 0xb1, 0x54,
0xa1, 0xa4, 0x36, 0xf9, 0x46, 0x5c, 0x7c, 0x11, 0xe1, 0x63, 0x58, 0xef, 0xd0, 0x0b, 0x14, 0x36,
0x8a, 0x2a, 0x7c, 0xcc, 0xa1, 0x7d, 0x89, 0xde, 0xf1, 0x81, 0xf1, 0x0f, 0xf3, 0xb0, 0x14, 0xd5,
0x8f, 0x07, 0xd0, 0xba, 0x9b, 0x0a, 0x05, 0x26, 0xfc, 0xa1, 0x14, 0x0f, 0xbf, 0x2b, 0xa6, 0x84,
0xc3, 0x4e, 0x6b, 0x9a, 0x6a, 0xbd, 0xc2, 0x17, 0x68, 0xd7, 0x25, 0x06, 0xd4, 0x24, 0x85, 0x37,
0x0f, 0xb5, 0x50, 0xc9, 0x55, 0x4e, 0xd2, 0x9f, 0x87, 0xec, 0x78, 0x6d, 0x4f, 0x99, 0xb4, 0x22,
0x0e, 0xb8, 0x25, 0x7b, 0x1a, 0x76, 0xf1, 0xd5, 0x37, 0x06, 0x66, 0xc9, 0xf8, 0x60, 0x32, 0x2a,
0x46, 0xdf, 0xe4, 0xa7, 0x2d, 0x3e, 0x7a, 0x78, 0xd2, 0xd2, 0x8f, 0x22, 0xfc, 0x15, 0x1a, 0x75,
0x14, 0x79, 0x1d, 0x6a, 0x3c, 0xf3, 0x28, 0xba, 0x05, 0xc6, 0x2d, 0x0c, 0xbb, 0x2e, 0xe2, 0x85,
0x9a, 0xd3, 0x9b, 0xc7, 0x34, 0x37, 0xc0, 0x8b, 0x92, 0x4f, 0x77, 0xa9, 0x16, 0x5b, 0xca, 0x08,
0x59, 0x53, 0xb0, 0x5e, 0xc0, 0xa4, 0x95, 0x9b, 0x19, 0xa3, 0x2b, 0x98, 0xc1, 0x0e, 0x68, 0x81,
0xbe, 0xe5, 0x20, 0x70, 0x8e, 0xb0, 0x2e, 0xb9, 0x6f, 0xbc, 0xeb, 0xcd, 0xe6, 0x69, 0x1c, 0x10,
0x9d, 0xc2, 0xf9, 0x40, 0xc7, 0xc2, 0xb0, 0xa0, 0x4c, 0xc7, 0x47, 0x9b, 0x1f, 0x80, 0x8f, 0x60,
0xb3, 0x73, 0xc9, 0x18, 0x8b, 0x72, 0xac, 0x1f, 0x3d, 0x9b, 0x4b, 0xfb, 0x68, 0xc2, 0xca, 0x92,
0x7b, 0x25, 0x2b, 0xcb, 0x98, 0x07, 0x3f, 0x50, 0x79, 0xfd, 0x24, 0x99, 0x70, 0xfd, 0x92, 0xed,
0x5a, 0x27, 0x98, 0x85, 0x8c, 0xb5, 0xc2, 0x40, 0x3c, 0x53, 0x23, 0x80, 0xa5, 0xc3, 0xf9, 0x24,
0x74, 0x76, 0x14, 0x88, 0x7c, 0x2c, 0xd2, 0x60, 0x39, 0xb2, 0xd7, 0x32, 0x0b, 0x02, 0x55, 0x10,
0x76, 0xd6, 0x94, 0x65, 0x64, 0xa5, 0xcb, 0x5b, 0x9a, 0xc6, 0x4b, 0x30, 0x6e, 0xc2, 0x46, 0xf4,
0xc5, 0xbb, 0x4d, 0xee, 0x48, 0x7f, 0x2b, 0xc7, 0x6f, 0xec, 0x70, 0xdc, 0xc0, 0xb5, 0x67, 0xc1,
0xb9, 0x17, 0x92, 0x0e, 0xac, 0x04, 0x8e, 0x7b, 0x36, 0xa1, 0x7a, 0xf6, 0x81, 0xe8, 0x84, 0xb5,
0x78, 0xdd, 0x78, 0xd2, 0xc0, 0x5c, 0xe6, 0x29, 0xa2, 0xdc, 0x02, 0xb2, 0x7d, 0x5d, 0x25, 0xa3,
0x69, 0x91, 0xe8, 0x8d, 0x74, 0xe5, 0xbb, 0xb0, 0x18, 0x2f, 0x88, 0x7c, 0x2a, 0x62, 0x86, 0x44,
0xb5, 0x2a, 0x24, 0x22, 0x26, 0x44, 0x13, 0xa2, 0x16, 0xf5, 0x7d, 0x60, 0xfc, 0xa5, 0x1c, 0xb4,
0x4c, 0xca, 0x66, 0xae, 0x56, 0x4b, 0x39, 0x67, 0xbe, 0x93, 0xca, 0xf5, 0xfa, 0xb6, 0xca, 0x50,
0x24, 0xb2, 0x46, 0xef, 0x5d, 0x3b, 0x18, 0xfb, 0x37, 0x52, 0x2d, 0xda, 0xae, 0xc0, 0x02, 0x27,
0x31, 0x36, 0x60, 0x4d, 0xd4, 0x47, 0xd6, 0x25, 0x32, 0xe8, 0xc7, 0x4a, 0x8c, 0x19, 0xf4, 0x37,
0xa1, 0xc5, 0xaf, 0xf6, 0xeb, 0x8d, 0x10, 0x09, 0x77, 0x81, 0x1c, 0xda, 0x23, 0xdb, 0xf7, 0x3c,
0xf7, 0x88, 0xfa, 0xc2, 0x65, 0x1e, 0x05, 0x51, 0xb4, 0x77, 0x4b, 0x89, 0x99, 0x7f, 0xc9, 0x18,
0xf2, 0x9e, 0x2b, 0x3d, 0x04, 0xf9, 0x97, 0xe1, 0xc3, 0xca, 0xb6, 0xfd, 0x8c, 0xca, 0x9c, 0x64,
0x17, 0x3d, 0x86, 0xda, 0x4c, 0x65, 0x2a, 0xfb, 0x5d, 0x86, 0x63, 0x4a, 0x17, 0x6b, 0xea, 0xd4,
0x8c, 0x4b, 0xa1, 0xc2, 0x16, 0x03, 0x9c, 0x8c, 0xe5, 0x9e, 0xcf, 0x40, 0x4f, 0xe9, 0x55, 0x77,
0x6c, 0x3c, 0x84, 0xd5, 0x78, 0x99, 0x82, 0xb5, 0x6c, 0x42, 0x65, 0x2a, 0x60, 0xa2, 0xf6, 0xea,
0x9b, 0x9d, 0x59, 0xd8, 0xb9, 0x53, 0xa6, 0xe9, 0xee, 0xaa, 0x5b, 0xfa, 0x8f, 0x61, 0x23, 0x85,
0x11, 0x19, 0xde, 0x85, 0xba, 0x56, 0x11, 0xde, 0x8c, 0xa2, 0x09, 0xaa, 0x26, 0x81, 0xf1, 0x39,
0x6c, 0xf0, 0x63, 0x5b, 0x94, 0x5c, 0x76, 0x41, 0xa2, 0x15, 0xb9, 0x64, 0x2b, 0x3e, 0x96, 0x67,
0x4d, 0x3d, 0x69, 0x14, 0x0e, 0x71, 0x8c, 0x38, 0xe9, 0xe4, 0x25, 0x3f, 0x8d, 0x63, 0x58, 0x4f,
0x77, 0x1f, 0xab, 0xff, 0x9f, 0xaa, 0xcb, 0x65, 0xf7, 0x44, 0x68, 0xd5, 0x3d, 0xff, 0x25, 0xc7,
0xfb, 0x27, 0x86, 0x12, 0xd5, 0x1c, 0x03, 0x99, 0xd2, 0xf0, 0xdc, 0x1b, 0x5b, 0xe9, 0x92, 0x1f,
0x29, 0x1f, 0xb3, 0xcc, 0xb4, 0x5b, 0x87, 0x98, 0x50, 0xc3, 0x88, 0xdb, 0x0e, 0xd3, 0x24, 0x7c,
0x73, 0x04, 0xeb, 0xd9, 0xc4, 0x19, 0x9e, 0x59, 0x1f, 0xc5, 0xe5, 0xf9, 0xdb, 0xd7, 0x36, 0x9f,
0x55, 0x4b, 0x17, 0xef, 0x7f, 0xa7, 0x02, 0x65, 0xa1, 0xaa, 0x21, 0x5b, 0x50, 0x1c, 0x49, 0x2f,
0xdf, 0x28, 0x24, 0xa6, 0xc0, 0xca, 0xff, 0x3b, 0xe8, 0xeb, 0xcb, 0xe8, 0xc8, 0x63, 0x58, 0x8c,
0x3b, 0xba, 0x24, 0x42, 0xd7, 0xc4, 0x3d, 0x54, 0x1a, 0xa3, 0x84, 0x13, 0x41, 0x35, 0x92, 0xc1,
0xb8, 0x68, 0x5a, 0x39, 0xd7, 0x84, 0x34, 0xcf, 0x65, 0xc7, 0xba, 0xe0, 0xdc, 0xb6, 0x1e, 0x3e,
0xfa, 0x44, 0x18, 0x15, 0x6a, 0x08, 0x1c, 0x9c, 0xdb, 0x0f, 0x1f, 0x7d, 0x92, 0x3c, 0xb0, 0x89,
0xc8, 0x35, 0xda, 0x81, 0x6d, 0x15, 0x4a, 0x3c, 0xd0, 0x3e, 0x77, 0xd7, 0xe4, 0x1f, 0x52, 0x9d,
0x31, 0xf7, 0xa9, 0x25, 0x2e, 0xd6, 0xf0, 0x5d, 0x94, 0x3f, 0x70, 0x46, 0x04, 0x6e, 0x80, 0x28,
0xae, 0x4e, 0x5c, 0x87, 0x85, 0xf3, 0xe8, 0xe5, 0x84, 0x86, 0x29, 0xbe, 0x8c, 0xff, 0x59, 0x82,
0x9a, 0xd6, 0x29, 0xa4, 0x0e, 0x15, 0xb3, 0x33, 0xe8, 0x98, 0x5f, 0x74, 0x76, 0x9b, 0x37, 0xc8,
0x3d, 0x78, 0xab, 0xdb, 0xdb, 0xe9, 0x9b, 0x66, 0x67, 0x67, 0x68, 0xf5, 0x4d, 0x4b, 0x46, 0x6a,
0x3d, 0x6a, 0x7f, 0x75, 0xd8, 0xe9, 0x0d, 0xad, 0xdd, 0xce, 0xb0, 0xdd, 0x3d, 0x18, 0x34, 0x73,
0xe4, 0x35, 0x68, 0x45, 0x94, 0x12, 0xdd, 0x3e, 0xec, 0x1f, 0xf7, 0x86, 0xcd, 0x3c, 0xb9, 0x03,
0xb7, 0xf6, 0xba, 0xbd, 0xf6, 0x81, 0x15, 0xd1, 0xec, 0x1c, 0x0c, 0xbf, 0xb0, 0x3a, 0x3f, 0x77,
0xd4, 0x35, 0xbf, 0x6a, 0x16, 0xb2, 0x08, 0xf6, 0x87, 0x07, 0x3b, 0x32, 0x87, 0x22, 0xb9, 0x09,
0x6b, 0x9c, 0x80, 0x27, 0xb1, 0x86, 0xfd, 0xbe, 0x35, 0xe8, 0xf7, 0x7b, 0xcd, 0x12, 0x59, 0x86,
0x46, 0xb7, 0xf7, 0x45, 0xfb, 0xa0, 0xbb, 0x6b, 0x99, 0x9d, 0xf6, 0xc1, 0x61, 0x73, 0x81, 0xac,
0xc0, 0x52, 0x92, 0xae, 0xcc, 0xb2, 0x90, 0x74, 0xfd, 0x5e, 0xb7, 0xdf, 0xb3, 0xbe, 0xe8, 0x98,
0x83, 0x6e, 0xbf, 0xd7, 0xac, 0x90, 0x75, 0x20, 0x71, 0xd4, 0xfe, 0x61, 0x7b, 0xa7, 0x59, 0x25,
0x6b, 0xb0, 0x1c, 0x87, 0x3f, 0xed, 0x7c, 0xd5, 0x04, 0xd2, 0x82, 0x55, 0x5e, 0x31, 0x6b, 0xbb,
0x73, 0xd0, 0xff, 0xd2, 0x3a, 0xec, 0xf6, 0xba, 0x87, 0xc7, 0x87, 0xcd, 0x1a, 0xc6, 0xcb, 0xee,
0x74, 0xac, 0x6e, 0x6f, 0x70, 0xbc, 0xb7, 0xd7, 0xdd, 0xe9, 0x76, 0x7a, 0xc3, 0x66, 0x9d, 0x97,
0x9c, 0xd5, 0xf0, 0x06, 0x4b, 0x20, 0xae, 0x52, 0x5a, 0xbb, 0xdd, 0x41, 0x7b, 0xfb, 0xa0, 0xb3,
0xdb, 0x5c, 0x24, 0xb7, 0xe1, 0xe6, 0xb0, 0x73, 0x78, 0xd4, 0x37, 0xdb, 0xe6, 0x57, 0xf2, 0xaa,
0xa5, 0xb5, 0xd7, 0xee, 0x1e, 0x1c, 0x9b, 0x9d, 0xe6, 0x12, 0x79, 0x03, 0x6e, 0x9b, 0x9d, 0x1f,
0x1c, 0x77, 0xcd, 0xce, 0xae, 0xd5, 0xeb, 0xef, 0x76, 0xac, 0xbd, 0x4e, 0x7b, 0x78, 0x6c, 0x76,
0xac, 0xc3, 0xee, 0x60, 0xd0, 0xed, 0x3d, 0x69, 0x36, 0xc9, 0x5b, 0x70, 0x57, 0x91, 0xa8, 0x0c,
0x12, 0x54, 0xcb, 0xac, 0x7d, 0x72, 0x48, 0x7b, 0x9d, 0x9f, 0x1b, 0x5a, 0x47, 0x9d, 0x8e, 0xd9,
0x24, 0x64, 0x13, 0xd6, 0xa3, 0xe2, 0x79, 0x01, 0xa2, 0xec, 0x15, 0x86, 0x3b, 0xea, 0x98, 0x87,
0xed, 0x1e, 0x1b, 0xe0, 0x18, 0x6e, 0x95, 0x55, 0x3b, 0xc2, 0x25, 0xab, 0xbd, 0x46, 0x08, 0x2c,
0x6a, 0xa3, 0xb2, 0xd7, 0x36, 0x9b, 0xeb, 0x64, 0x09, 0x6a, 0x87, 0x47, 0x47, 0xd6, 0xb0, 0x7b,
0xd8, 0xe9, 0x1f, 0x0f, 0x9b, 0x1b, 0xe9, 0x51, 0x3a, 0x6a, 0x7f, 0x75, 0xd0, 0x6f, 0xef, 0x36,
0x5b, 0x64, 0x0d, 0x9a, 0xdd, 0xde, 0xb0, 0x63, 0xb2, 0x69, 0x20, 0x73, 0xfd, 0xaf, 0x65, 0xb2,
0x0a, 0x4b, 0xb2, 0x11, 0x12, 0xfa, 0x87, 0x65, 0xb2, 0x01, 0xe4, 0xb8, 0x67, 0x76, 0xda, 0xbb,
0xac, 0x4f, 0x15, 0xe2, 0xbf, 0x95, 0x85, 0x79, 0xf9, 0x77, 0x0b, 0x4a, 0x0e, 0x8c, 0x1c, 0xcc,
0xe2, 0xaf, 0x20, 0xd5, 0xb5, 0xd7, 0x8b, 0x5e, 0xf6, 0xea, 0xa5, 0x76, 0xb8, 0x2f, 0xa4, 0x0e,
0xf7, 0x29, 0xed, 0x51, 0x43, 0x3f, 0x79, 0xbc, 0x09, 0x8d, 0x29, 0x7f, 0x11, 0x49, 0x3c, 0xa9,
0x01, 0xc2, 0xdb, 0x92, 0x03, 0xf9, 0x7b, 0x1a, 0xa9, 0x67, 0x1f, 0x4b, 0xe9, 0x67, 0x1f, 0xb3,
0x4e, 0x98, 0x0b, 0x59, 0x27, 0xcc, 0xfb, 0xb0, 0xcc, 0xb9, 0x96, 0xe3, 0x3a, 0x53, 0xa9, 0xb7,
0x11, 0x8f, 0x28, 0x22, 0xf7, 0xe2, 0x70, 0x79, 0xa0, 0x95, 0x87, 0x5e, 0xc1, 0x5d, 0xca, 0xe2,
0xbc, 0x1b, 0x3b, 0xeb, 0x72, 0xa6, 0xa2, 0xce, 0xba, 0xaa, 0x04, 0xfb, 0x32, 0x2a, 0xa1, 0xa6,
0x95, 0xc0, 0xe1, 0x58, 0xc2, 0x7d, 0x58, 0xa6, 0x97, 0xa1, 0x6f, 0x5b, 0xde, 0xcc, 0xfe, 0xd1,
0x1c, 0x5d, 0x64, 0x6c, 0xd4, 0x22, 0xd5, 0xcd, 0x25, 0x44, 0xf4, 0x11, 0xbe, 0x6b, 0x87, 0xb6,
0xf1, 0x0b, 0x00, 0x6a, 0xc3, 0xc5, 0xc7, 0x28, 0x5d, 0x4f, 0xde, 0xa9, 0xad, 0x9b, 0xfc, 0x03,
0xc7, 0x31, 0xf4, 0x7c, 0xfb, 0x8c, 0x76, 0xa5, 0x55, 0x38, 0x02, 0x90, 0x5b, 0x50, 0xf0, 0x66,
0xd2, 0x17, 0xb1, 0x2a, 0x63, 0xc4, 0xcf, 0x4c, 0x06, 0x35, 0x3e, 0x81, 0x7c, 0x7f, 0x76, 0xad,
0x14, 0xd5, 0x82, 0xb2, 0x7c, 0x0b, 0x3a, 0x8f, 0xfe, 0x87, 0xf2, 0xf3, 0xfe, 0x9f, 0x87, 0x9a,
0xf6, 0x88, 0x17, 0xd9, 0x80, 0x95, 0x2f, 0xbb, 0xc3, 0x5e, 0x67, 0x30, 0xb0, 0x8e, 0x8e, 0xb7,
0x9f, 0x76, 0xbe, 0xb2, 0xf6, 0xdb, 0x83, 0xfd, 0xe6, 0x0d, 0xc6, 0x66, 0x7a, 0x9d, 0xc1, 0xb0,
0xb3, 0x1b, 0x83, 0xe7, 0xc8, 0xeb, 0xb0, 0x79, 0xdc, 0x3b, 0x1e, 0x74, 0x76, 0xad, 0xac, 0x74,
0x79, 0xb6, 0xae, 0x04, 0x3e, 0x23, 0x79, 0xe1, 0xfe, 0x2f, 0xc2, 0x62, 0x3c, 0x4e, 0x0a, 0x01,
0x58, 0x38, 0xe8, 0x3c, 0x69, 0xef, 0x7c, 0xc5, 0xdf, 0x00, 0x18, 0x0c, 0xdb, 0xc3, 0xee, 0x8e,
0x25, 0x62, 0xfe, 0x33, 0x1e, 0x96, 0x23, 0x35, 0x28, 0xb7, 0x7b, 0x3b, 0xfb, 0x7d, 0x73, 0xd0,
0xcc, 0x93, 0xd7, 0x60, 0x43, 0x2e, 0xa1, 0x9d, 0xfe, 0xe1, 0x61, 0x77, 0x88, 0xec, 0x7b, 0xf8,
0xd5, 0x11, 0x5b, 0x31, 0xf7, 0x6d, 0xa8, 0x46, 0xcf, 0x15, 0x20, 0x4b, 0xec, 0x0e, 0xbb, 0xed,
0x61, 0xb4, 0x1f, 0x34, 0x6f, 0x30, 0x8e, 0x1b, 0x81, 0xf1, 0xcd, 0x81, 0x66, 0x8e, 0x5f, 0x25,
0x97, 0x40, 0x5e, 0x7a, 0x33, 0xcf, 0xd8, 0x40, 0x04, 0xdd, 0xee, 0x0f, 0x59, 0x13, 0x7e, 0x09,
0x16, 0xe3, 0xaf, 0x02, 0x90, 0x26, 0xd4, 0x59, 0xf9, 0x5a, 0x11, 0x00, 0x0b, 0xbc, 0xc6, 0xcd,
0x1c, 0xe7, 0xf9, 0x3b, 0xfd, 0xc3, 0x6e, 0xef, 0x09, 0x6e, 0x14, 0xcd, 0x3c, 0x03, 0xf5, 0x8f,
0x87, 0x4f, 0xfa, 0x0a, 0x54, 0x60, 0x29, 0x78, 0x73, 0x9a, 0xc5, 0xfb, 0x3f, 0x82, 0xe5, 0xd4,
0xfb, 0x01, 0xac, 0xd6, 0xfd, 0xe3, 0xe1, 0x4e, 0xff, 0x50, 0x2f, 0xa7, 0x06, 0xe5, 0x9d, 0x83,
0x76, 0xf7, 0x10, 0x0d, 0x35, 0x0d, 0xa8, 0x1e, 0xf7, 0xe4, 0x67, 0x3e, 0xfe, 0xf2, 0x41, 0x81,
0x71, 0xaf, 0xbd, 0xae, 0x39, 0x18, 0x5a, 0x83, 0x61, 0xfb, 0x49, 0xa7, 0x59, 0x64, 0x69, 0x25,
0x2b, 0x2b, 0xdd, 0xff, 0x1c, 0x16, 0xe3, 0x8e, 0xf3, 0x71, 0xfb, 0xdb, 0x26, 0xac, 0x6f, 0x77,
0x86, 0x5f, 0x76, 0x3a, 0x3d, 0x1c, 0xf2, 0x9d, 0x4e, 0x6f, 0x68, 0xb6, 0x0f, 0xba, 0xc3, 0xaf,
0x9a, 0xb9, 0xfb, 0x8f, 0xa1, 0x99, 0x74, 0xfa, 0x88, 0x79, 0xc9, 0xbc, 0xc8, 0x9d, 0xe6, 0xfe,
0xbf, 0xcb, 0xc1, 0x6a, 0x96, 0x79, 0x90, 0x4d, 0x4c, 0xc1, 0x08, 0xd9, 0x4e, 0x39, 0xe8, 0xf7,
0xac, 0x5e, 0x1f, 0x23, 0x7f, 0x6f, 0xc2, 0x7a, 0x02, 0x21, 0x5b, 0x91, 0x23, 0xb7, 0x60, 0x23,
0x95, 0xc8, 0x32, 0xfb, 0xc7, 0x38, 0x96, 0x2d, 0x58, 0x4d, 0x20, 0x3b, 0xa6, 0xd9, 0x37, 0x9b,
0x05, 0xf2, 0x1e, 0xdc, 0x4b, 0x60, 0xd2, 0xf2, 0x81, 0x14, 0x1f, 0x8a, 0xe4, 0x1d, 0x78, 0x33,
0x45, 0x1d, 0x6d, 0xa1, 0xd6, 0x76, 0xfb, 0x80, 0x35, 0xaf, 0x59, 0xba, 0xff, 0xfb, 0x45, 0x80,
0xe8, 0x66, 0x2a, 0x2b, 0x7f, 0xb7, 0x3d, 0x6c, 0x1f, 0xf4, 0xd9, 0x9a, 0x31, 0xfb, 0x43, 0x96,
0xbb, 0xd9, 0xf9, 0x41, 0xf3, 0x46, 0x26, 0xa6, 0x7f, 0xc4, 0x1a, 0xb4, 0x01, 0x2b, 0x7c, 0xfe,
0x1d, 0xb0, 0x66, 0xb0, 0xe9, 0xc2, 0x83, 0xc8, 0x33, 0x21, 0xe4, 0xf8, 0x68, 0xcf, 0xec, 0xf7,
0x86, 0xd6, 0x60, 0xff, 0x78, 0xb8, 0x8b, 0x31, 0xe9, 0x77, 0xcc, 0xee, 0x11, 0xcf, 0xb3, 0xf8,
0x22, 0x02, 0x96, 0x75, 0x89, 0x2d, 0xf0, 0x27, 0xfd, 0xc1, 0xa0, 0x7b, 0x64, 0xfd, 0xe0, 0xb8,
0x63, 0x76, 0x3b, 0x03, 0x4c, 0xb8, 0x90, 0x01, 0x67, 0xf4, 0x65, 0x36, 0x67, 0x87, 0x07, 0x5f,
0x88, 0x8d, 0x8e, 0x91, 0x56, 0xe2, 0x20, 0x46, 0x55, 0x65, 0xa3, 0xc3, 0x36, 0xe7, 0x8c, 0x9c,
0xe1, 0x1a, 0x1c, 0x4b, 0x57, 0x63, 0x5b, 0x69, 0x6a, 0xe5, 0x63, 0xb2, 0x7a, 0x36, 0x8a, 0xa5,
0x42, 0x89, 0x44, 0xc9, 0x6f, 0xbb, 0xbb, 0x26, 0x26, 0x58, 0x4c, 0x41, 0x19, 0xed, 0x12, 0x9b,
0x84, 0x6c, 0xf7, 0x66, 0x24, 0x4d, 0xf9, 0xc1, 0x30, 0xcb, 0xac, 0xc5, 0x5f, 0x1e, 0x1f, 0x6e,
0xf7, 0xa5, 0x18, 0xc0, 0xeb, 0x4b, 0x32, 0xe0, 0x8c, 0x7e, 0x05, 0x83, 0xfe, 0x73, 0x76, 0x84,
0x84, 0xab, 0x3a, 0x80, 0x51, 0xac, 0x31, 0x26, 0x28, 0x01, 0x3f, 0xec, 0x98, 0x7d, 0x8b, 0xc9,
0x59, 0x28, 0x23, 0x32, 0xfa, 0xf5, 0xeb, 0xd1, 0x2c, 0xf5, 0xc6, 0xc3, 0x7f, 0xf6, 0x06, 0x54,
0xd5, 0x8d, 0x19, 0xf2, 0x7d, 0x68, 0xc4, 0xe2, 0x51, 0x10, 0x69, 0x94, 0xc8, 0x0a, 0x5f, 0xb1,
0xf9, 0x5a, 0x36, 0x52, 0x9c, 0xa3, 0x0e, 0x35, 0xc5, 0x05, 0xcf, 0xec, 0xb5, 0xa4, 0x32, 0x21,
0x96, 0xdb, 0xed, 0x6b, 0xb0, 0x22, 0xbb, 0xa7, 0x18, 0x5f, 0x1f, 0xe3, 0x11, 0x8a, 0xed, 0x85,
0xdc, 0x8e, 0x82, 0x9d, 0xeb, 0x70, 0x99, 0xa1, 0x3c, 0x26, 0x6a, 0xb8, 0x5d, 0x1a, 0xda, 0xce,
0x24, 0x20, 0xbb, 0x50, 0xd3, 0x9e, 0x9f, 0x25, 0x37, 0xaf, 0x7d, 0x2b, 0x77, 0x73, 0x33, 0x0b,
0x25, 0xaa, 0xf4, 0x5d, 0xa8, 0xaa, 0xe7, 0x37, 0xc9, 0x86, 0xf6, 0x3c, 0xac, 0xfe, 0x6c, 0xe9,
0x66, 0x2b, 0x8d, 0x10, 0xe9, 0x77, 0xa1, 0xa6, 0xbd, 0xa2, 0xa9, 0x6a, 0x91, 0x7e, 0xa9, 0x53,
0xd5, 0x22, 0xeb, 0xd1, 0xcd, 0x03, 0x58, 0x13, 0xea, 0x91, 0x13, 0xfa, 0x75, 0xba, 0x87, 0xa4,
0xbb, 0xe7, 0x41, 0x8e, 0x3c, 0x86, 0x8a, 0x7c, 0xa1, 0x95, 0xac, 0x67, 0xbf, 0x78, 0xbb, 0xb9,
0x91, 0x82, 0x8b, 0xaa, 0xb4, 0x01, 0xa2, 0xf7, 0x39, 0x89, 0x6c, 0x78, 0xea, 0xbd, 0x4f, 0x35,
0x32, 0x19, 0x8f, 0x79, 0xee, 0x42, 0x4d, 0x7b, 0x8a, 0x53, 0xf5, 0x49, 0xfa, 0x19, 0x4f, 0xd5,
0x27, 0x59, 0x2f, 0x77, 0x7e, 0x1f, 0x1a, 0xb1, 0x37, 0x35, 0xd5, 0x3c, 0xce, 0x7a, 0xb1, 0x53,
0xcd, 0xe3, 0xec, 0x67, 0x38, 0x77, 0xa1, 0xa6, 0xbd, 0x73, 0xa9, 0x6a, 0x94, 0x7e, 0x6c, 0x53,
0xd5, 0x28, 0xe3, 0x59, 0x4c, 0xb6, 0x1a, 0xe2, 0x8f, 0x5c, 0xaa, 0xd5, 0x90, 0xf9, 0x5a, 0xa6,
0x5a, 0x0d, 0xd9, 0x2f, 0x63, 0xb2, 0xa9, 0xa7, 0x1e, 0xd6, 0x20, 0x1b, 0x31, 0xad, 0x44, 0xf4,
0x42, 0x87, 0x9a, 0x7a, 0xe9, 0x37, 0x38, 0x9e, 0xc0, 0x8a, 0x9a, 0x34, 0xea, 0x59, 0x8c, 0x40,
0xd5, 0x29, 0xf3, 0xf1, 0x8d, 0xcd, 0x66, 0x12, 0xfb, 0x20, 0x47, 0x3e, 0x83, 0xb2, 0x78, 0x6b,
0x80, 0xac, 0x25, 0xdf, 0x1e, 0xe0, 0x95, 0x58, 0xcf, 0x7e, 0x92, 0x80, 0x1c, 0xe1, 0x82, 0xd6,
0x1f, 0x03, 0xd0, 0x67, 0x6c, 0xc6, 0xfb, 0x01, 0x9b, 0xaf, 0x5f, 0x87, 0x8e, 0x72, 0x4c, 0x3e,
0x60, 0x71, 0xfb, 0xba, 0x38, 0x51, 0xf1, 0x1c, 0xaf, 0x0b, 0x68, 0xf9, 0x04, 0xea, 0xfa, 0x03,
0x67, 0x44, 0x5f, 0x87, 0xc9, 0xbc, 0x6e, 0x65, 0xe2, 0x44, 0x46, 0x5f, 0xc0, 0xba, 0xea, 0x6f,
0x3d, 0x68, 0x51, 0x40, 0xee, 0x64, 0x84, 0x32, 0x8a, 0xf5, 0xfa, 0xcd, 0x6b, 0x63, 0x1d, 0x3d,
0xc8, 0x21, 0x93, 0x8d, 0xbd, 0x49, 0x14, 0x31, 0xd9, 0xac, 0xa7, 0x98, 0x22, 0x26, 0x9b, 0xfd,
0x90, 0x51, 0x1b, 0x96, 0xb4, 0xa0, 0x4b, 0x83, 0x2b, 0x77, 0xa4, 0xe6, 0x7b, 0x3a, 0xfa, 0xfa,
0x66, 0x96, 0x92, 0x9e, 0xec, 0x40, 0x4d, 0x8f, 0xdb, 0xf4, 0x82, 0xe4, 0x1b, 0x1a, 0x4a, 0x0f,
0x8a, 0xfd, 0x20, 0x47, 0x0e, 0xa0, 0x99, 0x8c, 0xb2, 0xaa, 0x96, 0x70, 0x56, 0x64, 0xda, 0xcd,
0x04, 0x32, 0x16, 0x9b, 0x95, 0xcd, 0x8b, 0xd8, 0xab, 0xff, 0x9e, 0x9f, 0xdc, 0x8a, 0x38, 0x5c,
0x76, 0x83, 0xca, 0x2d, 0x81, 0xc5, 0x6a, 0xdf, 0xcb, 0x3d, 0xc8, 0x91, 0x3d, 0xa8, 0xc7, 0x82,
0x0c, 0xc6, 0x2e, 0x6f, 0x25, 0x9a, 0xd9, 0xd2, 0x71, 0x89, 0x76, 0x1e, 0xc2, 0x62, 0xdc, 0xe9,
0x44, 0x55, 0x2c, 0xd3, 0x33, 0x46, 0x0d, 0x5f, 0xb6, 0xa7, 0x0a, 0xf9, 0x59, 0xa8, 0x31, 0x9e,
0x2c, 0x3d, 0x23, 0x89, 0xc6, 0xa7, 0x93, 0x63, 0xc6, 0x61, 0x42, 0x6b, 0x5e, 0xf8, 0x8b, 0xf9,
0x1c, 0xb6, 0xeb, 0x3b, 0xfc, 0x31, 0x74, 0xe9, 0x1c, 0xc7, 0xc6, 0xff, 0x55, 0x33, 0x21, 0x7b,
0xbc, 0xf0, 0xa1, 0xc7, 0x63, 0x32, 0xdc, 0xd4, 0x68, 0x04, 0xec, 0xd5, 0xea, 0xd0, 0xe6, 0x75,
0x10, 0x69, 0x62, 0x73, 0xf0, 0x15, 0xf3, 0x22, 0x9f, 0x02, 0x44, 0x4e, 0xc9, 0x24, 0xe1, 0xf7,
0xaa, 0x16, 0x54, 0x86, 0xdf, 0x72, 0x87, 0xaf, 0x77, 0xe5, 0x78, 0xab, 0x6f, 0xc9, 0x71, 0x1f,
0xe0, 0xd8, 0x96, 0x9c, 0xcc, 0xe6, 0x23, 0x68, 0x1c, 0x78, 0xde, 0xb3, 0xf9, 0x4c, 0x5d, 0xd5,
0x89, 0xbb, 0x7d, 0xed, 0xdb, 0xc1, 0xf9, 0x66, 0xa2, 0x5a, 0xa4, 0x0d, 0xcb, 0x8a, 0x45, 0x44,
0x9e, 0xbf, 0x71, 0xa2, 0x18, 0x63, 0x48, 0x64, 0xf0, 0x20, 0x47, 0x1e, 0x42, 0x7d, 0x97, 0x8e,
0x30, 0x6e, 0x0c, 0xba, 0x01, 0xad, 0xc4, 0x5c, 0x4a, 0xb8, 0xff, 0xd0, 0x66, 0x23, 0x06, 0x94,
0x2c, 0x2e, 0x72, 0x74, 0xd3, 0xf7, 0x8c, 0xb8, 0xb7, 0x58, 0x8c, 0xc5, 0xa5, 0x9c, 0xdd, 0xbe,
0x80, 0xe5, 0x94, 0xb3, 0x97, 0xe2, 0x6e, 0xd7, 0x39, 0xa0, 0x6d, 0xde, 0xbd, 0x9e, 0x40, 0xe4,
0xfb, 0x3d, 0x68, 0xf0, 0x18, 0xe9, 0x27, 0x94, 0xdf, 0xfb, 0x4e, 0x44, 0xc0, 0xd3, 0x2f, 0x95,
0x27, 0x59, 0x12, 0x4f, 0xf0, 0x04, 0x5f, 0x6b, 0xd2, 0x6e, 0x55, 0xab, 0x71, 0x4d, 0xdf, 0xf4,
0x56, 0xe3, 0x9a, 0x75, 0x81, 0xfb, 0x73, 0xa8, 0x3d, 0xa1, 0xa1, 0xbc, 0xa7, 0xac, 0xe4, 0xa3,
0xc4, 0xc5, 0xe5, 0xcd, 0x8c, 0xdb, 0xe5, 0xe4, 0x13, 0x4c, 0xaa, 0x62, 0x6e, 0xac, 0x6b, 0xa5,
0xe8, 0x49, 0x97, 0x12, 0x70, 0x26, 0x7d, 0x68, 0x91, 0x77, 0x54, 0xc5, 0xd3, 0x91, 0x96, 0x54,
0xc5, 0xb3, 0x02, 0xf5, 0xfc, 0x2c, 0xef, 0x01, 0xed, 0x66, 0x74, 0x24, 0x82, 0x25, 0x2f, 0x51,
0xab, 0xea, 0xeb, 0xe4, 0x8f, 0x00, 0x06, 0xa1, 0x37, 0xdb, 0xb5, 0xe9, 0xd4, 0x73, 0x23, 0x9e,
0x10, 0xdd, 0xc9, 0x8d, 0x16, 0xa2, 0x76, 0x31, 0x97, 0x7c, 0xa9, 0xc9, 0xa6, 0xb1, 0x21, 0x91,
0xc3, 0x7e, 0xed, 0xb5, 0x5d, 0xd5, 0x9c, 0x8c, 0xab, 0xbb, 0xc8, 0x24, 0x20, 0xf2, 0xa5, 0x53,
0x92, 0x66, 0xca, 0x4d, 0x4f, 0xad, 0xf5, 0x0c, 0xc7, 0xbb, 0xef, 0x42, 0x35, 0x72, 0x42, 0xda,
0x88, 0xc2, 0x80, 0xc5, 0x5c, 0x96, 0x14, 0xf7, 0x4e, 0x3b, 0x00, 0xf5, 0x60, 0x85, 0x57, 0x47,
0x6d, 0x7f, 0x78, 0x57, 0x53, 0x3d, 0x36, 0x96, 0xf6, 0xbc, 0x51, 0xeb, 0x27, 0xcb, 0x7f, 0x84,
0xad, 0x9f, 0x94, 0x83, 0x81, 0x5a, 0x3f, 0xd7, 0x39, 0x96, 0xa8, 0xf5, 0x73, 0xbd, 0x6f, 0x42,
0x0f, 0x56, 0x32, 0x5c, 0x05, 0xc8, 0x1b, 0xf2, 0x60, 0x73, 0xad, 0x1b, 0xc1, 0x66, 0xa6, 0x49,
0x99, 0x0c, 0x61, 0x83, 0xa7, 0x69, 0x4f, 0x26, 0x09, 0xcb, 0xf4, 0xeb, 0x5a, 0x82, 0x0c, 0x6b,
0x7b, 0x4c, 0x94, 0x49, 0x58, 0xdc, 0x7b, 0xd0, 0x4c, 0x1a, 0x75, 0xc9, 0xf5, 0xe4, 0x9b, 0x77,
0x62, 0x22, 0x7b, 0xda, 0x10, 0x4c, 0xbe, 0x50, 0xa6, 0xe5, 0x44, 0x1d, 0xef, 0x44, 0x8f, 0x66,
0x66, 0x1a, 0xc2, 0xd5, 0x69, 0x20, 0xd3, 0x32, 0x4d, 0x7e, 0x0e, 0x36, 0x92, 0x33, 0x5a, 0xe6,
0x7c, 0x37, 0xab, 0xbb, 0xae, 0x15, 0xe5, 0xe2, 0x0d, 0x7a, 0x90, 0x63, 0x8c, 0x58, 0x37, 0x00,
0xab, 0x89, 0x94, 0x61, 0x89, 0x56, 0x13, 0x29, 0xd3, 0x62, 0x7c, 0x04, 0x4b, 0x09, 0xdb, 0xaf,
0x12, 0x83, 0xb3, 0xad, 0xc5, 0x4a, 0x0c, 0xbe, 0xce, 0x64, 0x3c, 0x80, 0x66, 0xd2, 0xaa, 0xab,
0xc6, 0xfa, 0x1a, 0x4b, 0xf1, 0xe6, 0x9d, 0x6b, 0xf1, 0xf1, 0x6a, 0x6a, 0xf6, 0xcf, 0x58, 0x35,
0xd3, 0x56, 0xdb, 0x58, 0x35, 0x33, 0xac, 0xaf, 0xdb, 0xef, 0xfc, 0xf0, 0x5b, 0x67, 0x4e, 0x78,
0x3e, 0x3f, 0xd9, 0x1a, 0x79, 0xd3, 0x0f, 0x26, 0x52, 0xab, 0x21, 0x02, 0x29, 0x7c, 0x30, 0x71,
0xc7, 0x1f, 0x60, 0x06, 0x27, 0x0b, 0x33, 0xdf, 0x0b, 0xbd, 0x8f, 0xfe, 0x5f, 0x00, 0x00, 0x00,
0xff, 0xff, 0x39, 0x9e, 0x83, 0x60, 0x81, 0x93, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -13810,7 +13872,7 @@ type LightningClient interface {
// lncli: `sendcoins`
//SendCoins executes a request to send coins to a particular address. Unlike
//SendMany, this RPC call only allows creating a single output at a time. If
//neither target_conf, or sat_per_byte are set, then the internal wallet will
//neither target_conf, or sat_per_vbyte are set, then the internal wallet will
//consult its fee model to determine a fee for the default confirmation
//target.
SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error)
@ -13827,7 +13889,7 @@ type LightningClient interface {
SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error)
// lncli: `sendmany`
//SendMany handles a request for a transaction that creates multiple specified
//outputs in parallel. If neither target_conf, or sat_per_byte are set, then
//outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then
//the internal wallet will consult its fee model to determine a fee for the
//default confirmation target.
SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error)
@ -14956,7 +15018,7 @@ type LightningServer interface {
// lncli: `sendcoins`
//SendCoins executes a request to send coins to a particular address. Unlike
//SendMany, this RPC call only allows creating a single output at a time. If
//neither target_conf, or sat_per_byte are set, then the internal wallet will
//neither target_conf, or sat_per_vbyte are set, then the internal wallet will
//consult its fee model to determine a fee for the default confirmation
//target.
SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error)
@ -14973,7 +15035,7 @@ type LightningServer interface {
SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error
// lncli: `sendmany`
//SendMany handles a request for a transaction that creates multiple specified
//outputs in parallel. If neither target_conf, or sat_per_byte are set, then
//outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then
//the internal wallet will consult its fee model to determine a fee for the
//default confirmation target.
SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error)

38
lnrpc/rpc.proto

@ -58,7 +58,7 @@ service Lightning {
/* lncli: `sendcoins`
SendCoins executes a request to send coins to a particular address. Unlike
SendMany, this RPC call only allows creating a single output at a time. If
neither target_conf, or sat_per_byte are set, then the internal wallet will
neither target_conf, or sat_per_vbyte are set, then the internal wallet will
consult its fee model to determine a fee for the default confirmation
target.
*/
@ -82,7 +82,7 @@ service Lightning {
/* lncli: `sendmany`
SendMany handles a request for a transaction that creates multiple specified
outputs in parallel. If neither target_conf, or sat_per_byte are set, then
outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then
the internal wallet will consult its fee model to determine a fee for the
default confirmation target.
*/
@ -902,8 +902,12 @@ message EstimateFeeResponse {
// The total fee in satoshis.
int64 fee_sat = 1;
// Deprecated, use sat_per_vbyte.
// The fee rate in satoshi/vbyte.
int64 feerate_sat_per_byte = 2;
int64 feerate_sat_per_byte = 2 [deprecated = true];
// The fee rate in satoshi/vbyte.
uint64 sat_per_vbyte = 3;
}
message SendManyRequest {
@ -916,7 +920,12 @@ message SendManyRequest {
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5;
uint64 sat_per_vbyte = 4;
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5 [deprecated = true];
// An optional label for the transaction, limited to 500 characters.
string label = 6;
@ -946,7 +955,12 @@ message SendCoinsRequest {
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5;
uint64 sat_per_vbyte = 4;
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5 [deprecated = true];
/*
If set, then the amount field will be ignored, and lnd will attempt to
@ -1685,9 +1699,10 @@ message CloseChannelRequest {
// confirmed by.
int32 target_conf = 3;
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// closure transaction.
int64 sat_per_byte = 4;
int64 sat_per_byte = 4 [deprecated = true];
/*
An optional address to send funds to in the case of a cooperative close.
@ -1696,6 +1711,10 @@ message CloseChannelRequest {
to the upfront shutdown addresss.
*/
string delivery_address = 5;
// A manual fee rate set in sat/vbyte that should be used when crafting the
// closure transaction.
uint64 sat_per_vbyte = 6;
}
message CloseStatusUpdate {
@ -1733,6 +1752,10 @@ message ReadyForPsbtFunding {
}
message OpenChannelRequest {
// A manual fee rate set in sat/vbyte that should be used when crafting the
// funding transaction.
uint64 sat_per_vbyte = 1;
/*
The pubkey of the node to open a channel with. When using REST, this field
must be encoded as base64.
@ -1756,9 +1779,10 @@ message OpenChannelRequest {
// confirmed by.
int32 target_conf = 6;
// Deprecated, use sat_per_vbyte.
// A manual fee rate set in sat/vbyte that should be used when crafting the
// funding transaction.
int64 sat_per_byte = 7;
int64 sat_per_byte = 7 [deprecated = true];
// Whether this channel should be private, not announced to the greater
// network.

40
lnrpc/rpc.swagger.json

@ -672,7 +672,7 @@
},
{
"name": "sat_per_byte",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nclosure transaction.",
"description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\nclosure transaction.",
"in": "query",
"required": false,
"type": "string",
@ -684,6 +684,14 @@
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sat_per_vbyte",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nclosure transaction.",
"in": "query",
"required": false,
"type": "string",
"format": "uint64"
}
],
"tags": [
@ -1954,7 +1962,7 @@
]
},
"post": {
"summary": "lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_byte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.",
"summary": "lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_vbyte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.",
"operationId": "SendCoins",
"responses": {
"200": {
@ -2021,7 +2029,7 @@
},
"/v1/transactions/many": {
"post": {
"summary": "lncli: `sendmany`\nSendMany handles a request for a transaction that creates multiple specified\noutputs in parallel. If neither target_conf, or sat_per_byte are set, then\nthe internal wallet will consult its fee model to determine a fee for the\ndefault confirmation target.",
"summary": "lncli: `sendmany`\nSendMany handles a request for a transaction that creates multiple specified\noutputs in parallel. If neither target_conf, or sat_per_vbyte are set, then\nthe internal wallet will consult its fee model to determine a fee for the\ndefault confirmation target.",
"operationId": "SendMany",
"responses": {
"200": {
@ -3397,6 +3405,11 @@
"feerate_sat_per_byte": {
"type": "string",
"format": "int64",
"description": "Deprecated, use sat_per_vbyte.\nThe fee rate in satoshi/vbyte."
},
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "The fee rate in satoshi/vbyte."
}
}
@ -4640,6 +4653,11 @@
"lnrpcOpenChannelRequest": {
"type": "object",
"properties": {
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nfunding transaction."
},
"node_pubkey": {
"type": "string",
"format": "byte",
@ -4667,7 +4685,7 @@
"sat_per_byte": {
"type": "string",
"format": "int64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\nfunding transaction."
"description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\nfunding transaction."
},
"private": {
"type": "boolean",
@ -5344,10 +5362,15 @@
"format": "int32",
"description": "The target number of blocks that this transaction should be confirmed\nby."
},
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
},
"sat_per_byte": {
"type": "string",
"format": "int64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
"description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
},
"send_all": {
"type": "boolean",
@ -5395,10 +5418,15 @@
"format": "int32",
"description": "The target number of blocks that this transaction should be confirmed\nby."
},
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
},
"sat_per_byte": {
"type": "string",
"format": "int64",
"description": "A manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
"description": "Deprecated, use sat_per_vbyte.\nA manual fee rate set in sat/vbyte that should be used when crafting the\ntransaction."
},
"label": {
"type": "string",

284
lnrpc/walletrpc/walletkit.pb.go

@ -839,10 +839,11 @@ type PendingSweep struct {
// The value of the output we're attempting to sweep.
AmountSat uint32 `protobuf:"varint,3,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"`
//
//Deprecated, use sat_per_vbyte.
//The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee
//rate is only determined once a sweeping transaction for the output is
//created, so it's possible for this to be 0 before this.
SatPerByte uint32 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerByte uint32 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
// The number of broadcast attempts we've made to sweep the output.
BroadcastAttempts uint32 `protobuf:"varint,5,opt,name=broadcast_attempts,json=broadcastAttempts,proto3" json:"broadcast_attempts,omitempty"`
//
@ -851,8 +852,16 @@ type PendingSweep struct {
NextBroadcastHeight uint32 `protobuf:"varint,6,opt,name=next_broadcast_height,json=nextBroadcastHeight,proto3" json:"next_broadcast_height,omitempty"`
// The requested confirmation target for this output.
RequestedConfTarget uint32 `protobuf:"varint,8,opt,name=requested_conf_target,json=requestedConfTarget,proto3" json:"requested_conf_target,omitempty"`
// Deprecated, use requested_sat_per_vbyte.
// The requested fee rate, expressed in sat/vbyte, for this output.
RequestedSatPerByte uint32 `protobuf:"varint,9,opt,name=requested_sat_per_byte,json=requestedSatPerByte,proto3" json:"requested_sat_per_byte,omitempty"`
RequestedSatPerByte uint32 `protobuf:"varint,9,opt,name=requested_sat_per_byte,json=requestedSatPerByte,proto3" json:"requested_sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee
//rate is only determined once a sweeping transaction for the output is
//created, so it's possible for this to be 0 before this.
SatPerVbyte uint64 `protobuf:"varint,10,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
// The requested fee rate, expressed in sat/vbyte, for this output.
RequestedSatPerVbyte uint64 `protobuf:"varint,11,opt,name=requested_sat_per_vbyte,json=requestedSatPerVbyte,proto3" json:"requested_sat_per_vbyte,omitempty"`
//
//Whether this input must be force-swept. This means that it is swept even
//if it has a negative yield.
@ -908,6 +917,7 @@ func (m *PendingSweep) GetAmountSat() uint32 {
return 0
}
// Deprecated: Do not use.
func (m *PendingSweep) GetSatPerByte() uint32 {
if m != nil {
return m.SatPerByte
@ -936,6 +946,7 @@ func (m *PendingSweep) GetRequestedConfTarget() uint32 {
return 0
}
// Deprecated: Do not use.
func (m *PendingSweep) GetRequestedSatPerByte() uint32 {
if m != nil {
return m.RequestedSatPerByte
@ -943,6 +954,20 @@ func (m *PendingSweep) GetRequestedSatPerByte() uint32 {
return 0
}
func (m *PendingSweep) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
func (m *PendingSweep) GetRequestedSatPerVbyte() uint64 {
if m != nil {
return m.RequestedSatPerVbyte
}
return 0
}
func (m *PendingSweep) GetForce() bool {
if m != nil {
return m.Force
@ -1028,13 +1053,18 @@ type BumpFeeRequest struct {
// The target number of blocks that the input should be spent within.
TargetConf uint32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
//
//Deprecated, use sat_per_vbyte.
//The fee rate, expressed in sat/vbyte, that should be used to spend the input
//with.
SatPerByte uint32 `protobuf:"varint,3,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
SatPerByte uint32 `protobuf:"varint,3,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//Whether this input must be force-swept. This means that it is swept even
//if it has a negative yield.
Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"`
Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"`
//
//The fee rate, expressed in sat/vbyte, that should be used to spend the input
//with.
SatPerVbyte uint64 `protobuf:"varint,5,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1079,6 +1109,7 @@ func (m *BumpFeeRequest) GetTargetConf() uint32 {
return 0
}
// Deprecated: Do not use.
func (m *BumpFeeRequest) GetSatPerByte() uint32 {
if m != nil {
return m.SatPerByte
@ -1093,6 +1124,13 @@ func (m *BumpFeeRequest) GetForce() bool {
return false
}
func (m *BumpFeeRequest) GetSatPerVbyte() uint64 {
if m != nil {
return m.SatPerVbyte
}
return 0
}
type BumpFeeResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1464,7 +1502,7 @@ type FundPsbtRequest_TargetConf struct {
}
type FundPsbtRequest_SatPerVbyte struct {
SatPerVbyte uint32 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3,oneof"`
SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3,oneof"`
}
func (*FundPsbtRequest_TargetConf) isFundPsbtRequest_Fees() {}
@ -1485,7 +1523,7 @@ func (m *FundPsbtRequest) GetTargetConf() uint32 {
return 0
}
func (m *FundPsbtRequest) GetSatPerVbyte() uint32 {
func (m *FundPsbtRequest) GetSatPerVbyte() uint64 {
if x, ok := m.GetFees().(*FundPsbtRequest_SatPerVbyte); ok {
return x.SatPerVbyte
}
@ -1885,123 +1923,125 @@ func init() {
func init() { proto.RegisterFile("walletrpc/walletkit.proto", fileDescriptor_6cc6942ac78249e5) }
var fileDescriptor_6cc6942ac78249e5 = []byte{
// 1851 bytes of a gzipped FileDescriptorProto
// 1887 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5f, 0x73, 0xe2, 0xc8,
0x11, 0x5f, 0x0c, 0xc6, 0xd0, 0x80, 0x8d, 0x07, 0xbc, 0x66, 0x59, 0xef, 0xd9, 0xab, 0x4b, 0x72,
0x4e, 0xee, 0x0e, 0x57, 0xbc, 0x75, 0x97, 0x3d, 0x27, 0x95, 0x8a, 0x8d, 0xe5, 0xc2, 0x05, 0x06,
0x67, 0xc0, 0xeb, 0xda, 0xe4, 0x41, 0x25, 0xd0, 0xd8, 0x56, 0x19, 0x24, 0x9d, 0x34, 0x18, 0xc8,
0xd3, 0x7d, 0x8a, 0x54, 0x5d, 0x55, 0xbe, 0xc3, 0x3d, 0xe4, 0x35, 0x1f, 0x2e, 0x35, 0x7f, 0x10,
0x23, 0x81, 0x6f, 0x93, 0x4a, 0x9e, 0xd0, 0xf4, 0xaf, 0xbb, 0xa7, 0xa7, 0xbb, 0x67, 0xba, 0x1b,
0x78, 0x35, 0x31, 0x87, 0x43, 0x42, 0x7d, 0x6f, 0x70, 0x24, 0xbe, 0x1e, 0x6d, 0x5a, 0xf3, 0x7c,
0x97, 0xba, 0x28, 0x1b, 0x42, 0xd5, 0xac, 0xef, 0x0d, 0x04, 0xb5, 0x5a, 0x0e, 0xec, 0x7b, 0x87,
0xb1, 0xb3, 0x5f, 0xe2, 0x0b, 0xaa, 0xd6, 0x06, 0xd4, 0xb2, 0x03, 0x7a, 0xe3, 0x04, 0x1e, 0x71,
0x28, 0x26, 0xdf, 0x8f, 0x49, 0x40, 0xd1, 0x6b, 0xc8, 0x8e, 0x6c, 0xc7, 0x18, 0xb8, 0xce, 0x5d,
0x50, 0x49, 0x1c, 0x24, 0x0e, 0xd7, 0x71, 0x66, 0x64, 0x3b, 0x75, 0xb6, 0xe6, 0xa0, 0x39, 0x95,
0xe0, 0x9a, 0x04, 0xcd, 0x29, 0x07, 0xb5, 0xf7, 0x50, 0x8a, 0xe8, 0x0b, 0x3c, 0xd7, 0x09, 0x08,
0x7a, 0x0b, 0xeb, 0x63, 0x3a, 0x75, 0x99, 0xb2, 0xe4, 0x61, 0xee, 0x38, 0x57, 0x1b, 0x32, 0x53,
0x6a, 0x37, 0x74, 0xea, 0x62, 0x81, 0x68, 0x3f, 0x24, 0x00, 0xb5, 0x88, 0x19, 0x90, 0xce, 0x98,
0x7a, 0xe3, 0xd0, 0x94, 0x4d, 0x58, 0xb3, 0x2d, 0x6e, 0x43, 0x1e, 0xaf, 0xd9, 0x16, 0xfa, 0x12,
0x32, 0xee, 0x98, 0x7a, 0xae, 0xed, 0x50, 0xbe, 0x79, 0xee, 0x78, 0x4b, 0x2a, 0xeb, 0x8c, 0xe9,
0x35, 0x23, 0xe3, 0x90, 0x01, 0x7d, 0x0d, 0x88, 0x4c, 0x3d, 0xdb, 0x37, 0xa9, 0xed, 0x3a, 0x46,
0x40, 0x06, 0xae, 0x63, 0x05, 0x95, 0xe4, 0x41, 0xe2, 0x30, 0x85, 0xb7, 0x17, 0x48, 0x57, 0x00,
0xda, 0x37, 0x50, 0x8a, 0x58, 0x20, 0x8d, 0xff, 0x0c, 0x60, 0xc1, 0xcb, 0x4d, 0x49, 0x61, 0x85,
0xa2, 0x75, 0xa1, 0x8c, 0xc9, 0xf0, 0xff, 0x6b, 0xba, 0xb6, 0x0b, 0x3b, 0x31, 0xa5, 0xc2, 0x1a,
0xed, 0xcf, 0x90, 0x6e, 0x92, 0x19, 0x26, 0xdf, 0xa3, 0x43, 0x28, 0x3e, 0x92, 0x99, 0x71, 0x67,
0x3b, 0xf7, 0xc4, 0x37, 0x3c, 0x9f, 0xe9, 0x15, 0xc1, 0xda, 0x7c, 0x24, 0xb3, 0x0b, 0x4e, 0xbe,
0x66, 0x54, 0xf4, 0x06, 0x80, 0x73, 0x9a, 0x23, 0x7b, 0x38, 0x93, 0x31, 0xcb, 0x32, 0x1e, 0x4e,
0xd0, 0x0a, 0x90, 0x3b, 0xb5, 0x2c, 0x5f, 0xda, 0xad, 0x69, 0x90, 0x17, 0x4b, 0x79, 0x7e, 0x04,
0x29, 0xd3, 0xb2, 0x7c, 0xae, 0x3b, 0x8b, 0xf9, 0xb7, 0x76, 0x02, 0xb9, 0x9e, 0x6f, 0x3a, 0x81,
0x39, 0x60, 0x2e, 0x40, 0x3b, 0x90, 0xa6, 0x53, 0xe3, 0x81, 0x4c, 0xe5, 0x71, 0xd7, 0xe9, 0xb4,
0x41, 0xa6, 0xa8, 0x0c, 0xeb, 0x43, 0xb3, 0x4f, 0x86, 0x7c, 0xcb, 0x2c, 0x16, 0x0b, 0xed, 0x5b,
0xd8, 0xba, 0x1e, 0xf7, 0x87, 0x76, 0xf0, 0x10, 0x6e, 0xf1, 0x39, 0x14, 0x3c, 0x41, 0x32, 0x88,
0xef, 0xbb, 0xf3, 0xbd, 0xf2, 0x92, 0xa8, 0x33, 0x9a, 0xf6, 0xaf, 0x04, 0xa0, 0x2e, 0x71, 0x2c,
0xe1, 0x90, 0x60, 0xee, 0xe6, 0x3d, 0x80, 0xc0, 0xa4, 0x86, 0x47, 0x7c, 0xe3, 0x71, 0xc2, 0x05,
0x93, 0x38, 0x13, 0x98, 0xf4, 0x9a, 0xf8, 0xcd, 0x09, 0x3a, 0x84, 0x0d, 0x57, 0xf0, 0x57, 0xd6,
0x78, 0xee, 0x6d, 0xd6, 0xe4, 0x45, 0xa8, 0xf5, 0xa6, 0x9d, 0x31, 0xc5, 0x73, 0x78, 0x61, 0x6c,
0x52, 0x31, 0x36, 0x7a, 0x15, 0x52, 0xb1, 0xab, 0xf0, 0x25, 0x6c, 0xb3, 0x3c, 0xb7, 0x8c, 0xb1,
0xc3, 0x18, 0x6c, 0x7f, 0x44, 0xac, 0xca, 0xfa, 0x41, 0xe2, 0x30, 0x83, 0x8b, 0x1c, 0xb8, 0x59,
0xd0, 0xb5, 0xaf, 0xa0, 0x14, 0xb1, 0x5e, 0x1e, 0x7d, 0x07, 0xd2, 0xbe, 0x39, 0x31, 0x68, 0xe8,
0x3a, 0xdf, 0x9c, 0xf4, 0xa6, 0xda, 0x37, 0x80, 0xf4, 0x80, 0xda, 0x23, 0x93, 0x92, 0x0b, 0x42,
0xe6, 0x67, 0xdd, 0x87, 0x1c, 0x53, 0x68, 0x50, 0xd3, 0xbf, 0x27, 0xf3, 0x68, 0x03, 0x23, 0xf5,
0x38, 0x45, 0x7b, 0x07, 0xa5, 0x88, 0x98, 0xdc, 0xe4, 0x67, 0x7d, 0xa4, 0xfd, 0x98, 0x84, 0xfc,
0x35, 0x71, 0x2c, 0xdb, 0xb9, 0xef, 0x4e, 0x08, 0xf1, 0x22, 0x99, 0x9a, 0xf8, 0xd4, 0x25, 0xfb,
0x0e, 0xf2, 0x13, 0x9b, 0x3a, 0x24, 0x08, 0x0c, 0x3a, 0xf3, 0x08, 0x8f, 0xf5, 0xe6, 0xf1, 0xcb,
0x5a, 0xf8, 0x0a, 0xd5, 0x6e, 0x05, 0xdc, 0x9b, 0x79, 0x04, 0xe7, 0x26, 0x8b, 0x05, 0xcb, 0x4b,
0x73, 0xe4, 0x8e, 0x1d, 0x6a, 0x04, 0x26, 0xe5, 0x7e, 0x2f, 0xe0, 0xac, 0xa0, 0x74, 0x4d, 0x8a,
0x0e, 0x20, 0x3f, 0xb7, 0xba, 0x3f, 0xa3, 0x84, 0xbb, 0xbf, 0x80, 0x41, 0xd8, 0x7d, 0x36, 0xa3,
0x84, 0x5d, 0xf0, 0xbe, 0xef, 0x9a, 0xd6, 0xc0, 0x0c, 0xa8, 0x61, 0x52, 0x4a, 0x46, 0x1e, 0x0d,
0x78, 0x04, 0x0a, 0x78, 0x3b, 0x44, 0x4e, 0x25, 0x80, 0x8e, 0x61, 0xc7, 0x21, 0x53, 0x6a, 0x2c,
0x64, 0x1e, 0x88, 0x7d, 0xff, 0x40, 0x2b, 0x69, 0x2e, 0x51, 0x62, 0xe0, 0xd9, 0x1c, 0x6b, 0x70,
0x88, 0xc9, 0xf8, 0xc2, 0xfb, 0xc4, 0x32, 0x54, 0xe7, 0x67, 0x84, 0x4c, 0x08, 0xd6, 0xc3, 0x28,
0xa0, 0x77, 0xf0, 0x72, 0x21, 0x13, 0x39, 0x42, 0x36, 0x26, 0xd4, 0x5d, 0x9c, 0xa5, 0x0c, 0xeb,
0x77, 0xae, 0x3f, 0x20, 0x95, 0x0d, 0x9e, 0x40, 0x62, 0xa1, 0xbd, 0x84, 0xb2, 0x1a, 0x9a, 0x79,
0xd6, 0x6b, 0xb7, 0xb0, 0x13, 0xa3, 0xcb, 0x50, 0xff, 0x11, 0x36, 0x3d, 0x01, 0x18, 0x01, 0x47,
0xe4, 0x9b, 0xbb, 0xab, 0x04, 0x44, 0x95, 0xc4, 0x05, 0x4f, 0xd5, 0xa3, 0xfd, 0x3d, 0x01, 0x9b,
0x67, 0xe3, 0x91, 0xa7, 0x64, 0xdd, 0x7f, 0x95, 0x0e, 0xfb, 0x90, 0x13, 0x0e, 0xe2, 0xce, 0xe2,
0xd9, 0x50, 0xc0, 0x20, 0x48, 0xcc, 0x45, 0x4b, 0x51, 0x4d, 0x2e, 0x45, 0x35, 0xf4, 0x44, 0x4a,
0xf5, 0xc4, 0x36, 0x6c, 0x85, 0x76, 0xc9, 0xb7, 0xf0, 0x6b, 0xd8, 0x66, 0xd5, 0x26, 0xe2, 0x19,
0x54, 0x81, 0x8d, 0x27, 0xe2, 0xf7, 0xdd, 0x80, 0x70, 0x63, 0x33, 0x78, 0xbe, 0xd4, 0x7e, 0x58,
0x13, 0xd5, 0x2e, 0xe6, 0xb1, 0x16, 0x94, 0xe8, 0xe2, 0x2d, 0x33, 0x2c, 0x42, 0x4d, 0x7b, 0x18,
0xc8, 0x93, 0xbe, 0x92, 0x27, 0x55, 0x5e, 0xbb, 0x73, 0xc1, 0xd0, 0x78, 0x81, 0x11, 0x5d, 0xa2,
0xa2, 0x5b, 0xd8, 0x52, 0xb5, 0xd9, 0x56, 0x20, 0x1f, 0xfb, 0xaf, 0x94, 0x00, 0x2c, 0x5b, 0xa1,
0x6e, 0x70, 0x79, 0xce, 0x94, 0x6f, 0x2a, 0x6a, 0x2e, 0xad, 0xa0, 0xfa, 0x1d, 0x6c, 0x46, 0x79,
0xd0, 0x17, 0xcb, 0x5b, 0xb1, 0x58, 0x67, 0xe3, 0xa2, 0x67, 0x19, 0x48, 0x8b, 0x5c, 0xd0, 0x4c,
0xd8, 0x6d, 0xb1, 0x77, 0x4d, 0xd1, 0x34, 0xf7, 0x1b, 0x82, 0x14, 0x9d, 0x86, 0x05, 0x8b, 0x7f,
0xaf, 0x7e, 0xc0, 0xd1, 0x1e, 0x64, 0xdd, 0x27, 0xe2, 0x4f, 0x7c, 0x5b, 0x86, 0x2f, 0x83, 0x17,
0x04, 0xad, 0x0a, 0x95, 0xe5, 0x2d, 0x64, 0xc0, 0x7e, 0x4a, 0xc0, 0xd6, 0xc5, 0xd8, 0xb1, 0xae,
0x83, 0x7e, 0x58, 0x26, 0xcb, 0x90, 0xf2, 0x82, 0xbe, 0xc8, 0xac, 0x7c, 0xe3, 0x05, 0xe6, 0x2b,
0xf4, 0x6b, 0x48, 0xfa, 0xe6, 0x44, 0xba, 0x6e, 0x47, 0x71, 0x5d, 0x6f, 0xda, 0x23, 0x23, 0x6f,
0x68, 0x52, 0xd2, 0x78, 0x81, 0x19, 0x0f, 0x7a, 0x1b, 0xcd, 0x38, 0x9e, 0x4f, 0x8d, 0x44, 0x24,
0xe7, 0x7e, 0x01, 0x85, 0x79, 0xce, 0x3d, 0x2d, 0x9e, 0x92, 0x46, 0x02, 0xe7, 0x44, 0xda, 0x7d,
0x60, 0xc4, 0x33, 0x80, 0x0c, 0x95, 0xba, 0xcf, 0xd2, 0x90, 0xba, 0x23, 0x24, 0xd0, 0xfe, 0x91,
0x80, 0xe2, 0xc2, 0x62, 0x99, 0x31, 0xfb, 0x90, 0xbb, 0x1b, 0x3b, 0x16, 0xb1, 0x8c, 0x85, 0xe5,
0x18, 0x04, 0x89, 0x31, 0xa2, 0x1a, 0x94, 0x06, 0x0f, 0xa6, 0x73, 0x4f, 0x0c, 0x51, 0x5d, 0x0c,
0xdb, 0xb1, 0xc8, 0x54, 0x56, 0xde, 0x6d, 0x01, 0x89, 0x42, 0x70, 0xc9, 0x00, 0xf4, 0x3b, 0xc8,
0x0f, 0xdd, 0xc1, 0x23, 0xb1, 0x0c, 0xd1, 0x26, 0x25, 0xf9, 0x95, 0x2d, 0x2b, 0xc7, 0x66, 0xad,
0x12, 0x6f, 0x4e, 0x70, 0x4e, 0x70, 0xde, 0xf0, 0xae, 0xe9, 0xa7, 0x04, 0xc0, 0xc2, 0x23, 0xe8,
0x0b, 0x48, 0xdb, 0x0e, 0x2f, 0x76, 0xe2, 0xd2, 0x2f, 0xdd, 0x53, 0x09, 0xa3, 0x3f, 0xc4, 0xcb,
0xa2, 0xb6, 0xd2, 0xc5, 0x35, 0x59, 0xad, 0x74, 0x87, 0xfa, 0xb3, 0xb0, 0x54, 0x56, 0x4f, 0x20,
0xaf, 0x02, 0xa8, 0x08, 0xc9, 0x47, 0x32, 0x93, 0x45, 0x9b, 0x7d, 0xb2, 0xc4, 0x79, 0x32, 0x87,
0x63, 0x51, 0x0d, 0x52, 0x58, 0x2c, 0x4e, 0xd6, 0xde, 0x27, 0xb4, 0x07, 0xc8, 0x86, 0x67, 0xf9,
0xdf, 0xba, 0xbb, 0x68, 0x5f, 0x96, 0x5c, 0xea, 0xcb, 0xbe, 0x85, 0xd2, 0x85, 0xed, 0x98, 0x43,
0xfb, 0x6f, 0x44, 0xcd, 0xb7, 0x4f, 0x05, 0x4f, 0xfb, 0x08, 0xe5, 0xa8, 0xdc, 0x22, 0xea, 0xbc,
0x77, 0x8e, 0x0a, 0x0a, 0x12, 0x8f, 0xfa, 0x01, 0xe4, 0x59, 0x29, 0xbf, 0x63, 0xc2, 0xac, 0xa0,
0xaf, 0x09, 0x0e, 0xdf, 0x9c, 0x70, 0x7d, 0xbd, 0xa9, 0x56, 0x12, 0x0f, 0x16, 0x3f, 0x7c, 0xf8,
0x94, 0x5f, 0x89, 0x57, 0x69, 0x4e, 0x94, 0xbb, 0xc5, 0x53, 0x22, 0xf1, 0x1f, 0xa6, 0xc4, 0x6f,
0x7e, 0x4c, 0x42, 0x4e, 0xa9, 0xb8, 0xa8, 0x04, 0x5b, 0x37, 0xed, 0x66, 0xbb, 0x73, 0xdb, 0x36,
0x6e, 0x2f, 0x7b, 0x6d, 0xbd, 0xdb, 0x2d, 0xbe, 0x40, 0x15, 0x28, 0xd7, 0x3b, 0x57, 0x57, 0x97,
0xbd, 0x2b, 0xbd, 0xdd, 0x33, 0x7a, 0x97, 0x57, 0xba, 0xd1, 0xea, 0xd4, 0x9b, 0xc5, 0x04, 0xda,
0x85, 0x92, 0x82, 0xb4, 0x3b, 0xc6, 0xb9, 0xde, 0x3a, 0xfd, 0x58, 0x5c, 0x43, 0x3b, 0xb0, 0xad,
0x00, 0x58, 0xff, 0xd0, 0x69, 0xea, 0xc5, 0x24, 0xe3, 0x6f, 0xf4, 0x5a, 0x75, 0xa3, 0x73, 0x71,
0xa1, 0x63, 0xfd, 0x7c, 0x0e, 0xa4, 0xd8, 0x16, 0x1c, 0x38, 0xad, 0xd7, 0xf5, 0xeb, 0xde, 0x02,
0x59, 0x47, 0xbf, 0x84, 0xb7, 0x11, 0x11, 0xb6, 0x7d, 0xe7, 0xa6, 0x67, 0x74, 0xf5, 0x7a, 0xa7,
0x7d, 0x6e, 0xb4, 0xf4, 0x0f, 0x7a, 0xab, 0x98, 0x46, 0xbf, 0x02, 0x2d, 0xaa, 0xa0, 0x7b, 0x53,
0xaf, 0xeb, 0xdd, 0x6e, 0x94, 0x6f, 0x03, 0xed, 0xc3, 0xeb, 0x98, 0x05, 0x57, 0x9d, 0x9e, 0x3e,
0xd7, 0x5a, 0xcc, 0xa0, 0x03, 0xd8, 0x8b, 0x5b, 0xc2, 0x39, 0xa4, 0xbe, 0x62, 0x16, 0xed, 0x41,
0x85, 0x73, 0xa8, 0x9a, 0xe7, 0xf6, 0x02, 0x2a, 0x43, 0x51, 0x7a, 0xce, 0x68, 0xea, 0x1f, 0x8d,
0xc6, 0x69, 0xb7, 0x51, 0xcc, 0xa1, 0xd7, 0xb0, 0xdb, 0xd6, 0xbb, 0x4c, 0xdd, 0x12, 0x98, 0x8f,
0x39, 0xeb, 0xb4, 0x5d, 0x6f, 0x74, 0x70, 0xb1, 0x70, 0xfc, 0xcf, 0x2c, 0x64, 0x6f, 0x79, 0x00,
0x9b, 0x36, 0x45, 0x2d, 0xc8, 0x29, 0xc3, 0x12, 0x7a, 0x13, 0x2b, 0x10, 0xd1, 0xa1, 0xac, 0xfa,
0xd9, 0x73, 0x70, 0x58, 0xc6, 0x72, 0xca, 0xf4, 0x12, 0xd5, 0xb6, 0x34, 0x9c, 0x44, 0xb5, 0xad,
0x18, 0x7a, 0x30, 0x14, 0x22, 0xf3, 0x07, 0xda, 0x57, 0x04, 0x56, 0x8d, 0x3b, 0xd5, 0x83, 0xe7,
0x19, 0xa4, 0xce, 0x4b, 0x80, 0x45, 0xa2, 0xa3, 0xbd, 0xd8, 0x79, 0x22, 0x97, 0xa2, 0xfa, 0xe6,
0x19, 0x54, 0xaa, 0x3a, 0x81, 0xc2, 0x39, 0xf1, 0xed, 0x27, 0xd2, 0x26, 0x53, 0xda, 0x24, 0x33,
0xb4, 0xad, 0xf0, 0x8b, 0xf9, 0xa8, 0xfa, 0x32, 0xec, 0xf4, 0x9b, 0x64, 0x76, 0x4e, 0x82, 0x81,
0x6f, 0x7b, 0xd4, 0xf5, 0xd1, 0x7b, 0xc8, 0x0a, 0x59, 0x26, 0x57, 0x52, 0x99, 0x5a, 0xee, 0xc0,
0xa4, 0xae, 0xff, 0xac, 0xe4, 0xef, 0x21, 0xc3, 0xf6, 0x63, 0xd3, 0x11, 0x52, 0x1b, 0x5c, 0x65,
0x7a, 0xaa, 0xee, 0x2e, 0xd1, 0xa5, 0xc9, 0x0d, 0x40, 0x72, 0xec, 0x51, 0x27, 0x27, 0x55, 0x8d,
0x42, 0xaf, 0x56, 0xd5, 0x76, 0x2d, 0x36, 0x2d, 0xb5, 0x20, 0xa7, 0x4c, 0x12, 0x91, 0x48, 0x2f,
0xcf, 0x47, 0x91, 0x48, 0xaf, 0x1a, 0x40, 0x5a, 0x90, 0x53, 0x46, 0x86, 0x88, 0xb6, 0xe5, 0x09,
0x24, 0xa2, 0x6d, 0xd5, 0xa4, 0x81, 0xa1, 0x10, 0xe9, 0x4b, 0x23, 0x79, 0xb3, 0xaa, 0x93, 0x8d,
0xe4, 0xcd, 0xea, 0x96, 0xf6, 0x4f, 0xb0, 0x21, 0x3b, 0x3f, 0xf4, 0x4a, 0x61, 0x8e, 0x76, 0xa9,
0x11, 0x8f, 0xc5, 0x1a, 0xc5, 0x79, 0xe6, 0x49, 0x93, 0xf6, 0x9e, 0xe9, 0xc4, 0x56, 0x67, 0x5e,
0xcc, 0x98, 0xbf, 0x42, 0x31, 0xde, 0xde, 0x20, 0xb5, 0x78, 0x3e, 0xd3, 0x5e, 0x55, 0x3f, 0xff,
0x59, 0x1e, 0xa9, 0xbc, 0x0e, 0x99, 0x79, 0xb3, 0x81, 0xd4, 0xf3, 0xc4, 0x7a, 0xa6, 0xea, 0xeb,
0x95, 0x98, 0x54, 0xd2, 0x81, 0xbc, 0x5a, 0xbf, 0x90, 0x1a, 0xb2, 0x15, 0x05, 0xb1, 0xba, 0xff,
0x2c, 0x2e, 0x14, 0x9e, 0xfd, 0xf6, 0x2f, 0x47, 0xf7, 0x36, 0x7d, 0x18, 0xf7, 0x6b, 0x03, 0x77,
0x74, 0x34, 0x64, 0x63, 0x91, 0x63, 0x3b, 0xf7, 0x0e, 0xa1, 0x13, 0xd7, 0x7f, 0x3c, 0x1a, 0x3a,
0xd6, 0x11, 0x2f, 0xd2, 0x47, 0xa1, 0x9e, 0x7e, 0x9a, 0xff, 0xbd, 0xf4, 0xee, 0xdf, 0x01, 0x00,
0x00, 0xff, 0xff, 0xad, 0x1e, 0xe8, 0xf0, 0xa7, 0x12, 0x00, 0x00,
0x11, 0x5f, 0xfe, 0x98, 0x85, 0x16, 0xd8, 0x78, 0xc0, 0x6b, 0x96, 0xf5, 0x9e, 0xbd, 0xba, 0x24,
0xe7, 0xe4, 0xee, 0x70, 0xc5, 0x57, 0x7b, 0xb7, 0xb7, 0x49, 0xa5, 0x62, 0x63, 0xb9, 0x70, 0x81,
0xc1, 0x11, 0x78, 0x5d, 0x9b, 0x3c, 0xa8, 0x04, 0x1a, 0xdb, 0x2a, 0x83, 0xa4, 0x93, 0x06, 0x03,
0x79, 0xba, 0xaf, 0x91, 0xaa, 0x7c, 0x87, 0x7b, 0xc8, 0x6b, 0x2a, 0x9f, 0x2c, 0x0f, 0xa9, 0xf9,
0x83, 0x34, 0x12, 0xf8, 0x2e, 0xa9, 0xdc, 0x93, 0x51, 0xff, 0xba, 0x7b, 0xfa, 0xdf, 0x4c, 0x77,
0x1b, 0x5e, 0xce, 0xcc, 0xf1, 0x18, 0x13, 0xdf, 0x1b, 0x1d, 0xf1, 0x5f, 0x0f, 0x36, 0x69, 0x78,
0xbe, 0x4b, 0x5c, 0x54, 0x08, 0xa1, 0x7a, 0xc1, 0xf7, 0x46, 0x9c, 0x5a, 0xaf, 0x06, 0xf6, 0x9d,
0x43, 0xd9, 0xe9, 0x5f, 0xec, 0x73, 0xaa, 0xda, 0x05, 0xd4, 0xb1, 0x03, 0x72, 0xed, 0x04, 0x1e,
0x76, 0x88, 0x8e, 0xbf, 0x9b, 0xe2, 0x80, 0xa0, 0x57, 0x50, 0x98, 0xd8, 0x8e, 0x31, 0x72, 0x9d,
0xdb, 0xa0, 0x96, 0x3a, 0x48, 0x1d, 0x6e, 0xe8, 0xf9, 0x89, 0xed, 0x34, 0xe9, 0x37, 0x03, 0xcd,
0xb9, 0x00, 0xd3, 0x02, 0x34, 0xe7, 0x0c, 0x54, 0xdf, 0x41, 0x25, 0xa6, 0x2f, 0xf0, 0x5c, 0x27,
0xc0, 0xe8, 0x0d, 0x6c, 0x4c, 0xc9, 0xdc, 0xa5, 0xca, 0x32, 0x87, 0xca, 0xb1, 0xd2, 0x18, 0x53,
0x53, 0x1a, 0xd7, 0x64, 0xee, 0xea, 0x1c, 0x51, 0xbf, 0x4f, 0x01, 0xea, 0x60, 0x33, 0xc0, 0xbd,
0x29, 0xf1, 0xa6, 0xa1, 0x29, 0x9b, 0x90, 0xb6, 0x2d, 0x66, 0x43, 0x51, 0x4f, 0xdb, 0x16, 0xfa,
0x1c, 0xf2, 0xee, 0x94, 0x78, 0xae, 0xed, 0x10, 0x76, 0xb8, 0x72, 0xbc, 0x25, 0x94, 0xf5, 0xa6,
0xe4, 0x8a, 0x92, 0xf5, 0x90, 0x01, 0x7d, 0x09, 0x08, 0xcf, 0x3d, 0xdb, 0x37, 0x89, 0xed, 0x3a,
0x46, 0x80, 0x47, 0xae, 0x63, 0x05, 0xb5, 0xcc, 0x41, 0xea, 0x30, 0xab, 0x6f, 0x47, 0x48, 0x9f,
0x03, 0xea, 0x5b, 0xa8, 0xc4, 0x2c, 0x10, 0xc6, 0x7f, 0x02, 0x10, 0xf1, 0x32, 0x53, 0xb2, 0xba,
0x44, 0x51, 0xfb, 0x50, 0xd5, 0xf1, 0xf8, 0xe7, 0x35, 0x5d, 0xdd, 0x85, 0x9d, 0x84, 0x52, 0x6e,
0x8d, 0xfa, 0x27, 0xc8, 0xb5, 0xf1, 0x42, 0xc7, 0xdf, 0xa1, 0x43, 0x28, 0x3f, 0xe0, 0x85, 0x71,
0x6b, 0x3b, 0x77, 0xd8, 0x37, 0x3c, 0x9f, 0xea, 0xe5, 0xc9, 0xda, 0x7c, 0xc0, 0x8b, 0x73, 0x46,
0xbe, 0xa2, 0x54, 0xf4, 0x1a, 0x80, 0x71, 0x9a, 0x13, 0x7b, 0xbc, 0x10, 0x39, 0x2b, 0x50, 0x1e,
0x46, 0x50, 0x4b, 0xa0, 0x9c, 0x58, 0x96, 0x2f, 0xec, 0x56, 0x55, 0x28, 0xf2, 0x4f, 0xe1, 0x3f,
0x82, 0xac, 0x69, 0x59, 0x3e, 0xd3, 0x5d, 0xd0, 0xd9, 0x6f, 0xf5, 0x3d, 0x28, 0x03, 0xdf, 0x74,
0x02, 0x73, 0x44, 0x43, 0x80, 0x76, 0x20, 0x47, 0xe6, 0xc6, 0x3d, 0x9e, 0x0b, 0x77, 0x37, 0xc8,
0xbc, 0x85, 0xe7, 0xa8, 0x0a, 0x1b, 0x63, 0x73, 0x88, 0xc7, 0xec, 0xc8, 0x82, 0xce, 0x3f, 0xd4,
0xaf, 0x61, 0xeb, 0x6a, 0x3a, 0x1c, 0xdb, 0xc1, 0x7d, 0x78, 0xc4, 0xa7, 0x50, 0xf2, 0x38, 0xc9,
0xc0, 0xbe, 0xef, 0x2e, 0xcf, 0x2a, 0x0a, 0xa2, 0x46, 0x69, 0xea, 0x3f, 0x53, 0x80, 0xfa, 0xd8,
0xb1, 0x78, 0x40, 0x82, 0x65, 0x98, 0xf7, 0x00, 0x02, 0x93, 0x18, 0x1e, 0xf6, 0x8d, 0x87, 0x19,
0x13, 0xcc, 0xe8, 0xf9, 0xc0, 0x24, 0x57, 0xd8, 0x6f, 0xcf, 0xd0, 0x21, 0x3c, 0x77, 0x39, 0x7f,
0x2d, 0xcd, 0x6a, 0x6f, 0xb3, 0x21, 0x2e, 0x42, 0x63, 0x30, 0xef, 0x4d, 0x89, 0xbe, 0x84, 0x23,
0x63, 0x33, 0x92, 0xb1, 0xf1, 0xab, 0x90, 0x4d, 0x5c, 0x85, 0xcf, 0x61, 0x9b, 0xd6, 0xb9, 0x65,
0x4c, 0x1d, 0xca, 0x60, 0xfb, 0x13, 0x6c, 0xd5, 0x36, 0x0e, 0x52, 0x87, 0x79, 0xbd, 0xcc, 0x80,
0xeb, 0x88, 0xae, 0x7e, 0x01, 0x95, 0x98, 0xf5, 0xc2, 0xf5, 0x1d, 0xc8, 0xf9, 0xe6, 0xcc, 0x20,
0x61, 0xe8, 0x7c, 0x73, 0x36, 0x98, 0xab, 0x6f, 0x01, 0x69, 0x01, 0xb1, 0x27, 0x26, 0xc1, 0xe7,
0x18, 0x2f, 0x7d, 0xdd, 0x07, 0x85, 0x2a, 0x34, 0x88, 0xe9, 0xdf, 0xe1, 0x65, 0xb6, 0x81, 0x92,
0x06, 0x8c, 0xa2, 0x7e, 0x05, 0x95, 0x98, 0x98, 0x38, 0xe4, 0x47, 0x63, 0xa4, 0xfe, 0x3b, 0x03,
0xc5, 0x2b, 0xec, 0x58, 0xb6, 0x73, 0xd7, 0x9f, 0x61, 0xec, 0xc5, 0x2a, 0x35, 0xf5, 0x53, 0x97,
0xec, 0x5b, 0x28, 0xce, 0x6c, 0xe2, 0xe0, 0x20, 0x30, 0xc8, 0xc2, 0xc3, 0x2c, 0xd7, 0x9b, 0xc7,
0x2f, 0x1a, 0xe1, 0x2b, 0xd4, 0xb8, 0xe1, 0xf0, 0x60, 0xe1, 0x61, 0x5d, 0x99, 0x45, 0x1f, 0xb4,
0x2e, 0xcd, 0x89, 0x3b, 0x75, 0x88, 0x11, 0x98, 0x84, 0xc5, 0xbd, 0xa4, 0x17, 0x38, 0xa5, 0x6f,
0x12, 0xf4, 0x0b, 0x28, 0x2e, 0xad, 0x1e, 0x2e, 0x08, 0x66, 0xe1, 0x2f, 0x9d, 0xa6, 0x6b, 0x29,
0x1d, 0xb8, 0xed, 0xa7, 0x0b, 0x82, 0xe9, 0x25, 0x1f, 0xfa, 0xae, 0x69, 0x8d, 0xcc, 0x80, 0x18,
0x26, 0x21, 0x78, 0xe2, 0x91, 0x80, 0x65, 0xa1, 0xa4, 0x6f, 0x87, 0xc8, 0x89, 0x00, 0xd0, 0x31,
0xec, 0x38, 0x78, 0x4e, 0x8c, 0x48, 0xe6, 0x1e, 0xdb, 0x77, 0xf7, 0xa4, 0x96, 0x63, 0x12, 0x15,
0x0a, 0x9e, 0x2e, 0xb1, 0x16, 0x83, 0xa8, 0x8c, 0xcf, 0x33, 0x80, 0x2d, 0x43, 0x4e, 0x40, 0x9e,
0xcb, 0x84, 0x60, 0x33, 0xcc, 0x04, 0xfa, 0x06, 0x5e, 0x44, 0x32, 0x31, 0x37, 0x0a, 0xa1, 0x1b,
0x91, 0x60, 0x3f, 0xf2, 0x47, 0x85, 0xd2, 0x92, 0xfd, 0x91, 0xf1, 0x03, 0x7b, 0x71, 0x14, 0xee,
0xf2, 0x07, 0x4a, 0x42, 0x6f, 0x61, 0x77, 0x55, 0x39, 0xe7, 0x56, 0x18, 0x77, 0x35, 0xa1, 0x99,
0x8b, 0x55, 0x61, 0xe3, 0xd6, 0xf5, 0x47, 0xb8, 0xf6, 0x9c, 0xd5, 0x28, 0xff, 0x50, 0x5f, 0x40,
0x55, 0xce, 0xfe, 0xf2, 0x62, 0xa9, 0x37, 0xb0, 0x93, 0xa0, 0x8b, 0x6a, 0xfa, 0x03, 0x6c, 0x7a,
0x1c, 0x30, 0x02, 0x86, 0x88, 0x67, 0x7d, 0x57, 0xca, 0xb9, 0x2c, 0xa9, 0x97, 0x3c, 0x59, 0x8f,
0xfa, 0xaf, 0x14, 0x6c, 0x9e, 0x4e, 0x27, 0x9e, 0x54, 0xd8, 0xff, 0x53, 0xc5, 0xed, 0x83, 0xc2,
0xe3, 0xcf, 0x72, 0xc1, 0x0a, 0xae, 0xa4, 0x03, 0x27, 0xd1, 0x0c, 0xac, 0x14, 0x4e, 0x66, 0x6d,
0xe1, 0x84, 0xd1, 0xc8, 0x4a, 0xd1, 0x58, 0x0d, 0xff, 0xc6, 0x4a, 0xf8, 0xd5, 0x6d, 0xd8, 0x0a,
0xed, 0x17, 0xcf, 0xf2, 0x97, 0xb0, 0x4d, 0x1b, 0x5f, 0x2c, 0x82, 0xa8, 0x06, 0xcf, 0x1f, 0xb1,
0x3f, 0x74, 0x03, 0xcc, 0x9c, 0xca, 0xeb, 0xcb, 0x4f, 0xf5, 0xfb, 0x34, 0x6f, 0xbc, 0x89, 0xc8,
0x76, 0xa0, 0x42, 0xa2, 0x67, 0xd5, 0xb0, 0x30, 0x31, 0xed, 0x71, 0x20, 0x22, 0xf2, 0x52, 0x44,
0x44, 0x7a, 0x78, 0xcf, 0x38, 0x43, 0xeb, 0x99, 0x8e, 0xc8, 0x0a, 0x15, 0xdd, 0xc0, 0x96, 0xac,
0xcd, 0xb6, 0x02, 0xd1, 0x77, 0xbe, 0x90, 0x12, 0xb5, 0x6a, 0x85, 0x7c, 0xc0, 0xc5, 0x19, 0x55,
0xbe, 0x29, 0xa9, 0xb9, 0xb0, 0x82, 0xfa, 0xb7, 0xb0, 0x19, 0xe7, 0x41, 0x9f, 0xad, 0x1e, 0x45,
0x6b, 0xa2, 0x90, 0x14, 0x3d, 0xcd, 0x43, 0x8e, 0xd7, 0x8c, 0x6a, 0xc2, 0x6e, 0x87, 0x3e, 0xb1,
0x92, 0xa6, 0x65, 0xdc, 0x10, 0x64, 0xc9, 0x3c, 0xec, 0x9d, 0xec, 0xf7, 0xfa, 0x5e, 0x82, 0xf6,
0xa0, 0xe0, 0x3e, 0x62, 0x7f, 0xe6, 0xdb, 0x22, 0xcd, 0x79, 0x3d, 0x22, 0xa8, 0x75, 0xa8, 0xad,
0x1e, 0x21, 0x12, 0xf6, 0x43, 0x0a, 0xb6, 0xce, 0xa7, 0x8e, 0x75, 0x15, 0x0c, 0xc3, 0x8e, 0x5d,
0x85, 0xac, 0x17, 0x0c, 0x79, 0x05, 0x16, 0x5b, 0xcf, 0x74, 0xf6, 0x85, 0x7e, 0x0d, 0x19, 0xdf,
0x9c, 0x89, 0xd0, 0xed, 0x48, 0xa1, 0x1b, 0xcc, 0x07, 0x78, 0xe2, 0x8d, 0x4d, 0x82, 0x5b, 0xcf,
0x74, 0xca, 0x83, 0xde, 0xc4, 0x2b, 0x93, 0xd5, 0x5d, 0x2b, 0x95, 0xa8, 0xcd, 0x44, 0x7d, 0xd1,
0xea, 0xcb, 0xb6, 0x52, 0xb1, 0x0a, 0x3b, 0x05, 0xc8, 0x13, 0xa1, 0xfb, 0x34, 0x07, 0xd9, 0x5b,
0x8c, 0x03, 0xf5, 0xef, 0x29, 0x28, 0x47, 0x16, 0x8b, 0x8a, 0xd9, 0x07, 0xe5, 0x76, 0xea, 0x58,
0xd8, 0x32, 0x22, 0xcb, 0x75, 0xe0, 0x24, 0xca, 0x88, 0x1a, 0x50, 0x19, 0xdd, 0x9b, 0xce, 0x1d,
0x36, 0x78, 0xa3, 0x33, 0x6c, 0xc7, 0xc2, 0x73, 0x31, 0x04, 0x6c, 0x73, 0x88, 0xf7, 0xa4, 0x0b,
0x0a, 0xa0, 0x6f, 0xa0, 0x38, 0x76, 0x47, 0x0f, 0xd8, 0x32, 0xf8, 0xc4, 0x96, 0x61, 0x57, 0xbb,
0x2a, 0xb9, 0x4d, 0xa7, 0x36, 0x36, 0x27, 0xe9, 0x0a, 0xe7, 0xbc, 0x66, 0x03, 0xdc, 0x0f, 0x29,
0x80, 0x28, 0x22, 0xe8, 0x33, 0xc8, 0xd9, 0x0e, 0xeb, 0xbb, 0xfc, 0x71, 0x58, 0xb9, 0xcf, 0x02,
0x46, 0xbf, 0x4f, 0x76, 0x68, 0x75, 0x6d, 0x88, 0x1b, 0xa2, 0x71, 0x6a, 0x0e, 0xf1, 0x17, 0x61,
0xd7, 0xae, 0xbf, 0x87, 0xa2, 0x0c, 0xa0, 0x32, 0x64, 0x1e, 0xf0, 0x42, 0xcc, 0x0f, 0xf4, 0x27,
0x2d, 0x9c, 0x47, 0x73, 0x3c, 0xe5, 0x8d, 0x29, 0xab, 0xf3, 0x8f, 0xf7, 0xe9, 0x77, 0x29, 0xf5,
0x1e, 0x0a, 0xa1, 0x2f, 0xff, 0xdf, 0xa0, 0x19, 0x1f, 0x11, 0x33, 0x2b, 0x23, 0xe2, 0xd7, 0x50,
0x39, 0xb7, 0x1d, 0x73, 0x6c, 0xff, 0x15, 0xcb, 0xf5, 0xf6, 0x53, 0xc9, 0x53, 0x3f, 0x42, 0x35,
0x2e, 0x17, 0x65, 0x9d, 0x8d, 0xf1, 0x71, 0x41, 0x4e, 0x62, 0x59, 0x3f, 0x80, 0x22, 0x9d, 0x2a,
0x6e, 0xa9, 0x30, 0x9d, 0x2d, 0xd2, 0x9c, 0xc3, 0x37, 0x67, 0x4c, 0xdf, 0x60, 0xae, 0x56, 0xf8,
0x83, 0xc5, 0x9c, 0x0f, 0x9f, 0xfc, 0x4b, 0xfe, 0x2a, 0x2d, 0x89, 0xe2, 0xb4, 0x64, 0x49, 0xa4,
0xfe, 0xcb, 0x92, 0xf8, 0xcd, 0xdf, 0x32, 0xa0, 0x48, 0xcd, 0x1f, 0x55, 0x60, 0xeb, 0xba, 0xdb,
0xee, 0xf6, 0x6e, 0xba, 0xc6, 0xcd, 0xc5, 0xa0, 0xab, 0xf5, 0xfb, 0xe5, 0x67, 0xa8, 0x06, 0xd5,
0x66, 0xef, 0xf2, 0xf2, 0x62, 0x70, 0xa9, 0x75, 0x07, 0xc6, 0xe0, 0xe2, 0x52, 0x33, 0x3a, 0xbd,
0x66, 0xbb, 0x9c, 0x42, 0xbb, 0x50, 0x91, 0x90, 0x6e, 0xcf, 0x38, 0xd3, 0x3a, 0x27, 0x1f, 0xcb,
0x69, 0xb4, 0x03, 0xdb, 0x12, 0xa0, 0x6b, 0x1f, 0x7a, 0x6d, 0xad, 0x9c, 0xa1, 0xfc, 0xad, 0x41,
0xa7, 0x69, 0xf4, 0xce, 0xcf, 0x35, 0x5d, 0x3b, 0x5b, 0x02, 0x59, 0x7a, 0x04, 0x03, 0x4e, 0x9a,
0x4d, 0xed, 0x6a, 0x10, 0x21, 0x1b, 0xe8, 0x97, 0xf0, 0x26, 0x26, 0x42, 0x8f, 0xef, 0x5d, 0x0f,
0x8c, 0xbe, 0xd6, 0xec, 0x75, 0xcf, 0x8c, 0x8e, 0xf6, 0x41, 0xeb, 0x94, 0x73, 0xe8, 0x57, 0xa0,
0xc6, 0x15, 0xf4, 0xaf, 0x9b, 0x4d, 0xad, 0xdf, 0x8f, 0xf3, 0x3d, 0x47, 0xfb, 0xf0, 0x2a, 0x61,
0xc1, 0x65, 0x6f, 0xa0, 0x2d, 0xb5, 0x96, 0xf3, 0xe8, 0x00, 0xf6, 0x92, 0x96, 0x30, 0x0e, 0xa1,
0xaf, 0x5c, 0x40, 0x7b, 0x50, 0x63, 0x1c, 0xb2, 0xe6, 0xa5, 0xbd, 0x80, 0xaa, 0x50, 0x16, 0x91,
0x33, 0xda, 0xda, 0x47, 0xa3, 0x75, 0xd2, 0x6f, 0x95, 0x15, 0xf4, 0x0a, 0x76, 0xbb, 0x5a, 0x9f,
0xaa, 0x5b, 0x01, 0x8b, 0x89, 0x60, 0x9d, 0x74, 0x9b, 0xad, 0x9e, 0x5e, 0x2e, 0x1d, 0xff, 0xa3,
0x00, 0x85, 0x1b, 0x96, 0xc0, 0xb6, 0x4d, 0x50, 0x07, 0x14, 0x69, 0x6f, 0x43, 0xaf, 0x13, 0x0d,
0x22, 0xbe, 0x1f, 0xd6, 0x3f, 0x79, 0x0a, 0x0e, 0xdb, 0x98, 0x22, 0x2d, 0x52, 0x71, 0x6d, 0x2b,
0x7b, 0x52, 0x5c, 0xdb, 0x9a, 0xfd, 0x4b, 0x87, 0x52, 0x6c, 0x15, 0x42, 0xfb, 0x92, 0xc0, 0xba,
0xcd, 0xab, 0x7e, 0xf0, 0x34, 0x83, 0xd0, 0x79, 0x01, 0x10, 0x15, 0x3a, 0xda, 0x4b, 0xf8, 0x13,
0xbb, 0x14, 0xf5, 0xd7, 0x4f, 0xa0, 0x42, 0xd5, 0x7b, 0x28, 0x9d, 0x61, 0xdf, 0x7e, 0xc4, 0x5d,
0x3c, 0x27, 0x6d, 0xbc, 0x40, 0xdb, 0x12, 0x3f, 0x5f, 0xd5, 0xea, 0x2f, 0xc2, 0xa5, 0xa3, 0x8d,
0x17, 0x67, 0x38, 0x18, 0xf9, 0xb6, 0x47, 0x5c, 0x1f, 0xbd, 0x83, 0x02, 0x97, 0xa5, 0x72, 0x15,
0x99, 0xa9, 0xe3, 0x8e, 0x4c, 0xe2, 0xfa, 0x4f, 0x4a, 0xfe, 0x0e, 0xf2, 0xf4, 0x3c, 0xba, 0xa8,
0x21, 0x79, 0xd6, 0x96, 0x16, 0xb9, 0xfa, 0xee, 0x0a, 0x5d, 0x98, 0xdc, 0x02, 0x24, 0x36, 0x30,
0x79, 0x89, 0x93, 0xd5, 0x48, 0xf4, 0x7a, 0x5d, 0x1e, 0xeb, 0x12, 0x8b, 0x5b, 0x07, 0x14, 0x69,
0xa9, 0x89, 0x65, 0x7a, 0x75, 0x55, 0x8b, 0x65, 0x7a, 0xdd, 0x2e, 0xd4, 0x01, 0x45, 0xda, 0x5e,
0x62, 0xda, 0x56, 0x97, 0xa1, 0x98, 0xb6, 0x75, 0x4b, 0x8f, 0x0e, 0xa5, 0xd8, 0xfc, 0x1a, 0xab,
0x9b, 0x75, 0x13, 0x6f, 0xac, 0x6e, 0xd6, 0x8f, 0xbe, 0x7f, 0x84, 0xe7, 0x62, 0xf2, 0x43, 0x2f,
0x25, 0xe6, 0xf8, 0x34, 0x1b, 0x8b, 0x58, 0x62, 0x50, 0x5c, 0x56, 0x9e, 0x30, 0x69, 0xef, 0x89,
0x49, 0x6c, 0x7d, 0xe5, 0x25, 0x8c, 0xf9, 0x0b, 0x94, 0x93, 0xe3, 0x0d, 0x92, 0x9b, 0xe7, 0x13,
0xe3, 0x55, 0xfd, 0xd3, 0x1f, 0xe5, 0x11, 0xca, 0x9b, 0x90, 0x5f, 0x0e, 0x1b, 0x48, 0xf6, 0x27,
0x31, 0x33, 0xd5, 0x5f, 0xad, 0xc5, 0x84, 0x92, 0x1e, 0x14, 0xe5, 0xfe, 0x85, 0xe4, 0x94, 0xad,
0x69, 0x88, 0xf5, 0xfd, 0x27, 0x71, 0xae, 0xf0, 0xf4, 0xb7, 0x7f, 0x3e, 0xba, 0xb3, 0xc9, 0xfd,
0x74, 0xd8, 0x18, 0xb9, 0x93, 0xa3, 0x31, 0xdd, 0xce, 0x1c, 0xdb, 0xb9, 0x73, 0x30, 0x99, 0xb9,
0xfe, 0xc3, 0xd1, 0xd8, 0xb1, 0x8e, 0x58, 0x93, 0x3e, 0x0a, 0xf5, 0x0c, 0x73, 0xec, 0x3f, 0x5d,
0x5f, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x20, 0xb6, 0x46, 0x32, 0x13, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

27
lnrpc/walletrpc/walletkit.proto

@ -409,11 +409,12 @@ message PendingSweep {
uint32 amount_sat = 3;
/*
Deprecated, use sat_per_vbyte.
The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee
rate is only determined once a sweeping transaction for the output is
created, so it's possible for this to be 0 before this.
*/
uint32 sat_per_byte = 4;
uint32 sat_per_byte = 4 [deprecated = true];
// The number of broadcast attempts we've made to sweep the output.
uint32 broadcast_attempts = 5;
@ -427,8 +428,19 @@ message PendingSweep {
// The requested confirmation target for this output.
uint32 requested_conf_target = 8;
// Deprecated, use requested_sat_per_vbyte.
// The requested fee rate, expressed in sat/vbyte, for this output.
uint32 requested_sat_per_byte = 9;
uint32 requested_sat_per_byte = 9 [deprecated = true];
/*
The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee
rate is only determined once a sweeping transaction for the output is
created, so it's possible for this to be 0 before this.
*/
uint64 sat_per_vbyte = 10;
// The requested fee rate, expressed in sat/vbyte, for this output.
uint64 requested_sat_per_vbyte = 11;
/*
Whether this input must be force-swept. This means that it is swept even
@ -455,16 +467,23 @@ message BumpFeeRequest {
uint32 target_conf = 2;
/*
Deprecated, use sat_per_vbyte.
The fee rate, expressed in sat/vbyte, that should be used to spend the input
with.
*/
uint32 sat_per_byte = 3;
uint32 sat_per_byte = 3 [deprecated = true];
/*
Whether this input must be force-swept. This means that it is swept even
if it has a negative yield.
*/
bool force = 4;
/*
The fee rate, expressed in sat/vbyte, that should be used to spend the input
with.
*/
uint64 sat_per_vbyte = 5;
}
message BumpFeeResponse {
@ -539,7 +558,7 @@ message FundPsbtRequest {
The fee rate, expressed in sat/vbyte, that should be used to spend the
input with.
*/
uint32 sat_per_vbyte = 4;
uint64 sat_per_vbyte = 4;
}
}
message FundPsbtResponse {

23
lnrpc/walletrpc/walletkit.swagger.json

@ -758,12 +758,17 @@
"sat_per_byte": {
"type": "integer",
"format": "int64",
"description": "The fee rate, expressed in sat/vbyte, that should be used to spend the input\nwith."
"description": "Deprecated, use sat_per_vbyte.\nThe fee rate, expressed in sat/vbyte, that should be used to spend the input\nwith."
},
"force": {
"type": "boolean",
"format": "boolean",
"description": "Whether this input must be force-swept. This means that it is swept even\nif it has a negative yield."
},
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "The fee rate, expressed in sat/vbyte, that should be used to spend the input\nwith."
}
}
},
@ -823,8 +828,8 @@
"description": "The target number of blocks that the transaction should be confirmed in."
},
"sat_per_vbyte": {
"type": "integer",
"format": "int64",
"type": "string",
"format": "uint64",
"description": "The fee rate, expressed in sat/vbyte, that should be used to spend the\ninput with."
}
}
@ -971,7 +976,7 @@
"sat_per_byte": {
"type": "integer",
"format": "int64",
"description": "The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee\nrate is only determined once a sweeping transaction for the output is\ncreated, so it's possible for this to be 0 before this."
"description": "Deprecated, use sat_per_vbyte.\nThe fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee\nrate is only determined once a sweeping transaction for the output is\ncreated, so it's possible for this to be 0 before this."
},
"broadcast_attempts": {
"type": "integer",
@ -991,6 +996,16 @@
"requested_sat_per_byte": {
"type": "integer",
"format": "int64",
"description": "Deprecated, use requested_sat_per_vbyte.\nThe requested fee rate, expressed in sat/vbyte, for this output."
},
"sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee\nrate is only determined once a sweeping transaction for the output is\ncreated, so it's possible for this to be 0 before this."
},
"requested_sat_per_vbyte": {
"type": "string",
"format": "uint64",
"description": "The requested fee rate, expressed in sat/vbyte, for this output."
},
"force": {

35
lnrpc/walletrpc/walletkit_server.go

@ -668,23 +668,23 @@ func (w *WalletKit) PendingSweeps(ctx context.Context,
OutputIndex: pendingInput.OutPoint.Index,
}
amountSat := uint32(pendingInput.Amount)
satPerByte := uint32(pendingInput.LastFeeRate.FeePerKVByte() / 1000)
satPerVbyte := uint64(pendingInput.LastFeeRate.FeePerKVByte() / 1000)
broadcastAttempts := uint32(pendingInput.BroadcastAttempts)
nextBroadcastHeight := uint32(pendingInput.NextBroadcastHeight)
requestedFee := pendingInput.Params.Fee
requestedFeeRate := uint32(requestedFee.FeeRate.FeePerKVByte() / 1000)
requestedFeeRate := uint64(requestedFee.FeeRate.FeePerKVByte() / 1000)
rpcPendingSweeps = append(rpcPendingSweeps, &PendingSweep{
Outpoint: op,
WitnessType: witnessType,
AmountSat: amountSat,
SatPerByte: satPerByte,
BroadcastAttempts: broadcastAttempts,
NextBroadcastHeight: nextBroadcastHeight,
RequestedSatPerByte: requestedFeeRate,
RequestedConfTarget: requestedFee.ConfTarget,
Force: pendingInput.Params.Force,
Outpoint: op,
WitnessType: witnessType,
AmountSat: amountSat,
SatPerVbyte: satPerVbyte,
BroadcastAttempts: broadcastAttempts,
NextBroadcastHeight: nextBroadcastHeight,
RequestedSatPerVbyte: requestedFeeRate,
RequestedConfTarget: requestedFee.ConfTarget,
Force: pendingInput.Params.Force,
})
}
@ -742,8 +742,19 @@ func (w *WalletKit) BumpFee(ctx context.Context,
return nil, err
}
// We only allow using either the deprecated field or the new field.
if in.SatPerByte != 0 && in.SatPerVbyte != 0 {
return nil, fmt.Errorf("either SatPerByte or " +
"SatPerVbyte should be set, but not both")
}
// Construct the request's fee preference.
satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight()
satPerKw := chainfee.SatPerKVByte(in.SatPerVbyte * 1000).FeePerKWeight()
if in.SatPerByte != 0 {
satPerKw = chainfee.SatPerKVByte(
in.SatPerByte * 1000,
).FeePerKWeight()
}
feePreference := sweep.FeePreference{
ConfTarget: uint32(in.TargetConf),
FeeRate: satPerKw,

18
lnrpc/wtclientrpc/wtclient.go

@ -370,8 +370,15 @@ func (c *WatchtowerClient) Policy(ctx context.Context,
}
return &PolicyResponse{
MaxUpdates: uint32(policy.MaxUpdates),
SweepSatPerByte: uint32(policy.SweepFeeRate.FeePerKVByte() / 1000),
MaxUpdates: uint32(policy.MaxUpdates),
SweepSatPerVbyte: uint32(
policy.SweepFeeRate.FeePerKVByte() / 1000,
),
// Deprecated field.
SweepSatPerByte: uint32(
policy.SweepFeeRate.FeePerKVByte() / 1000,
),
}, nil
}
@ -387,12 +394,15 @@ func marshallTower(tower *wtclient.RegisteredTower, includeSessions bool) *Tower
if includeSessions {
rpcSessions = make([]*TowerSession, 0, len(tower.Sessions))
for _, session := range tower.Sessions {
satPerByte := session.Policy.SweepFeeRate.FeePerKVByte() / 1000
satPerVByte := session.Policy.SweepFeeRate.FeePerKVByte() / 1000
rpcSessions = append(rpcSessions, &TowerSession{
NumBackups: uint32(len(session.AckedUpdates)),
NumPendingBackups: uint32(len(session.CommittedUpdates)),
MaxBackups: uint32(session.Policy.MaxUpdates),
SweepSatPerByte: uint32(satPerByte),
SweepSatPerVbyte: uint32(satPerVByte),
// Deprecated field.
SweepSatPerByte: uint32(satPerVByte),
})
}
}

127
lnrpc/wtclientrpc/wtclient.pb.go

@ -275,9 +275,14 @@ type TowerSession struct {
// The maximum number of backups allowed by the watchtower session.
MaxBackups uint32 `protobuf:"varint,3,opt,name=max_backups,json=maxBackups,proto3" json:"max_backups,omitempty"`
//
//Deprecated, use sweep_sat_per_vbyte.
//The fee rate, in satoshis per vbyte, that will be used by the watchtower for
//the justice transaction in the event of a channel breach.
SweepSatPerByte uint32 `protobuf:"varint,4,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"`
SweepSatPerByte uint32 `protobuf:"varint,4,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//The fee rate, in satoshis per vbyte, that will be used by the watchtower for
//the justice transaction in the event of a channel breach.
SweepSatPerVbyte uint32 `protobuf:"varint,5,opt,name=sweep_sat_per_vbyte,json=sweepSatPerVbyte,proto3" json:"sweep_sat_per_vbyte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -329,6 +334,7 @@ func (m *TowerSession) GetMaxBackups() uint32 {
return 0
}
// Deprecated: Do not use.
func (m *TowerSession) GetSweepSatPerByte() uint32 {
if m != nil {
return m.SweepSatPerByte
@ -336,6 +342,13 @@ func (m *TowerSession) GetSweepSatPerByte() uint32 {
return 0
}
func (m *TowerSession) GetSweepSatPerVbyte() uint32 {
if m != nil {
return m.SweepSatPerVbyte
}
return 0
}
type Tower struct {
// The identifying public key of the watchtower.
Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
@ -652,9 +665,14 @@ type PolicyResponse struct {
//should allow.
MaxUpdates uint32 `protobuf:"varint,1,opt,name=max_updates,json=maxUpdates,proto3" json:"max_updates,omitempty"`
//
//Deprecated, use sweep_sat_per_vbyte.
//The fee rate, in satoshis per vbyte, that will be used by watchtowers for
//justice transactions in response to channel breaches.
SweepSatPerByte uint32 `protobuf:"varint,2,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"`
SweepSatPerByte uint32 `protobuf:"varint,2,opt,name=sweep_sat_per_byte,json=sweepSatPerByte,proto3" json:"sweep_sat_per_byte,omitempty"` // Deprecated: Do not use.
//
//The fee rate, in satoshis per vbyte, that will be used by watchtowers for
//justice transactions in response to channel breaches.
SweepSatPerVbyte uint32 `protobuf:"varint,3,opt,name=sweep_sat_per_vbyte,json=sweepSatPerVbyte,proto3" json:"sweep_sat_per_vbyte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -692,6 +710,7 @@ func (m *PolicyResponse) GetMaxUpdates() uint32 {
return 0
}
// Deprecated: Do not use.
func (m *PolicyResponse) GetSweepSatPerByte() uint32 {
if m != nil {
return m.SweepSatPerByte
@ -699,6 +718,13 @@ func (m *PolicyResponse) GetSweepSatPerByte() uint32 {
return 0
}
func (m *PolicyResponse) GetSweepSatPerVbyte() uint32 {
if m != nil {
return m.SweepSatPerVbyte
}
return 0
}
func init() {
proto.RegisterEnum("wtclientrpc.PolicyType", PolicyType_name, PolicyType_value)
proto.RegisterType((*AddTowerRequest)(nil), "wtclientrpc.AddTowerRequest")
@ -719,54 +745,55 @@ func init() {
func init() { proto.RegisterFile("wtclientrpc/wtclient.proto", fileDescriptor_b5f4e7d95a641af2) }
var fileDescriptor_b5f4e7d95a641af2 = []byte{
// 739 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x6e, 0xd3, 0x4a,
0x14, 0xbe, 0x6e, 0x6e, 0x72, 0xd3, 0x93, 0xb4, 0x4d, 0x27, 0xb7, 0xbd, 0xb9, 0xa6, 0x90, 0x60,
0xb1, 0x08, 0x05, 0x25, 0x22, 0x05, 0xa9, 0xab, 0x8a, 0x34, 0xb4, 0xa5, 0x52, 0x81, 0xc8, 0x2d,
0xe2, 0x67, 0x81, 0x35, 0xb1, 0xa7, 0x89, 0x55, 0x7b, 0xec, 0xda, 0xe3, 0x26, 0x79, 0x28, 0x1e,
0x83, 0x07, 0xe0, 0x6d, 0x58, 0x22, 0x8f, 0xc7, 0x8e, 0xdd, 0x3a, 0x62, 0x01, 0x3b, 0xfb, 0x7c,
0xdf, 0x7c, 0x3e, 0xf3, 0x9d, 0x1f, 0x83, 0x3c, 0x65, 0xba, 0x65, 0x12, 0xca, 0x3c, 0x57, 0xef,
0xc6, 0xcf, 0x1d, 0xd7, 0x73, 0x98, 0x83, 0x2a, 0x29, 0x4c, 0x19, 0xc0, 0x46, 0xdf, 0x30, 0x2e,
0x9c, 0x29, 0xf1, 0x54, 0x72, 0x1d, 0x10, 0x9f, 0xa1, 0x6d, 0x28, 0xb9, 0xc1, 0xe8, 0x8a, 0xcc,
0x1b, 0x52, 0x4b, 0x6a, 0x57, 0x55, 0xf1, 0x86, 0x1a, 0xf0, 0x0f, 0x36, 0x0c, 0x8f, 0xf8, 0x7e,
0x63, 0xa5, 0x25, 0xb5, 0x57, 0xd5, 0xf8, 0x55, 0x41, 0x50, 0x5b, 0x88, 0xf8, 0xae, 0x43, 0x7d,
0xa2, 0x1c, 0x03, 0x52, 0x89, 0xed, 0xdc, 0x90, 0xdf, 0xd4, 0xde, 0x82, 0x7a, 0x46, 0x47, 0xc8,
0x7f, 0x84, 0xfa, 0x09, 0x61, 0x3c, 0x76, 0x4a, 0x2f, 0x9d, 0x5f, 0xe9, 0x3f, 0x86, 0x9a, 0x49,
0x75, 0x2b, 0x30, 0x88, 0xe6, 0x13, 0xdf, 0x37, 0x1d, 0x1a, 0x7d, 0xa8, 0xac, 0x6e, 0x88, 0xf8,
0xb9, 0x08, 0x2b, 0x5f, 0x25, 0xa8, 0x72, 0x5d, 0x11, 0x41, 0x4d, 0xa8, 0xd0, 0xc0, 0xd6, 0x46,
0x58, 0xbf, 0x0a, 0x5c, 0x9f, 0x0b, 0xaf, 0xa9, 0x40, 0x03, 0xfb, 0x30, 0x8a, 0xa0, 0x0e, 0xd4,
0x43, 0x82, 0x4b, 0xa8, 0x61, 0xd2, 0x71, 0x42, 0x5c, 0xe1, 0xc4, 0x4d, 0x1a, 0xd8, 0xc3, 0x08,
0x89, 0xf9, 0x4d, 0xa8, 0xd8, 0x78, 0x96, 0xf0, 0x0a, 0x91, 0xa0, 0x8d, 0x67, 0x31, 0xe1, 0x09,
0x20, 0x7f, 0x4a, 0x88, 0xab, 0xf9, 0x98, 0x69, 0x2e, 0xf1, 0xb4, 0xd1, 0x9c, 0x91, 0xc6, 0xdf,
0x9c, 0xb7, 0xc1, 0x91, 0x73, 0xcc, 0x86, 0xc4, 0x3b, 0x9c, 0x33, 0xa2, 0x7c, 0x97, 0xa0, 0xc8,
0xf3, 0x5d, 0x7a, 0xf9, 0x1d, 0x58, 0x15, 0x6e, 0x92, 0x30, 0xab, 0x42, 0x7b, 0x55, 0x5d, 0x04,
0xd0, 0x3e, 0x34, 0xb0, 0xce, 0xcc, 0x9b, 0xc4, 0x19, 0x4d, 0xc7, 0xd4, 0x30, 0x0d, 0xcc, 0x08,
0x4f, 0xad, 0xac, 0x6e, 0x47, 0xb8, 0xf0, 0x63, 0x10, 0xa3, 0xe8, 0x21, 0x54, 0xc3, 0x7b, 0x27,
0x86, 0x46, 0x09, 0x86, 0x66, 0xc5, 0x66, 0xa2, 0x17, 0x50, 0x4e, 0xe0, 0x62, 0xab, 0xd0, 0xae,
0xf4, 0xfe, 0xef, 0xa4, 0xda, 0xaf, 0x93, 0x36, 0x5a, 0x4d, 0xa8, 0xca, 0x01, 0x6c, 0x9e, 0x99,
0x7e, 0x54, 0x5e, 0x3f, 0xae, 0x6d, 0x5e, 0x0d, 0xa5, 0xfc, 0x1a, 0xbe, 0x04, 0x94, 0x3e, 0x1f,
0xf5, 0x0c, 0xda, 0x85, 0x12, 0xe3, 0x91, 0x86, 0xc4, 0x53, 0x41, 0x77, 0x53, 0x51, 0x05, 0x43,
0x59, 0x87, 0xea, 0x39, 0xc3, 0x2c, 0xfe, 0xb8, 0xf2, 0x43, 0x82, 0x35, 0x11, 0x10, 0x6a, 0x7f,
0xbc, 0x2d, 0x9e, 0x02, 0x0a, 0xf9, 0x97, 0xd8, 0xb4, 0x88, 0x71, 0xab, 0x3b, 0x6a, 0x34, 0xb0,
0x8f, 0x39, 0x10, 0xb3, 0x7b, 0xb0, 0x95, 0x36, 0x5f, 0xc3, 0xfa, 0x75, 0x60, 0x7a, 0xc4, 0x10,
0x55, 0xa8, 0xa7, 0xaa, 0xd0, 0x17, 0x10, 0x7a, 0x0e, 0xdb, 0x99, 0x33, 0x64, 0x36, 0xc1, 0x81,
0xcf, 0x88, 0xd1, 0x28, 0xf2, 0x43, 0xff, 0xa6, 0x0e, 0x1d, 0xc5, 0x98, 0x72, 0x0a, 0x6b, 0x43,
0xc7, 0x32, 0xf5, 0x79, 0x5c, 0x88, 0x7d, 0xa8, 0xb8, 0x3c, 0xa0, 0xb1, 0xb9, 0x4b, 0xf8, 0xcd,
0xd7, 0x7b, 0xff, 0x65, 0xcc, 0x8c, 0x0e, 0x5c, 0xcc, 0x5d, 0xa2, 0x82, 0x9b, 0x3c, 0x2b, 0x5f,
0x60, 0x3d, 0x96, 0x5a, 0xb8, 0x18, 0xce, 0x42, 0xe0, 0x86, 0x1d, 0x95, 0xb8, 0x68, 0xe3, 0xd9,
0xfb, 0x28, 0xb2, 0x64, 0x16, 0x56, 0x72, 0x67, 0x61, 0xf7, 0x11, 0xc0, 0xe2, 0xcb, 0x08, 0xa0,
0x74, 0x76, 0x74, 0xd2, 0x1f, 0x7c, 0xaa, 0xfd, 0x15, 0x3e, 0xf7, 0xdf, 0x0e, 0x5e, 0xbf, 0x53,
0x6b, 0x52, 0xef, 0x5b, 0x01, 0x6a, 0x1f, 0x30, 0xd3, 0x27, 0xbc, 0xd6, 0x03, 0x9e, 0x34, 0x3a,
0x81, 0x72, 0xbc, 0xc3, 0xd0, 0x4e, 0xe6, 0x2e, 0xb7, 0xf6, 0xa3, 0x7c, 0x7f, 0x09, 0x2a, 0x6e,
0x34, 0x84, 0x4a, 0x6a, 0x61, 0xa1, 0x66, 0x86, 0x7d, 0x77, 0x25, 0xca, 0xad, 0xe5, 0x04, 0xa1,
0xf8, 0x06, 0x60, 0xd1, 0xcd, 0xe8, 0x41, 0x86, 0x7f, 0x67, 0x4c, 0xe4, 0xe6, 0x52, 0x5c, 0xc8,
0xbd, 0x82, 0x6a, 0x7a, 0x75, 0xa2, 0x6c, 0x02, 0x39, 0x5b, 0x55, 0xce, 0x19, 0x14, 0x74, 0x00,
0x45, 0x3e, 0x0f, 0x28, 0x3b, 0xd0, 0xe9, 0xa1, 0x91, 0xe5, 0x3c, 0x48, 0x64, 0xd1, 0x87, 0x52,
0x54, 0x2a, 0x24, 0xe7, 0x74, 0x4e, 0xac, 0x70, 0x2f, 0x17, 0x8b, 0x24, 0x0e, 0xf7, 0x3e, 0x3f,
0x1b, 0x9b, 0x6c, 0x12, 0x8c, 0x3a, 0xba, 0x63, 0x77, 0x2d, 0x73, 0x3c, 0x61, 0xd4, 0xa4, 0x63,
0x4a, 0xd8, 0xd4, 0xf1, 0xae, 0xba, 0x16, 0x35, 0xba, 0x16, 0x4d, 0xff, 0x00, 0x3d, 0x57, 0x1f,
0x95, 0xf8, 0x4f, 0x70, 0xef, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0x5f, 0xe1, 0x8e, 0x22,
0x07, 0x00, 0x00,
// 765 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x6e, 0xda, 0x48,
0x14, 0x5e, 0xc3, 0xc2, 0x92, 0x03, 0x49, 0xc8, 0xb0, 0xc9, 0xb2, 0xde, 0xec, 0xc2, 0x5a, 0xbd,
0xa0, 0x51, 0x0b, 0x2a, 0x69, 0xa5, 0x5c, 0x45, 0x05, 0x9a, 0xa4, 0x91, 0xd2, 0x16, 0x39, 0xe9,
0xef, 0x8d, 0x35, 0xd8, 0x13, 0xb0, 0x82, 0xc7, 0x8e, 0x3d, 0x0e, 0xf0, 0x18, 0x7d, 0xa8, 0x3e,
0x40, 0xdf, 0xa0, 0x8f, 0xd1, 0xcb, 0xca, 0xe3, 0xb1, 0xb1, 0x13, 0xa3, 0xaa, 0x6a, 0xef, 0xec,
0xf3, 0x7d, 0xf3, 0x79, 0xce, 0x77, 0x7e, 0x0c, 0xf2, 0x8c, 0xe9, 0x53, 0x93, 0x50, 0xe6, 0x3a,
0x7a, 0x27, 0x7a, 0x6e, 0x3b, 0xae, 0xcd, 0x6c, 0x54, 0x4e, 0x60, 0xca, 0x00, 0x36, 0x7b, 0x86,
0x71, 0x61, 0xcf, 0x88, 0xab, 0x92, 0x6b, 0x9f, 0x78, 0x0c, 0xed, 0x40, 0xd1, 0xf1, 0x47, 0x57,
0x64, 0x51, 0x97, 0x9a, 0x52, 0xab, 0xa2, 0x8a, 0x37, 0x54, 0x87, 0x3f, 0xb0, 0x61, 0xb8, 0xc4,
0xf3, 0xea, 0xb9, 0xa6, 0xd4, 0x5a, 0x53, 0xa3, 0x57, 0x05, 0x41, 0x75, 0x29, 0xe2, 0x39, 0x36,
0xf5, 0x88, 0x72, 0x0c, 0x48, 0x25, 0x96, 0x7d, 0x43, 0x7e, 0x52, 0x7b, 0x1b, 0x6a, 0x29, 0x1d,
0x21, 0xff, 0x0e, 0x6a, 0x27, 0x84, 0xf1, 0xd8, 0x29, 0xbd, 0xb4, 0xbf, 0xa7, 0x7f, 0x1f, 0xaa,
0x26, 0xd5, 0xa7, 0xbe, 0x41, 0x34, 0x8f, 0x78, 0x9e, 0x69, 0xd3, 0xf0, 0x43, 0x25, 0x75, 0x53,
0xc4, 0xcf, 0x45, 0x58, 0xf9, 0x22, 0x41, 0x85, 0xeb, 0x8a, 0x08, 0x6a, 0x40, 0x99, 0xfa, 0x96,
0x36, 0xc2, 0xfa, 0x95, 0xef, 0x78, 0x5c, 0x78, 0x5d, 0x05, 0xea, 0x5b, 0xfd, 0x30, 0x82, 0xda,
0x50, 0x0b, 0x08, 0x0e, 0xa1, 0x86, 0x49, 0xc7, 0x31, 0x31, 0xc7, 0x89, 0x5b, 0xd4, 0xb7, 0x86,
0x21, 0x12, 0xf1, 0x1b, 0x50, 0xb6, 0xf0, 0x3c, 0xe6, 0xe5, 0x43, 0x41, 0x0b, 0xcf, 0x23, 0x42,
0x07, 0x90, 0x37, 0x23, 0xc4, 0xd1, 0x3c, 0xcc, 0x34, 0x87, 0xb8, 0xda, 0x68, 0xc1, 0x48, 0xfd,
0xf7, 0x80, 0xd7, 0xcf, 0xd5, 0x25, 0x75, 0x93, 0xa3, 0xe7, 0x98, 0x0d, 0x89, 0xdb, 0x5f, 0x30,
0x82, 0x1e, 0x42, 0x2d, 0x7d, 0xe0, 0x86, 0x9f, 0x28, 0x70, 0xe5, 0x6a, 0x82, 0xfd, 0x26, 0x88,
0x2b, 0x9f, 0x25, 0x28, 0xf0, 0x14, 0x57, 0xfa, 0xb5, 0x0b, 0x6b, 0xa2, 0x00, 0x24, 0x48, 0x24,
0xdf, 0x5a, 0x53, 0x97, 0x01, 0x74, 0x00, 0x75, 0xac, 0x33, 0xf3, 0x26, 0x36, 0x53, 0xd3, 0x31,
0x35, 0x4c, 0x03, 0x33, 0xc2, 0xb3, 0x29, 0xa9, 0x3b, 0x21, 0x2e, 0x2c, 0x1c, 0x44, 0x28, 0xfa,
0x1f, 0x2a, 0x81, 0x55, 0x71, 0x0d, 0x78, 0x4e, 0x6a, 0xe0, 0x6f, 0xe4, 0x3f, 0x7a, 0x02, 0xa5,
0x18, 0x2e, 0x34, 0xf3, 0xad, 0x72, 0xf7, 0xef, 0x76, 0xa2, 0x63, 0xdb, 0xc9, 0xda, 0xa8, 0x31,
0x55, 0x39, 0x84, 0xad, 0x33, 0xd3, 0x0b, 0x3b, 0xc2, 0x8b, 0xda, 0x21, 0xab, 0xec, 0x52, 0x76,
0xd9, 0x9f, 0x02, 0x4a, 0x9e, 0x0f, 0xdb, 0x0c, 0xed, 0x41, 0x91, 0xf1, 0x48, 0x5d, 0xe2, 0x57,
0x41, 0x77, 0xaf, 0xa2, 0x0a, 0x86, 0xb2, 0x01, 0x95, 0x73, 0x86, 0x59, 0xf4, 0x71, 0xe5, 0xab,
0x04, 0xeb, 0x22, 0x20, 0xd4, 0x7e, 0x79, 0x27, 0x3d, 0x00, 0x14, 0xf0, 0x2f, 0xb1, 0x39, 0x25,
0xc6, 0xad, 0x86, 0xaa, 0x52, 0xdf, 0x3a, 0xe6, 0x40, 0xc4, 0xee, 0xc2, 0x76, 0xd2, 0x7c, 0x0d,
0xeb, 0xd7, 0xbe, 0xe9, 0x12, 0x43, 0x54, 0xa1, 0x96, 0xa8, 0x42, 0x4f, 0x40, 0xe8, 0x31, 0xec,
0xa4, 0xce, 0x90, 0xf9, 0x04, 0xfb, 0x1e, 0x23, 0x86, 0x68, 0xae, 0x3f, 0x13, 0x87, 0x8e, 0x22,
0x4c, 0x39, 0x85, 0xf5, 0xa1, 0x3d, 0x35, 0xf5, 0x45, 0x54, 0x88, 0x03, 0x28, 0x3b, 0x3c, 0xa0,
0xb1, 0x85, 0x43, 0x78, 0xe6, 0x1b, 0xdd, 0xbf, 0x52, 0x66, 0x86, 0x07, 0x2e, 0x16, 0x0e, 0x51,
0xc1, 0x89, 0x9f, 0x95, 0x8f, 0x12, 0x6c, 0x44, 0x5a, 0x4b, 0x1b, 0x83, 0xf9, 0xf1, 0x9d, 0xa0,
0xa5, 0x62, 0x1b, 0x2d, 0x3c, 0x7f, 0x1d, 0x46, 0x56, 0xcc, 0x4f, 0xee, 0x87, 0xe7, 0x27, 0x9f,
0x3d, 0x3f, 0x7b, 0xf7, 0x00, 0x96, 0xb7, 0x45, 0x00, 0xc5, 0xb3, 0xa3, 0x93, 0xde, 0xe0, 0x7d,
0xf5, 0xb7, 0xe0, 0xb9, 0xf7, 0x72, 0xf0, 0xfc, 0x95, 0x5a, 0x95, 0xba, 0x9f, 0xf2, 0x50, 0x7d,
0x8b, 0x99, 0x3e, 0xe1, 0xfd, 0x31, 0xe0, 0x89, 0xa2, 0x13, 0x28, 0x45, 0xab, 0x12, 0xed, 0xa6,
0xf2, 0xbf, 0xb5, 0x86, 0xe5, 0x7f, 0x57, 0xa0, 0xc2, 0x84, 0x21, 0x94, 0x13, 0x7b, 0x11, 0x35,
0x52, 0xec, 0xbb, 0x9b, 0x57, 0x6e, 0xae, 0x26, 0x08, 0xc5, 0x17, 0x00, 0xcb, 0x09, 0x40, 0xff,
0xa5, 0xf8, 0x77, 0x46, 0x4b, 0x6e, 0xac, 0xc4, 0x85, 0xdc, 0x33, 0xa8, 0x24, 0x37, 0x34, 0x4a,
0x5f, 0x20, 0x63, 0x79, 0xcb, 0x19, 0xc3, 0x85, 0x0e, 0xa1, 0xc0, 0x67, 0x08, 0xa5, 0x97, 0x40,
0x72, 0xd0, 0x64, 0x39, 0x0b, 0x12, 0xb7, 0xe8, 0x41, 0x31, 0x2c, 0x15, 0x92, 0x33, 0xba, 0x2d,
0x52, 0xf8, 0x27, 0x13, 0x0b, 0x25, 0xfa, 0xfb, 0x1f, 0x1e, 0x8d, 0x4d, 0x36, 0xf1, 0x47, 0x6d,
0xdd, 0xb6, 0x3a, 0x53, 0x73, 0x3c, 0x61, 0xd4, 0xa4, 0x63, 0x4a, 0xd8, 0xcc, 0x76, 0xaf, 0x3a,
0x53, 0x6a, 0x74, 0xa6, 0x34, 0xf9, 0x9f, 0x75, 0x1d, 0x7d, 0x54, 0xe4, 0xff, 0xda, 0xfd, 0x6f,
0x01, 0x00, 0x00, 0xff, 0xff, 0x49, 0xcd, 0xe9, 0xf8, 0x89, 0x07, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

18
lnrpc/wtclientrpc/wtclient.proto

@ -87,10 +87,17 @@ message TowerSession {
uint32 max_backups = 3;
/*
Deprecated, use sweep_sat_per_vbyte.
The fee rate, in satoshis per vbyte, that will be used by the watchtower for
the justice transaction in the event of a channel breach.
*/
uint32 sweep_sat_per_byte = 4;
uint32 sweep_sat_per_byte = 4 [deprecated = true];
/*
The fee rate, in satoshis per vbyte, that will be used by the watchtower for
the justice transaction in the event of a channel breach.
*/
uint32 sweep_sat_per_vbyte = 5;
}
message Tower {
@ -171,9 +178,16 @@ message PolicyResponse {
*/
uint32 max_updates = 1;
/*
Deprecated, use sweep_sat_per_vbyte.
The fee rate, in satoshis per vbyte, that will be used by watchtowers for
justice transactions in response to channel breaches.
*/
uint32 sweep_sat_per_byte = 2 [deprecated = true];
/*
The fee rate, in satoshis per vbyte, that will be used by watchtowers for
justice transactions in response to channel breaches.
*/
uint32 sweep_sat_per_byte = 2;
uint32 sweep_sat_per_vbyte = 3;
}

10
lnrpc/wtclientrpc/wtclient.swagger.json

@ -289,6 +289,11 @@
"description": "The maximum number of updates each session we negotiate with watchtowers\nshould allow."
},
"sweep_sat_per_byte": {
"type": "integer",
"format": "int64",
"description": "Deprecated, use sweep_sat_per_vbyte.\nThe fee rate, in satoshis per vbyte, that will be used by watchtowers for\njustice transactions in response to channel breaches."
},
"sweep_sat_per_vbyte": {
"type": "integer",
"format": "int64",
"description": "The fee rate, in satoshis per vbyte, that will be used by watchtowers for\njustice transactions in response to channel breaches."
@ -390,6 +395,11 @@
"description": "The maximum number of backups allowed by the watchtower session."
},
"sweep_sat_per_byte": {
"type": "integer",
"format": "int64",
"description": "Deprecated, use sweep_sat_per_vbyte.\nThe fee rate, in satoshis per vbyte, that will be used by the watchtower for\nthe justice transaction in the event of a channel breach."
},
"sweep_sat_per_vbyte": {
"type": "integer",
"format": "int64",
"description": "The fee rate, in satoshis per vbyte, that will be used by the watchtower for\nthe justice transaction in the event of a channel breach."

12
lntest/itest/lnd_onchain_test.go

@ -97,8 +97,10 @@ func testCPFP(net *lntest.NetworkHarness, t *harnessTest) {
// We'll attempt to bump the fee of this transaction by performing a
// CPFP from Alice's point of view.
bumpFeeReq := &walletrpc.BumpFeeRequest{
Outpoint: op,
SatPerByte: uint32(sweep.DefaultMaxFeeRate.FeePerKVByte() / 2000),
Outpoint: op,
SatPerVbyte: uint64(
sweep.DefaultMaxFeeRate.FeePerKVByte() / 2000,
),
}
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
_, err = net.Bob.WalletKitClient.BumpFee(ctxt, bumpFeeReq)
@ -136,9 +138,9 @@ func testCPFP(net *lntest.NetworkHarness, t *harnessTest) {
t.Fatalf("expected output index %v, got %v", op.OutputIndex,
pendingSweep.Outpoint.OutputIndex)
}
if pendingSweep.SatPerByte != bumpFeeReq.SatPerByte {
t.Fatalf("expected sweep sat per byte %v, got %v",
bumpFeeReq.SatPerByte, pendingSweep.SatPerByte)
if pendingSweep.SatPerVbyte != bumpFeeReq.SatPerVbyte {
t.Fatalf("expected sweep sat per vbyte %v, got %v",
bumpFeeReq.SatPerVbyte, pendingSweep.SatPerVbyte)
}
// Mine a block to clean up the unconfirmed transactions.

97
rpcserver.go

@ -217,6 +217,45 @@ func stringInSlice(a string, slice []string) bool {
return false
}
// calculateFeeRate uses either satPerByte or satPerVByte, but not both, from a
// request to calculate the fee rate. It provides compatibility for the
// deprecated field, satPerByte. Once the field is safe to be removed, the
// check can then be deleted.
func calculateFeeRate(satPerByte, satPerVByte uint64, targetConf uint32,
estimator chainfee.Estimator) (chainfee.SatPerKWeight, error) {
var feeRate chainfee.SatPerKWeight
// We only allow using either the deprecated field or the new field.
if satPerByte != 0 && satPerVByte != 0 {
return feeRate, fmt.Errorf("either SatPerByte or " +
"SatPerVByte should be set, but not both")
}
// Default to satPerVByte, and overwrite it if satPerByte is set.
satPerKw := chainfee.SatPerKVByte(satPerVByte * 1000).FeePerKWeight()
if satPerByte != 0 {
satPerKw = chainfee.SatPerKVByte(
satPerByte * 1000,
).FeePerKWeight()
}
// Based on the passed fee related parameters, we'll determine an
// appropriate fee rate for this transaction.
feeRate, err := sweep.DetermineFeePerKw(
estimator, sweep.FeePreference{
ConfTarget: targetConf,
FeeRate: satPerKw,
},
)
if err != nil {
return feeRate, err
}
return feeRate, nil
}
// MainRPCServerPermissions returns a mapping of the main RPC server calls to
// the permissions they require.
func MainRPCServerPermissions() map[string][]bakery.Op {
@ -1053,7 +1092,10 @@ func (r *rpcServer) EstimateFee(ctx context.Context,
totalFee := int64(tx.TotalInput) - totalOutput
resp := &lnrpc.EstimateFeeResponse{
FeeSat: totalFee,
FeeSat: totalFee,
SatPerVbyte: uint64(feePerKw.FeePerKVByte() / 1000),
// Deprecated field.
FeerateSatPerByte: int64(feePerKw.FeePerKVByte() / 1000),
}
@ -1068,14 +1110,10 @@ func (r *rpcServer) EstimateFee(ctx context.Context,
func (r *rpcServer) SendCoins(ctx context.Context,
in *lnrpc.SendCoinsRequest) (*lnrpc.SendCoinsResponse, error) {
// Based on the passed fee related parameters, we'll determine an
// appropriate fee rate for this transaction.
satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight()
feePerKw, err := sweep.DetermineFeePerKw(
r.server.cc.FeeEstimator, sweep.FeePreference{
ConfTarget: uint32(in.TargetConf),
FeeRate: satPerKw,
},
// Calculate an appropriate fee rate for this transaction.
feePerKw, err := calculateFeeRate(
uint64(in.SatPerByte), in.SatPerVbyte,
uint32(in.TargetConf), r.server.cc.FeeEstimator,
)
if err != nil {
return nil, err
@ -1279,14 +1317,10 @@ func (r *rpcServer) SendCoins(ctx context.Context,
func (r *rpcServer) SendMany(ctx context.Context,
in *lnrpc.SendManyRequest) (*lnrpc.SendManyResponse, error) {
// Based on the passed fee related parameters, we'll determine an
// appropriate fee rate for this transaction.
satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight()
feePerKw, err := sweep.DetermineFeePerKw(
r.server.cc.FeeEstimator, sweep.FeePreference{
ConfTarget: uint32(in.TargetConf),
FeeRate: satPerKw,
},
// Calculate an appropriate fee rate for this transaction.
feePerKw, err := calculateFeeRate(
uint64(in.SatPerByte), in.SatPerVbyte,
uint32(in.TargetConf), r.server.cc.FeeEstimator,
)
if err != nil {
return nil, err
@ -1679,7 +1713,7 @@ func newPsbtAssembler(req *lnrpc.OpenChannelRequest, normalizedMinConfs int32,
"minimum confirmation is not supported for PSBT " +
"funding")
}
if req.SatPerByte != 0 || req.TargetConf != 0 {
if req.SatPerByte != 0 || req.SatPerVbyte != 0 || req.TargetConf != 0 {
return nil, fmt.Errorf("specifying fee estimation parameters " +
"is not supported for PSBT funding")
}
@ -1830,14 +1864,10 @@ func (r *rpcServer) parseOpenChannelReq(in *lnrpc.OpenChannelRequest,
return nil, fmt.Errorf("cannot open channel to self")
}
// Based on the passed fee related parameters, we'll determine an
// appropriate fee rate for the funding transaction.
satPerKw := chainfee.SatPerKVByte(in.SatPerByte * 1000).FeePerKWeight()
feeRate, err := sweep.DetermineFeePerKw(
r.server.cc.FeeEstimator, sweep.FeePreference{
ConfTarget: uint32(in.TargetConf),
FeeRate: satPerKw,
},
// Calculate an appropriate fee rate for this transaction.
feeRate, err := calculateFeeRate(
uint64(in.SatPerByte), in.SatPerVbyte,
uint32(in.TargetConf), r.server.cc.FeeEstimator,
)
if err != nil {
return nil, err
@ -2039,7 +2069,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
// If force closing a channel, the fee set in the commitment transaction
// is used.
if in.Force && (in.SatPerByte != 0 || in.TargetConf != 0) {
if in.Force && (in.SatPerByte != 0 || in.SatPerVbyte != 0 ||
in.TargetConf != 0) {
return fmt.Errorf("force closing a channel uses a pre-defined fee")
}
@ -2171,14 +2203,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
// Based on the passed fee related parameters, we'll determine
// an appropriate fee rate for the cooperative closure
// transaction.
satPerKw := chainfee.SatPerKVByte(
in.SatPerByte * 1000,
).FeePerKWeight()
feeRate, err := sweep.DetermineFeePerKw(
r.server.cc.FeeEstimator, sweep.FeePreference{
ConfTarget: uint32(in.TargetConf),
FeeRate: satPerKw,
},
feeRate, err := calculateFeeRate(
uint64(in.SatPerByte), in.SatPerVbyte,
uint32(in.TargetConf), r.server.cc.FeeEstimator,
)
if err != nil {
return err

6
server.go

@ -1245,12 +1245,12 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
policy := wtpolicy.DefaultPolicy()
if cfg.WtClient.SweepFeeRate != 0 {
// We expose the sweep fee rate in sat/byte, but the
// We expose the sweep fee rate in sat/vbyte, but the
// tower protocol operations on sat/kw.
sweepRateSatPerByte := chainfee.SatPerKVByte(
sweepRateSatPerVByte := chainfee.SatPerKVByte(
1000 * cfg.WtClient.SweepFeeRate,
)
policy.SweepFeeRate = sweepRateSatPerByte.FeePerKWeight()
policy.SweepFeeRate = sweepRateSatPerVByte.FeePerKWeight()
}
if err := policy.Validate(); err != nil {

Loading…
Cancel
Save