diff --git a/config.yml b/config.yml index da1be14f97..52392e93fc 100644 --- a/config.yml +++ b/config.yml @@ -38,4 +38,4 @@ genesis: app_state: gov: voting_params: - voting_period: "20s" \ No newline at end of file + voting_period: "3s" \ No newline at end of file diff --git a/go.mod b/go.mod index af1871f9d4..ff526b5142 100644 --- a/go.mod +++ b/go.mod @@ -129,7 +129,7 @@ require ( golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect - google.golang.org/protobuf v1.27.1 // indirect + google.golang.org/protobuf v1.28.0 // indirect gopkg.in/ini.v1 v1.63.2 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect diff --git a/go.sum b/go.sum index 6b598d779e..4798b37308 100644 --- a/go.sum +++ b/go.sum @@ -2173,8 +2173,9 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/init_chain_commands.sh b/init_chain_commands.sh index 59d5af9e22..6899f37697 100755 --- a/init_chain_commands.sh +++ b/init_chain_commands.sh @@ -3,14 +3,14 @@ lavad tx gov submit-proposal spec-add ./cookbook/spec_add_terra.json --from alic wait lavad tx gov vote 1 yes -y --from alice lavad tx gov vote 2 yes -y --from alice -sleep 20 +sleep 4 #Ethereum providers lavad tx pairing stake-provider "ETH1" 2010stake "127.0.0.1:2221,jsonrpc,1" 1 -y --from servicer1 lavad tx pairing stake-provider "ETH1" 2000stake "127.0.0.1:2222,jsonrpc,1" 1 -y --from servicer2 lavad tx pairing stake-provider "ETH1" 2050stake "127.0.0.1:2223,jsonrpc,1" 1 -y --from servicer3 -# lavad tx pairing stake-provider "ETH1" 2020stake "127.0.0.1:2224,jsonrpc,1" 1 -y --from servicer4 -# lavad tx pairing stake-provider "ETH1" 2030stake "127.0.0.1:2225,jsonrpc,1" 1 -y --from servicer5 +lavad tx pairing stake-provider "ETH1" 2020stake "127.0.0.1:2224,jsonrpc,1" 1 -y --from servicer4 +lavad tx pairing stake-provider "ETH1" 2030stake "127.0.0.1:2225,jsonrpc,1" 1 -y --from servicer5 #Terra providers lavad tx pairing stake-provider "COS1" 2010stake "127.0.0.1:2241,jsonrpc,1 127.0.0.1:2231,rest,1" 1 -y --from servicer1 @@ -25,3 +25,27 @@ lavad tx pairing stake-client "COS1" 200000stake 1 -y --from user2 echo "---------------Queries------------------" lavad query pairing providers "ETH1" lavad query pairing clients "ETH1" +screen -S servicers -X quit +screen -d -m -S servicers zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2221 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer1" +screen -S servicers -X screen -t win1 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2222 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer2" +screen -S servicers -X screen -t win2 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2223 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer3" +screen -S servicers -X screen -t win2 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2224 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer4" +screen -S servicers -X screen -t win2 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2225 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer5" +screen -S servicers -X screen -t win3 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2231 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer1" +screen -S servicers -X screen -t win4 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2232 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer2" +screen -S servicers -X screen -t win5 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2233 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer3" +screen -S servicers -X screen -t win6 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2241 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer1" +screen -S servicers -X screen -t win7 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2242 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer2" +screen -S servicers -X screen -t win8 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2243 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer3" +screen -S servicers -X screen -t win9 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go portal_server 127.0.0.1 3333 ETH1 jsonrpc --from user1" +screen -S servicers -X screen -t win10 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go portal_server 127.0.0.1 3334 COS1 rest --from user2" +screen -S servicers -X screen -t win11 -X zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go portal_server 127.0.0.1 3335 COS1 jsonrpc --from user2" +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2221 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer1" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2222 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer2" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2223 ws://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/eth/ws/ ETH1 jsonrpc --from servicer3" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2231 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer1" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2232 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer2" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2233 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/lcd/ COS1 rest --from servicer3" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2241 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer1" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2242 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer2" & / +# cmd.exe /c start wsl.exe zsh -c "source ~/.zshrc; cd ~/go/lava; go run relayer/cmd/relayer/main.go server 127.0.0.1 2243 http://kololo8ex9:ifififkwqlspAFJIjfdMCsdmasdgAKoakdFOAKSFOakfaSEFkbntb311esad@168.119.211.250/terra/rpc/ COS1 jsonrpc --from servicer3" & / \ No newline at end of file diff --git a/relayer/sentry/sentry.go b/relayer/sentry/sentry.go index 727e86f8b4..95c1d08a32 100644 --- a/relayer/sentry/sentry.go +++ b/relayer/sentry/sentry.go @@ -257,7 +257,7 @@ func (s *Sentry) Init(ctx context.Context) error { } // - // Get pairing for the first time + // Get pairing for the first time, for clients err = s.getPairing(ctx) if err != nil { return err @@ -448,6 +448,7 @@ func (s *Sentry) Start(ctx context.Context) { } //update expected payments deadline, and log missing payments + //TODO: make this from the event lava_earliest_epoch instead s.getEarliestSession(ctx) if !s.isUser { s.IdentifyMissingPayments(ctx) diff --git a/utils/lavalog.go b/utils/lavalog.go index 74e9ca6d33..0889752e1c 100644 --- a/utils/lavalog.go +++ b/utils/lavalog.go @@ -28,7 +28,7 @@ func LavaError(ctx sdk.Context, logger log.Logger, name string, attributes map[s } err_msg := fmt.Sprintf("ERR_%s: %s %s", name, description, attributes_str) logger.Error(err_msg) - ctx.EventManager().EmitEvent(sdk.NewEvent("ERR_"+name, eventAttrs...)) + // ctx.EventManager().EmitEvent(sdk.NewEvent("ERR_"+name, eventAttrs...)) //TODO: add error types, create them here and return return errors.New(err_msg) } diff --git a/x/epochstorage/types/query.pb.go b/x/epochstorage/types/query.pb.go index 30eabe28f4..d4d88e5a1b 100644 --- a/x/epochstorage/types/query.pb.go +++ b/x/epochstorage/types/query.pb.go @@ -391,43 +391,43 @@ func init() { func init() { proto.RegisterFile("epochstorage/query.proto", fileDescriptor_a3d6156902cd2447) } var fileDescriptor_a3d6156902cd2447 = []byte{ - // 571 bytes of a gzipped FileDescriptorProto + // 564 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x41, 0x6b, 0x14, 0x31, 0x14, 0xc7, 0x37, 0xd5, 0x5d, 0x30, 0x16, 0x84, 0xb8, 0x87, 0x76, 0xad, 0x63, 0x3b, 0x82, 0xd6, 0xa2, 0x49, 0xbb, 0x05, 0xf5, 0x26, 0x2d, 0xda, 0x5e, 0xdb, 0x2d, 0x78, 0xf0, 0x52, 0xb2, 0xdb, 0x30, 0x1d, 0x9c, 0x9d, 0xcc, 0x6e, 0xb2, 0xa5, 0x45, 0xbc, 0xf8, 0x09, 0x44, 0x3f, 0x89, 0xe0, - 0x45, 0xaf, 0x5e, 0x7a, 0x2c, 0x78, 0xf1, 0x24, 0xb2, 0xeb, 0x07, 0x91, 0x49, 0x32, 0x6c, 0x42, - 0xb3, 0xbb, 0x23, 0x3d, 0xcd, 0x24, 0x79, 0xef, 0xff, 0x7e, 0x2f, 0xef, 0xbd, 0xc0, 0x05, 0x96, + 0x45, 0xaf, 0x5e, 0x7a, 0x2c, 0x78, 0xf1, 0x24, 0xb2, 0xeb, 0x07, 0x91, 0x49, 0xb2, 0x6c, 0x42, + 0xb3, 0x3b, 0x23, 0x3d, 0xcd, 0x24, 0x79, 0xef, 0xff, 0x7e, 0x2f, 0xef, 0xbd, 0xc0, 0x05, 0x96, 0xf1, 0xce, 0xb1, 0x90, 0xbc, 0x4f, 0x23, 0x46, 0x7a, 0x03, 0xd6, 0x3f, 0xc3, 0x59, 0x9f, 0x4b, 0x8e, 0x16, 0x13, 0x7a, 0x42, 0x53, 0x26, 0x71, 0xfe, 0xc5, 0xb6, 0x59, 0xa3, 0x1e, 0xf1, 0x88, 0x2b, 0x2b, 0x92, 0xff, 0x69, 0x87, 0xc6, 0x52, 0xc4, 0x79, 0x94, 0x30, 0x42, 0xb3, 0x98, 0xd0, 0x34, 0xe5, 0x92, 0xca, 0x98, 0xa7, 0xc2, 0x9c, 0xae, 0x75, 0xb8, 0xe8, 0x72, 0x41, 0xda, 0x54, 0x98, 0x38, 0xe4, 0x64, 0xa3, 0xcd, 0x24, 0xdd, 0x20, 0x19, 0x8d, 0xe2, 0x54, 0x19, 0x1b, 0xdb, - 0x45, 0x07, 0x2a, 0xa3, 0x7d, 0xda, 0x2d, 0x64, 0x96, 0x9d, 0x23, 0x21, 0xe9, 0x5b, 0x76, 0x68, - 0x56, 0x5e, 0x0b, 0xb5, 0x38, 0x3c, 0x62, 0x92, 0xc6, 0x49, 0xa1, 0x11, 0x78, 0x34, 0x58, 0x2a, - 0x8b, 0xcc, 0xc3, 0x3a, 0x44, 0xfb, 0x39, 0xe0, 0x9e, 0x0a, 0xdc, 0x62, 0xbd, 0x01, 0x13, 0x32, - 0x7c, 0x0d, 0x6f, 0x3b, 0xbb, 0x22, 0xe3, 0xa9, 0x60, 0xe8, 0x05, 0xac, 0x69, 0xc0, 0x05, 0xb0, - 0x0c, 0x56, 0x6f, 0x36, 0x57, 0xf0, 0xc4, 0x7b, 0xc3, 0xda, 0x75, 0xfb, 0xfa, 0xf9, 0xef, 0x7b, - 0x95, 0x96, 0x71, 0x0b, 0x37, 0xe1, 0x1d, 0xa5, 0xbb, 0xcb, 0xe4, 0x41, 0x8e, 0x72, 0xa0, 0x8d, - 0x4d, 0x58, 0x54, 0x87, 0xd5, 0x38, 0x3d, 0x62, 0xa7, 0x4a, 0xfe, 0x46, 0x4b, 0x2f, 0xc2, 0x1e, - 0x5c, 0xf2, 0x3b, 0x19, 0xaa, 0x7d, 0x38, 0x2f, 0xac, 0x7d, 0xc3, 0xf6, 0x70, 0x0a, 0x9b, 0x2d, - 0x63, 0x08, 0x1d, 0x89, 0x90, 0x19, 0xce, 0xad, 0x24, 0xf1, 0x71, 0xee, 0x40, 0x38, 0xae, 0xa3, - 0x89, 0xf7, 0x00, 0xeb, 0xa2, 0xe3, 0xbc, 0xe8, 0x58, 0x37, 0x97, 0x29, 0x3a, 0xde, 0x1b, 0xfb, - 0xb6, 0x2c, 0xcf, 0xf0, 0x3b, 0x30, 0xa9, 0x5d, 0x8a, 0x33, 0x31, 0xb5, 0x6b, 0x57, 0x4c, 0x0d, - 0xed, 0x3a, 0xec, 0x73, 0xe6, 0xae, 0x66, 0xb1, 0x6b, 0x1e, 0x07, 0xfe, 0xee, 0xb8, 0x96, 0xaf, - 0x72, 0x82, 0x97, 0xba, 0xef, 0x8a, 0x16, 0xb2, 0xaa, 0xe6, 0x1e, 0x8f, 0x53, 0xb3, 0xf7, 0x4b, - 0x54, 0xcd, 0x36, 0x2f, 0x52, 0xb3, 0xf7, 0x9a, 0x3f, 0xaa, 0xb0, 0xaa, 0x62, 0xa2, 0x4f, 0x00, - 0xd6, 0x74, 0x03, 0xa2, 0x27, 0x53, 0x14, 0x2f, 0x77, 0x7e, 0x03, 0x97, 0x35, 0xd7, 0x69, 0x84, - 0x8f, 0x3e, 0xfc, 0xfc, 0xfb, 0x79, 0xee, 0x3e, 0x5a, 0x21, 0xc6, 0x4f, 0x7d, 0x89, 0x67, 0xa8, - 0xd1, 0x37, 0x00, 0xe7, 0xed, 0xf2, 0xa0, 0xa7, 0xb3, 0x62, 0xf9, 0xc7, 0xa4, 0xf1, 0xec, 0xbf, - 0xfd, 0x0c, 0xec, 0x73, 0x05, 0xdb, 0x44, 0xeb, 0x53, 0x60, 0x9d, 0x67, 0x86, 0xbc, 0x53, 0x23, - 0xf8, 0x1e, 0x7d, 0x05, 0xf0, 0x96, 0x2d, 0xb9, 0x95, 0x24, 0xb3, 0xf1, 0xfd, 0xd3, 0x33, 0x1b, - 0x7f, 0xc2, 0x34, 0x84, 0xeb, 0x0a, 0x7f, 0x0d, 0xad, 0x96, 0xc5, 0x47, 0x5f, 0x80, 0xdb, 0x65, - 0xa5, 0xae, 0xdc, 0xd3, 0xcd, 0xa5, 0xae, 0xdc, 0xd7, 0xe6, 0xa5, 0x98, 0x9d, 0x77, 0x7b, 0x7b, - 0xe7, 0x7c, 0x18, 0x80, 0x8b, 0x61, 0x00, 0xfe, 0x0c, 0x03, 0xf0, 0x71, 0x14, 0x54, 0x2e, 0x46, - 0x41, 0xe5, 0xd7, 0x28, 0xa8, 0xbc, 0x79, 0x1c, 0xc5, 0xf2, 0x78, 0xd0, 0xc6, 0x1d, 0xde, 0x75, - 0xd5, 0x4e, 0x5d, 0x3d, 0x79, 0x96, 0x31, 0xd1, 0xae, 0xa9, 0x07, 0x7e, 0xf3, 0x5f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x2b, 0x5f, 0x74, 0x44, 0xf6, 0x06, 0x00, 0x00, + 0x45, 0x07, 0x2a, 0xa3, 0x7d, 0xda, 0x1d, 0xcb, 0x2c, 0x3b, 0x47, 0x42, 0xd2, 0xb7, 0xec, 0xd0, + 0xac, 0xbc, 0x16, 0x6a, 0x71, 0x78, 0xc4, 0x24, 0x8d, 0x13, 0xa3, 0x11, 0xd6, 0x21, 0xda, 0xcf, + 0x01, 0xf6, 0x94, 0x70, 0x8b, 0xf5, 0x06, 0x4c, 0xc8, 0xf0, 0x35, 0xbc, 0xed, 0xec, 0x8a, 0x8c, + 0xa7, 0x82, 0xa1, 0x17, 0xb0, 0xa6, 0x01, 0x16, 0xc0, 0x32, 0x58, 0xbd, 0xd9, 0x5c, 0xc1, 0x53, + 0xef, 0x05, 0x6b, 0xd7, 0xed, 0xeb, 0xe7, 0xbf, 0xef, 0x55, 0x5a, 0xc6, 0x2d, 0xdc, 0x84, 0x77, + 0x94, 0xee, 0x2e, 0x93, 0x07, 0x39, 0xee, 0x81, 0x36, 0x36, 0x61, 0x51, 0x1d, 0x56, 0xe3, 0xf4, + 0x88, 0x9d, 0x2a, 0xf9, 0x1b, 0x2d, 0xbd, 0x08, 0x7b, 0x70, 0xc9, 0xef, 0x64, 0xa8, 0xf6, 0xe1, + 0xbc, 0xb0, 0xf6, 0x0d, 0xdb, 0xc3, 0x19, 0x6c, 0xb6, 0x8c, 0x21, 0x74, 0x24, 0x42, 0x66, 0x38, + 0xb7, 0x92, 0xc4, 0xc7, 0xb9, 0x03, 0xe1, 0xa4, 0x4e, 0x26, 0xde, 0x03, 0xac, 0x8b, 0x8a, 0xf3, + 0xa2, 0x62, 0xdd, 0x3c, 0xa6, 0xa8, 0x78, 0x6f, 0xe2, 0xdb, 0xb2, 0x3c, 0xc3, 0xef, 0xc0, 0xa4, + 0x76, 0x29, 0xce, 0xd4, 0xd4, 0xae, 0x5d, 0x31, 0x35, 0xb4, 0xeb, 0xb0, 0xcf, 0x99, 0xbb, 0x2a, + 0x62, 0xd7, 0x3c, 0x0e, 0xfc, 0xdd, 0x49, 0x2d, 0x5f, 0xe5, 0x04, 0x2f, 0x75, 0x5f, 0x8d, 0x5b, + 0xc8, 0xaa, 0x9a, 0x7b, 0x3c, 0x49, 0xcd, 0xde, 0x2f, 0x51, 0x35, 0xdb, 0x7c, 0x9c, 0x9a, 0xbd, + 0xd7, 0xfc, 0x51, 0x85, 0x55, 0x15, 0x13, 0x7d, 0x02, 0xb0, 0xa6, 0x1b, 0x10, 0x3d, 0x99, 0xa1, + 0x78, 0xb9, 0xf3, 0x1b, 0xb8, 0xac, 0xb9, 0x4e, 0x23, 0x7c, 0xf4, 0xe1, 0xe7, 0xdf, 0xcf, 0x73, + 0xf7, 0xd1, 0x0a, 0x31, 0x7e, 0xea, 0x4b, 0x3c, 0x43, 0x8b, 0xbe, 0x01, 0x38, 0x6f, 0x97, 0x07, + 0x3d, 0x2d, 0x8a, 0xe5, 0x1f, 0x93, 0xc6, 0xb3, 0xff, 0xf6, 0x33, 0xb0, 0xcf, 0x15, 0x6c, 0x13, + 0xad, 0xcf, 0x80, 0x75, 0x9e, 0x11, 0xf2, 0x4e, 0x8d, 0xe0, 0x7b, 0xf4, 0x15, 0xc0, 0x5b, 0xb6, + 0xe4, 0x56, 0x92, 0x14, 0xe3, 0xfb, 0xa7, 0xa7, 0x18, 0x7f, 0xca, 0x34, 0x84, 0xeb, 0x0a, 0x7f, + 0x0d, 0xad, 0x96, 0xc5, 0x47, 0x5f, 0x80, 0xdb, 0x65, 0xa5, 0xae, 0xdc, 0xd3, 0xcd, 0xa5, 0xae, + 0xdc, 0xd7, 0xe6, 0xa5, 0x98, 0x9d, 0x77, 0x79, 0x7b, 0xe7, 0x7c, 0x18, 0x80, 0x8b, 0x61, 0x00, + 0xfe, 0x0c, 0x03, 0xf0, 0x71, 0x14, 0x54, 0x2e, 0x46, 0x41, 0xe5, 0xd7, 0x28, 0xa8, 0xbc, 0x79, + 0x1c, 0xc5, 0xf2, 0x78, 0xd0, 0xc6, 0x1d, 0xde, 0x75, 0xd5, 0x4e, 0x5d, 0x3d, 0x79, 0x96, 0x31, + 0xd1, 0xae, 0xa9, 0x07, 0x7e, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x12, 0xd0, 0x57, + 0xd6, 0x06, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used.