From de70a2048c8ac182ff580346bb2245366ecfe8fd Mon Sep 17 00:00:00 2001 From: Peefy Date: Sun, 14 Jan 2024 14:05:18 +0800 Subject: [PATCH] feat: parser API (#208) * feat: parser API Signed-off-by: peefy * chore: bump kcl-go to v0.7.5 Signed-off-by: peefy --------- Signed-off-by: peefy --- bench_test.go | 2 +- example_test.go | 2 +- go.mod | 2 +- go.sum | 4 +- kclvm_test.go | 6 +- kclvm_version.go | 2 +- pkg/kcl/api.go | 2 +- pkg/kcl/api_test.go | 2 +- pkg/kcl/opt.go | 2 +- pkg/kcl/opt_test.go | 2 +- pkg/kcl/testing_test.go | 2 +- pkg/kcl/utils.go | 2 +- pkg/kclvm_runtime/builtin_service_client.go | 2 +- pkg/kclvm_runtime/init.go | 2 +- pkg/kclvm_runtime/kclvm.go | 2 +- pkg/kclvm_runtime/proc.go | 2 +- pkg/kclvm_runtime/runtime.go | 2 +- pkg/logger/example_test.go | 2 +- pkg/logger/logger.go | 2 +- pkg/parser/parser.go | 43 + pkg/parser/parser_test.go | 52 + pkg/service/client_builtin_service.go | 2 +- pkg/service/client_kclvm_service.go | 18 +- pkg/service/grpc_server.go | 8 +- pkg/service/http_post.go | 2 +- pkg/service/kcl_error.go | 2 +- pkg/service/kclvm_service.go | 2 + pkg/service/rest_server.go | 20 +- pkg/service/rest_server_test.go | 2 +- pkg/service/testmain_test.go | 2 +- pkg/settings/a_test.go | 2 +- pkg/settings/utils_settings_yaml.go | 2 +- pkg/spec/gpyrpc/gpyrpc.pb.go | 1939 ++++++++--------- pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go | 79 + pkg/spec/gpyrpc/gpyrpc.proto | 66 +- pkg/tools/lint/lint.go | 2 +- pkg/tools/lint/lint_test.go | 2 +- pkg/tools/list/dep_parser.go | 2 +- pkg/tools/list/dep_parser_helper_test.go | 2 +- pkg/tools/list/dep_parser_test.go | 2 +- pkg/tools/list/import_dep_parser.go | 2 +- pkg/tools/list/list_test.go | 67 +- pkg/tools/list/pkg_info.go | 2 +- pkg/tools/list/single_app_dep_parser.go | 2 +- pkg/tools/override/override.go | 2 +- pkg/tools/override/override_test.go | 2 +- pkg/tools/validate/validate_test.go | 2 +- pkg/utils/assert.go | 2 +- pkg/utils/pkg_path_test.go | 2 +- pkg/utils/utils.go | 2 +- scripts/kclvm.go | 2 +- scripts/util_unzip.go | 2 +- .../external}/external_1/kcl.mod | 0 .../external}/external_1/main.k | 0 .../external}/external_2/kcl.mod | 0 .../external}/external_2/main.k | 0 .../import_builtin}/entry/main.k | 0 .../import_builtin}/kcl.mod | 0 .../import_builtin}/sub/main.k | 0 59 files changed, 1256 insertions(+), 1128 deletions(-) create mode 100644 pkg/parser/parser.go create mode 100644 pkg/parser/parser_test.go rename {testdata_external => testdata/external}/external_1/kcl.mod (100%) rename {testdata_external => testdata/external}/external_1/main.k (100%) rename {testdata_external => testdata/external}/external_2/kcl.mod (100%) rename {testdata_external => testdata/external}/external_2/main.k (100%) rename {testdata_import_builtin => testdata/import_builtin}/entry/main.k (100%) rename {testdata_import_builtin => testdata/import_builtin}/kcl.mod (100%) rename {testdata_import_builtin => testdata/import_builtin}/sub/main.k (100%) diff --git a/bench_test.go b/bench_test.go index 162c4516..baa7f361 100644 --- a/bench_test.go +++ b/bench_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm diff --git a/example_test.go b/example_test.go index e41d0f19..0677e595 100644 --- a/example_test.go +++ b/example_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_test diff --git a/go.mod b/go.mod index ba822305..abfd8aef 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( google.golang.org/protobuf v1.30.0 gopkg.in/yaml.v3 v3.0.1 kcl-lang.io/kpm v0.4.6 - kcl-lang.io/lib v0.7.4 + kcl-lang.io/lib v0.7.5 ) require ( diff --git a/go.sum b/go.sum index 7d7afa1e..c84ae8b1 100644 --- a/go.sum +++ b/go.sum @@ -794,8 +794,8 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= kcl-lang.io/kpm v0.4.6 h1:yaQdRQMqByaxyUb3uEp27zI7xxcsnp1iIcgqU9hFVqI= kcl-lang.io/kpm v0.4.6/go.mod h1:Ba2ijUHQR/sMdB4S7982vOrajly4LdgshrqXd2SXBog= -kcl-lang.io/lib v0.7.4 h1:D1mSGI6Ggb9B3lQqoscQuSOnaBpnkvucZA0WWWniLO0= -kcl-lang.io/lib v0.7.4/go.mod h1:ubsalGXxJaa5II/EsHmsI/tL2EluYHIcW+BwzQPt+uY= +kcl-lang.io/lib v0.7.5 h1:Gr4a6RZ9DmdNmJ8+VqT3IpkOjgySzGWYXzWZhQX+UK0= +kcl-lang.io/lib v0.7.5/go.mod h1:ubsalGXxJaa5II/EsHmsI/tL2EluYHIcW+BwzQPt+uY= oras.land/oras-go v1.2.3 h1:v8PJl+gEAntI1pJ/LCrDgsuk+1PKVavVEPsYIHFE5uY= oras.land/oras-go v1.2.3/go.mod h1:M/uaPdYklze0Vf3AakfarnpoEckvw0ESbRdN8Z1vdJg= oras.land/oras-go/v2 v2.3.0 h1:lqX1aXdN+DAmDTKjiDyvq85cIaI4RkIKp/PghWlAGIU= diff --git a/kclvm_test.go b/kclvm_test.go index 516a8651..3af7cfcc 100644 --- a/kclvm_test.go +++ b/kclvm_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_test @@ -520,9 +520,9 @@ func TestTestAPI(t *testing.T) { } func TestWithExternalpkg(t *testing.T) { - absPath1, err := filepath.Abs("./testdata_external/external_1/") + absPath1, err := filepath.Abs("./testdata/external/external_1/") assert2.Equal(t, nil, err) - absPath2, err := filepath.Abs("./testdata_external/external_2/") + absPath2, err := filepath.Abs("./testdata/external/external_2/") assert2.Equal(t, nil, err) opt := kcl.WithExternalPkgs("external_1="+absPath1, "external_2="+absPath2) result, err := kcl.Run("./testdata/import-external/main.k", opt) diff --git a/kclvm_version.go b/kclvm_version.go index eddd1b83..542c17b0 100644 --- a/kclvm_version.go +++ b/kclvm_version.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm diff --git a/pkg/kcl/api.go b/pkg/kcl/api.go index 4c77d831..e36a52d0 100644 --- a/pkg/kcl/api.go +++ b/pkg/kcl/api.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. // Package kcl defines the top-level interface for KCL. package kcl diff --git a/pkg/kcl/api_test.go b/pkg/kcl/api_test.go index 5baaafbe..6438c205 100644 --- a/pkg/kcl/api_test.go +++ b/pkg/kcl/api_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kcl diff --git a/pkg/kcl/opt.go b/pkg/kcl/opt.go index f853ca66..4d9919a8 100644 --- a/pkg/kcl/opt.go +++ b/pkg/kcl/opt.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kcl diff --git a/pkg/kcl/opt_test.go b/pkg/kcl/opt_test.go index ac32f3f2..f7cb0d08 100644 --- a/pkg/kcl/opt_test.go +++ b/pkg/kcl/opt_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kcl diff --git a/pkg/kcl/testing_test.go b/pkg/kcl/testing_test.go index c845418a..65f88297 100644 --- a/pkg/kcl/testing_test.go +++ b/pkg/kcl/testing_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kcl diff --git a/pkg/kcl/utils.go b/pkg/kcl/utils.go index 53fadb50..ea173331 100644 --- a/pkg/kcl/utils.go +++ b/pkg/kcl/utils.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kcl diff --git a/pkg/kclvm_runtime/builtin_service_client.go b/pkg/kclvm_runtime/builtin_service_client.go index d1ffe896..eabdec50 100644 --- a/pkg/kclvm_runtime/builtin_service_client.go +++ b/pkg/kclvm_runtime/builtin_service_client.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_runtime diff --git a/pkg/kclvm_runtime/init.go b/pkg/kclvm_runtime/init.go index ad1edf47..b9fb83fe 100644 --- a/pkg/kclvm_runtime/init.go +++ b/pkg/kclvm_runtime/init.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_runtime diff --git a/pkg/kclvm_runtime/kclvm.go b/pkg/kclvm_runtime/kclvm.go index f973bfbe..ebf700f0 100644 --- a/pkg/kclvm_runtime/kclvm.go +++ b/pkg/kclvm_runtime/kclvm.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_runtime diff --git a/pkg/kclvm_runtime/proc.go b/pkg/kclvm_runtime/proc.go index 8792bbcb..f96cbe20 100644 --- a/pkg/kclvm_runtime/proc.go +++ b/pkg/kclvm_runtime/proc.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_runtime diff --git a/pkg/kclvm_runtime/runtime.go b/pkg/kclvm_runtime/runtime.go index 293f748e..d0b40a7d 100644 --- a/pkg/kclvm_runtime/runtime.go +++ b/pkg/kclvm_runtime/runtime.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package kclvm_runtime diff --git a/pkg/logger/example_test.go b/pkg/logger/example_test.go index 13d101fc..3a2ceb6c 100644 --- a/pkg/logger/example_test.go +++ b/pkg/logger/example_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package logger_test diff --git a/pkg/logger/logger.go b/pkg/logger/logger.go index af615e70..ec894dd2 100644 --- a/pkg/logger/logger.go +++ b/pkg/logger/logger.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package logger diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go new file mode 100644 index 00000000..21026fde --- /dev/null +++ b/pkg/parser/parser.go @@ -0,0 +1,43 @@ +package parser + +import ( + "fmt" + "io" + + "kcl-lang.io/kcl-go/pkg/service" + "kcl-lang.io/kcl-go/pkg/spec/gpyrpc" +) + +// ParseFileASTJson parses the source code from the specified file or Reader +// and returns the JSON representation of the Abstract Syntax Tree (AST). +// The source code can be provided directly as a string or []byte, +// or indirectly via a filename or an io.Reader. +// If src is nil, the function reads the content from the provided filename. +func ParseFileASTJson(filename string, src interface{}) (result string, err error) { + var code string + if src != nil { + switch src := src.(type) { + case []byte: + code = string(src) + case string: + code = string(src) + case io.Reader: + d, err := io.ReadAll(src) + if err != nil { + return "", err + } + code = string(d) + default: + return "", fmt.Errorf("unsupported src type: %T", src) + } + } + client := service.NewKclvmServiceClient() + resp, err := client.ParseFile(&gpyrpc.ParseFile_Args{ + Path: filename, + Source: code, + }) + if err != nil { + return "", err + } + return resp.AstJson, nil +} diff --git a/pkg/parser/parser_test.go b/pkg/parser/parser_test.go new file mode 100644 index 00000000..79633ce0 --- /dev/null +++ b/pkg/parser/parser_test.go @@ -0,0 +1,52 @@ +package parser + +import ( + "strings" + "testing" + "time" +) + +// TestParseFileASTJson tests the ParseFileASTJson function with various input sources. +func TestParseFileASTJson(t *testing.T) { + // Example: Test with string source + src := `schema Name: + name: str + +n = Name {name = "name"}` // Sample KCL source code + astJson, err := ParseFileASTJson("", src) + if err != nil { + t.Errorf("ParseFileASTJson failed with string source: %v", err) + } + if astJson == "" { + t.Errorf("Expected non-empty AST JSON with string source") + } + + // Example: Test with byte slice source + srcBytes := []byte(src) + astJson, err = ParseFileASTJson("", srcBytes) + if err != nil { + t.Errorf("ParseFileASTJson failed with byte slice source: %v", err) + } + if astJson == "" { + t.Errorf("Expected non-empty AST JSON with byte slice source") + } + + startTime := time.Now() + // Example: Test with io.Reader source + srcReader := strings.NewReader(src) + astJson, err = ParseFileASTJson("", srcReader) + if err != nil { + t.Errorf("ParseFileASTJson failed with io.Reader source: %v", err) + } + if astJson == "" { + t.Errorf("Expected non-empty AST JSON with io.Reader source") + } + elapsed := time.Since(startTime) + t.Logf("ParseFileASTJson took %s", elapsed) + if !strings.Contains(astJson, "Schema") { + t.Errorf("Expected Schema Node AST JSON with io.Reader source") + } + if !strings.Contains(astJson, "Assign") { + t.Errorf("Expected Assign Node AST JSON with io.Reader source") + } +} diff --git a/pkg/service/client_builtin_service.go b/pkg/service/client_builtin_service.go index 2cfa0145..77652a94 100644 --- a/pkg/service/client_builtin_service.go +++ b/pkg/service/client_builtin_service.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service diff --git a/pkg/service/client_kclvm_service.go b/pkg/service/client_kclvm_service.go index 83ab2b39..78b4f03d 100644 --- a/pkg/service/client_kclvm_service.go +++ b/pkg/service/client_kclvm_service.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service @@ -53,6 +53,22 @@ func (p *KclvmServiceClient) ExecProgram(args *gpyrpc.ExecProgram_Args) (resp *g return } +func (p *KclvmServiceClient) ParseFile(args *gpyrpc.ParseFile_Args) (resp *gpyrpc.ParseFile_Result, err error) { + p.Runtime.DoTask(func(c *rpc.Client, stderr io.Reader) { + resp, err = p.getClient(c).ParseFile(args) + err = p.wrapErr(err, stderr) + }) + return +} + +func (p *KclvmServiceClient) ParseProgram(args *gpyrpc.ParseProgram_Args) (resp *gpyrpc.ParseProgram_Result, err error) { + p.Runtime.DoTask(func(c *rpc.Client, stderr io.Reader) { + resp, err = p.getClient(c).ParseProgram(args) + err = p.wrapErr(err, stderr) + }) + return +} + func (p *KclvmServiceClient) FormatCode(args *gpyrpc.FormatCode_Args) (resp *gpyrpc.FormatCode_Result, err error) { p.Runtime.DoTask(func(c *rpc.Client, stderr io.Reader) { resp, err = p.getClient(c).FormatCode(args) diff --git a/pkg/service/grpc_server.go b/pkg/service/grpc_server.go index fd178e17..ec1a44a2 100644 --- a/pkg/service/grpc_server.go +++ b/pkg/service/grpc_server.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service @@ -43,6 +43,12 @@ func (p *_KclvmServiceImpl) Ping(ctx context.Context, args *gpyrpc.Ping_Args) (* func (p *_KclvmServiceImpl) ExecProgram(ctx context.Context, args *gpyrpc.ExecProgram_Args) (*gpyrpc.ExecProgram_Result, error) { return p.c.ExecProgram(args) } +func (p *_KclvmServiceImpl) ParseFile(ctx context.Context, args *gpyrpc.ParseFile_Args) (*gpyrpc.ParseFile_Result, error) { + return p.c.ParseFile(args) +} +func (p *_KclvmServiceImpl) ParseProgram(ctx context.Context, args *gpyrpc.ParseProgram_Args) (*gpyrpc.ParseProgram_Result, error) { + return p.c.ParseProgram(args) +} func (p *_KclvmServiceImpl) FormatCode(ctx context.Context, args *gpyrpc.FormatCode_Args) (*gpyrpc.FormatCode_Result, error) { return p.c.FormatCode(args) } diff --git a/pkg/service/http_post.go b/pkg/service/http_post.go index 1bd95af3..334dac30 100644 --- a/pkg/service/http_post.go +++ b/pkg/service/http_post.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service diff --git a/pkg/service/kcl_error.go b/pkg/service/kcl_error.go index becbdaf0..44fb9b6b 100644 --- a/pkg/service/kcl_error.go +++ b/pkg/service/kcl_error.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service diff --git a/pkg/service/kclvm_service.go b/pkg/service/kclvm_service.go index 62b29fa1..e22bf7d2 100644 --- a/pkg/service/kclvm_service.go +++ b/pkg/service/kclvm_service.go @@ -5,6 +5,8 @@ import "kcl-lang.io/kcl-go/pkg/spec/gpyrpc" type KclvmService interface { Ping(in *gpyrpc.Ping_Args) (out *gpyrpc.Ping_Result, err error) ExecProgram(in *gpyrpc.ExecProgram_Args) (out *gpyrpc.ExecProgram_Result, err error) + ParseFile(in *gpyrpc.ParseFile_Args) (out *gpyrpc.ParseFile_Result, err error) + ParseProgram(in *gpyrpc.ParseProgram_Args) (out *gpyrpc.ParseProgram_Result, err error) FormatCode(in *gpyrpc.FormatCode_Args) (out *gpyrpc.FormatCode_Result, err error) FormatPath(in *gpyrpc.FormatPath_Args) (out *gpyrpc.FormatPath_Result, err error) LintPath(in *gpyrpc.LintPath_Args) (out *gpyrpc.LintPath_Result, err error) diff --git a/pkg/service/rest_server.go b/pkg/service/rest_server.go index 0209b187..e5492be6 100644 --- a/pkg/service/rest_server.go +++ b/pkg/service/rest_server.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service @@ -60,6 +60,8 @@ func (p *restServer) initHttpRrouter() { p.router.GET("/api:protorpc/BuiltinService.ListMethod", p.handle_ListMethod) p.router.GET("/api:protorpc/KclvmService.ExecProgram", p.handle_ExecProgram) + p.router.GET("/api:protorpc/KclvmService.ParseFile", p.handle_ParseFile) + p.router.GET("/api:protorpc/KclvmService.ParseProgram", p.handle_ParseProgram) p.router.GET("/api:protorpc/KclvmService.FormatCode", p.handle_FormatCode) p.router.GET("/api:protorpc/KclvmService.FormatPath", p.handle_FormatPath) p.router.GET("/api:protorpc/KclvmService.LintPath", p.handle_LintPath) @@ -71,6 +73,8 @@ func (p *restServer) initHttpRrouter() { p.router.POST("/api:protorpc/BuiltinService.ListMethod", p.handle_ListMethod) p.router.POST("/api:protorpc/KclvmService.ExecProgram", p.handle_ExecProgram) + p.router.POST("/api:protorpc/KclvmService.ParseFile", p.handle_ParseFile) + p.router.POST("/api:protorpc/KclvmService.ParseProgram", p.handle_ParseProgram) p.router.POST("/api:protorpc/KclvmService.FormatCode", p.handle_FormatCode) p.router.POST("/api:protorpc/KclvmService.FormatPath", p.handle_FormatPath) p.router.POST("/api:protorpc/KclvmService.LintPath", p.handle_LintPath) @@ -140,6 +144,20 @@ func (p *restServer) handle_ExecProgram(w http.ResponseWriter, r *http.Request, }) } +func (p *restServer) handle_ParseFile(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { + var args = new(gpyrpc.ParseFile_Args) + p.handle(w, r, args, func() (proto.Message, error) { + return p.c.ParseFile(args) + }) +} + +func (p *restServer) handle_ParseProgram(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { + var args = new(gpyrpc.ParseProgram_Args) + p.handle(w, r, args, func() (proto.Message, error) { + return p.c.ParseProgram(args) + }) +} + func (p *restServer) handle_FormatCode(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { var args = new(gpyrpc.FormatCode_Args) p.handle(w, r, args, func() (proto.Message, error) { diff --git a/pkg/service/rest_server_test.go b/pkg/service/rest_server_test.go index bf51a5d1..76ee31e0 100644 --- a/pkg/service/rest_server_test.go +++ b/pkg/service/rest_server_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service diff --git a/pkg/service/testmain_test.go b/pkg/service/testmain_test.go index 4b42ebe9..02255b0f 100644 --- a/pkg/service/testmain_test.go +++ b/pkg/service/testmain_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package service diff --git a/pkg/settings/a_test.go b/pkg/settings/a_test.go index 74c8025e..fcea450b 100644 --- a/pkg/settings/a_test.go +++ b/pkg/settings/a_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package settings diff --git a/pkg/settings/utils_settings_yaml.go b/pkg/settings/utils_settings_yaml.go index 1846b01b..bb97a6d9 100644 --- a/pkg/settings/utils_settings_yaml.go +++ b/pkg/settings/utils_settings_yaml.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package settings diff --git a/pkg/spec/gpyrpc/gpyrpc.pb.go b/pkg/spec/gpyrpc/gpyrpc.pb.go index 10c47d90..45e7ab56 100644 --- a/pkg/spec/gpyrpc/gpyrpc.pb.go +++ b/pkg/spec/gpyrpc/gpyrpc.pb.go @@ -17,8 +17,6 @@ import ( status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" - anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" sync "sync" ) @@ -214,18 +212,18 @@ func (x *CmdOverrideSpec) GetAction() string { return "" } -type RestResponse struct { +type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Result *anypb.Any `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` - KclErr *KclError `protobuf:"bytes,3,opt,name=kcl_err,json=kclErr,proto3" json:"kcl_err,omitempty"` + Level string `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + Messages []*Message `protobuf:"bytes,3,rep,name=messages,proto3" json:"messages,omitempty"` } -func (x *RestResponse) Reset() { - *x = RestResponse{} +func (x *Error) Reset() { + *x = Error{} if protoimpl.UnsafeEnabled { mi := &file_gpyrpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -233,13 +231,13 @@ func (x *RestResponse) Reset() { } } -func (x *RestResponse) String() string { +func (x *Error) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RestResponse) ProtoMessage() {} +func (*Error) ProtoMessage() {} -func (x *RestResponse) ProtoReflect() protoreflect.Message { +func (x *Error) ProtoReflect() protoreflect.Message { mi := &file_gpyrpc_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -251,45 +249,43 @@ func (x *RestResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RestResponse.ProtoReflect.Descriptor instead. -func (*RestResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { return file_gpyrpc_proto_rawDescGZIP(), []int{3} } -func (x *RestResponse) GetResult() *anypb.Any { +func (x *Error) GetLevel() string { if x != nil { - return x.Result + return x.Level } - return nil + return "" } -func (x *RestResponse) GetError() string { +func (x *Error) GetCode() string { if x != nil { - return x.Error + return x.Code } return "" } -func (x *RestResponse) GetKclErr() *KclError { +func (x *Error) GetMessages() []*Message { if x != nil { - return x.KclErr + return x.Messages } return nil } -type KclError struct { +type Message struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ewcode string `protobuf:"bytes,1,opt,name=ewcode,proto3" json:"ewcode,omitempty"` // See kclvm/kcl/error/kcl_err_msg.py - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"` - ErrorInfos []*KclErrorInfo `protobuf:"bytes,4,rep,name=error_infos,json=errorInfos,proto3" json:"error_infos,omitempty"` + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + Pos *Position `protobuf:"bytes,2,opt,name=pos,proto3" json:"pos,omitempty"` } -func (x *KclError) Reset() { - *x = KclError{} +func (x *Message) Reset() { + *x = Message{} if protoimpl.UnsafeEnabled { mi := &file_gpyrpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -297,13 +293,13 @@ func (x *KclError) Reset() { } } -func (x *KclError) String() string { +func (x *Message) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KclError) ProtoMessage() {} +func (*Message) ProtoMessage() {} -func (x *KclError) ProtoReflect() protoreflect.Message { +func (x *Message) ProtoReflect() protoreflect.Message { mi := &file_gpyrpc_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -315,126 +311,25 @@ func (x *KclError) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KclError.ProtoReflect.Descriptor instead. -func (*KclError) Descriptor() ([]byte, []int) { +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { return file_gpyrpc_proto_rawDescGZIP(), []int{4} } -func (x *KclError) GetEwcode() string { - if x != nil { - return x.Ewcode - } - return "" -} - -func (x *KclError) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *KclError) GetMsg() string { +func (x *Message) GetMsg() string { if x != nil { return x.Msg } return "" } -func (x *KclError) GetErrorInfos() []*KclErrorInfo { +func (x *Message) GetPos() *Position { if x != nil { - return x.ErrorInfos + return x.Pos } return nil } -type KclErrorInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrLevel string `protobuf:"bytes,1,opt,name=err_level,json=errLevel,proto3" json:"err_level,omitempty"` - ArgMsg string `protobuf:"bytes,2,opt,name=arg_msg,json=argMsg,proto3" json:"arg_msg,omitempty"` - Filename string `protobuf:"bytes,3,opt,name=filename,proto3" json:"filename,omitempty"` - SrcCode string `protobuf:"bytes,4,opt,name=src_code,json=srcCode,proto3" json:"src_code,omitempty"` - LineNo string `protobuf:"bytes,5,opt,name=line_no,json=lineNo,proto3" json:"line_no,omitempty"` - ColNo string `protobuf:"bytes,6,opt,name=col_no,json=colNo,proto3" json:"col_no,omitempty"` -} - -func (x *KclErrorInfo) Reset() { - *x = KclErrorInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KclErrorInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KclErrorInfo) ProtoMessage() {} - -func (x *KclErrorInfo) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KclErrorInfo.ProtoReflect.Descriptor instead. -func (*KclErrorInfo) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{5} -} - -func (x *KclErrorInfo) GetErrLevel() string { - if x != nil { - return x.ErrLevel - } - return "" -} - -func (x *KclErrorInfo) GetArgMsg() string { - if x != nil { - return x.ArgMsg - } - return "" -} - -func (x *KclErrorInfo) GetFilename() string { - if x != nil { - return x.Filename - } - return "" -} - -func (x *KclErrorInfo) GetSrcCode() string { - if x != nil { - return x.SrcCode - } - return "" -} - -func (x *KclErrorInfo) GetLineNo() string { - if x != nil { - return x.LineNo - } - return "" -} - -func (x *KclErrorInfo) GetColNo() string { - if x != nil { - return x.ColNo - } - return "" -} - type Ping_Args struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -446,7 +341,7 @@ type Ping_Args struct { func (x *Ping_Args) Reset() { *x = Ping_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[6] + mi := &file_gpyrpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -459,7 +354,7 @@ func (x *Ping_Args) String() string { func (*Ping_Args) ProtoMessage() {} func (x *Ping_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[6] + mi := &file_gpyrpc_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -472,7 +367,7 @@ func (x *Ping_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use Ping_Args.ProtoReflect.Descriptor instead. func (*Ping_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{6} + return file_gpyrpc_proto_rawDescGZIP(), []int{5} } func (x *Ping_Args) GetValue() string { @@ -493,7 +388,7 @@ type Ping_Result struct { func (x *Ping_Result) Reset() { *x = Ping_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[7] + mi := &file_gpyrpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -506,7 +401,7 @@ func (x *Ping_Result) String() string { func (*Ping_Result) ProtoMessage() {} func (x *Ping_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[7] + mi := &file_gpyrpc_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -519,7 +414,7 @@ func (x *Ping_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Ping_Result.ProtoReflect.Descriptor instead. func (*Ping_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{7} + return file_gpyrpc_proto_rawDescGZIP(), []int{6} } func (x *Ping_Result) GetValue() string { @@ -538,7 +433,7 @@ type ListMethod_Args struct { func (x *ListMethod_Args) Reset() { *x = ListMethod_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[8] + mi := &file_gpyrpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +446,7 @@ func (x *ListMethod_Args) String() string { func (*ListMethod_Args) ProtoMessage() {} func (x *ListMethod_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[8] + mi := &file_gpyrpc_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +459,7 @@ func (x *ListMethod_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMethod_Args.ProtoReflect.Descriptor instead. func (*ListMethod_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{8} + return file_gpyrpc_proto_rawDescGZIP(), []int{7} } type ListMethod_Result struct { @@ -578,7 +473,7 @@ type ListMethod_Result struct { func (x *ListMethod_Result) Reset() { *x = ListMethod_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[9] + mi := &file_gpyrpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -591,7 +486,7 @@ func (x *ListMethod_Result) String() string { func (*ListMethod_Result) ProtoMessage() {} func (x *ListMethod_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[9] + mi := &file_gpyrpc_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -604,7 +499,7 @@ func (x *ListMethod_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMethod_Result.ProtoReflect.Descriptor instead. func (*ListMethod_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{9} + return file_gpyrpc_proto_rawDescGZIP(), []int{8} } func (x *ListMethod_Result) GetMethodNameList() []string { @@ -614,32 +509,33 @@ func (x *ListMethod_Result) GetMethodNameList() []string { return nil } -type ParseFile_AST_Args struct { +type ParseFile_Args struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` - SourceCode string `protobuf:"bytes,2,opt,name=source_code,json=sourceCode,proto3" json:"source_code,omitempty"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + ExternalPkgs []*CmdExternalPkgSpec `protobuf:"bytes,3,rep,name=external_pkgs,json=externalPkgs,proto3" json:"external_pkgs,omitempty"` // External packages path } -func (x *ParseFile_AST_Args) Reset() { - *x = ParseFile_AST_Args{} +func (x *ParseFile_Args) Reset() { + *x = ParseFile_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[10] + mi := &file_gpyrpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParseFile_AST_Args) String() string { +func (x *ParseFile_Args) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParseFile_AST_Args) ProtoMessage() {} +func (*ParseFile_Args) ProtoMessage() {} -func (x *ParseFile_AST_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[10] +func (x *ParseFile_Args) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -650,51 +546,59 @@ func (x *ParseFile_AST_Args) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParseFile_AST_Args.ProtoReflect.Descriptor instead. -func (*ParseFile_AST_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{10} +// Deprecated: Use ParseFile_Args.ProtoReflect.Descriptor instead. +func (*ParseFile_Args) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{9} } -func (x *ParseFile_AST_Args) GetFilename() string { +func (x *ParseFile_Args) GetPath() string { if x != nil { - return x.Filename + return x.Path } return "" } -func (x *ParseFile_AST_Args) GetSourceCode() string { +func (x *ParseFile_Args) GetSource() string { if x != nil { - return x.SourceCode + return x.Source } return "" } -type ParseFile_AST_Result struct { +func (x *ParseFile_Args) GetExternalPkgs() []*CmdExternalPkgSpec { + if x != nil { + return x.ExternalPkgs + } + return nil +} + +type ParseFile_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AstJson string `protobuf:"bytes,1,opt,name=ast_json,json=astJson,proto3" json:"ast_json,omitempty"` // json value - KclErr *KclError `protobuf:"bytes,2,opt,name=kcl_err,json=kclErr,proto3" json:"kcl_err,omitempty"` + AstJson string `protobuf:"bytes,1,opt,name=ast_json,json=astJson,proto3" json:"ast_json,omitempty"` // JSON string value + Deps []string `protobuf:"bytes,2,rep,name=deps,proto3" json:"deps,omitempty"` // file dependency paths + Errors []*Error `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` // Parse errors } -func (x *ParseFile_AST_Result) Reset() { - *x = ParseFile_AST_Result{} +func (x *ParseFile_Result) Reset() { + *x = ParseFile_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[11] + mi := &file_gpyrpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParseFile_AST_Result) String() string { +func (x *ParseFile_Result) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParseFile_AST_Result) ProtoMessage() {} +func (*ParseFile_Result) ProtoMessage() {} -func (x *ParseFile_AST_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[11] +func (x *ParseFile_Result) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -705,50 +609,59 @@ func (x *ParseFile_AST_Result) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParseFile_AST_Result.ProtoReflect.Descriptor instead. -func (*ParseFile_AST_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{11} +// Deprecated: Use ParseFile_Result.ProtoReflect.Descriptor instead. +func (*ParseFile_Result) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{10} } -func (x *ParseFile_AST_Result) GetAstJson() string { +func (x *ParseFile_Result) GetAstJson() string { if x != nil { return x.AstJson } return "" } -func (x *ParseFile_AST_Result) GetKclErr() *KclError { +func (x *ParseFile_Result) GetDeps() []string { + if x != nil { + return x.Deps + } + return nil +} + +func (x *ParseFile_Result) GetErrors() []*Error { if x != nil { - return x.KclErr + return x.Errors } return nil } -type ParseProgram_AST_Args struct { +type ParseProgram_Args struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - KFilenameList []string `protobuf:"bytes,1,rep,name=k_filename_list,json=kFilenameList,proto3" json:"k_filename_list,omitempty"` + Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` + ExternalPkgs []*CmdExternalPkgSpec `protobuf:"bytes,3,rep,name=external_pkgs,json=externalPkgs,proto3" json:"external_pkgs,omitempty"` // External packages path } -func (x *ParseProgram_AST_Args) Reset() { - *x = ParseProgram_AST_Args{} +func (x *ParseProgram_Args) Reset() { + *x = ParseProgram_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[12] + mi := &file_gpyrpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParseProgram_AST_Args) String() string { +func (x *ParseProgram_Args) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParseProgram_AST_Args) ProtoMessage() {} +func (*ParseProgram_Args) ProtoMessage() {} -func (x *ParseProgram_AST_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[12] +func (x *ParseProgram_Args) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -759,44 +672,59 @@ func (x *ParseProgram_AST_Args) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParseProgram_AST_Args.ProtoReflect.Descriptor instead. -func (*ParseProgram_AST_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{12} +// Deprecated: Use ParseProgram_Args.ProtoReflect.Descriptor instead. +func (*ParseProgram_Args) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{11} } -func (x *ParseProgram_AST_Args) GetKFilenameList() []string { +func (x *ParseProgram_Args) GetPaths() []string { if x != nil { - return x.KFilenameList + return x.Paths } return nil } -type ParseProgram_AST_Result struct { +func (x *ParseProgram_Args) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +func (x *ParseProgram_Args) GetExternalPkgs() []*CmdExternalPkgSpec { + if x != nil { + return x.ExternalPkgs + } + return nil +} + +type ParseProgram_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AstJson string `protobuf:"bytes,1,opt,name=ast_json,json=astJson,proto3" json:"ast_json,omitempty"` // json value - KclErr *KclError `protobuf:"bytes,2,opt,name=kcl_err,json=kclErr,proto3" json:"kcl_err,omitempty"` + AstJson string `protobuf:"bytes,1,opt,name=ast_json,json=astJson,proto3" json:"ast_json,omitempty"` // JSON string value + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` // Return the files in the order they should be compiled + Errors []*Error `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` // Parse errors } -func (x *ParseProgram_AST_Result) Reset() { - *x = ParseProgram_AST_Result{} +func (x *ParseProgram_Result) Reset() { + *x = ParseProgram_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[13] + mi := &file_gpyrpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParseProgram_AST_Result) String() string { +func (x *ParseProgram_Result) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParseProgram_AST_Result) ProtoMessage() {} +func (*ParseProgram_Result) ProtoMessage() {} -func (x *ParseProgram_AST_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[13] +func (x *ParseProgram_Result) ProtoReflect() protoreflect.Message { + mi := &file_gpyrpc_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -807,21 +735,28 @@ func (x *ParseProgram_AST_Result) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParseProgram_AST_Result.ProtoReflect.Descriptor instead. -func (*ParseProgram_AST_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{13} +// Deprecated: Use ParseProgram_Result.ProtoReflect.Descriptor instead. +func (*ParseProgram_Result) Descriptor() ([]byte, []int) { + return file_gpyrpc_proto_rawDescGZIP(), []int{12} } -func (x *ParseProgram_AST_Result) GetAstJson() string { +func (x *ParseProgram_Result) GetAstJson() string { if x != nil { return x.AstJson } return "" } -func (x *ParseProgram_AST_Result) GetKclErr() *KclError { +func (x *ParseProgram_Result) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +func (x *ParseProgram_Result) GetErrors() []*Error { if x != nil { - return x.KclErr + return x.Errors } return nil } @@ -854,8 +789,6 @@ type ExecProgram_Args struct { IncludeSchemaTypePath bool `protobuf:"varint,14,opt,name=include_schema_type_path,json=includeSchemaTypePath,proto3" json:"include_schema_type_path,omitempty"` // Whether only compiling the program CompileOnly bool `protobuf:"varint,15,opt,name=compile_only,json=compileOnly,proto3" json:"compile_only,omitempty"` - // Compile the dir recursively - Recursive bool `protobuf:"varint,16,opt,name=recursive,proto3" json:"recursive,omitempty"` // -S --path_selector PathSelector []string `protobuf:"bytes,17,rep,name=path_selector,json=pathSelector,proto3" json:"path_selector,omitempty"` } @@ -863,7 +796,7 @@ type ExecProgram_Args struct { func (x *ExecProgram_Args) Reset() { *x = ExecProgram_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[14] + mi := &file_gpyrpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -876,7 +809,7 @@ func (x *ExecProgram_Args) String() string { func (*ExecProgram_Args) ProtoMessage() {} func (x *ExecProgram_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[14] + mi := &file_gpyrpc_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -889,7 +822,7 @@ func (x *ExecProgram_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecProgram_Args.ProtoReflect.Descriptor instead. func (*ExecProgram_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{14} + return file_gpyrpc_proto_rawDescGZIP(), []int{13} } func (x *ExecProgram_Args) GetWorkDir() string { @@ -997,13 +930,6 @@ func (x *ExecProgram_Args) GetCompileOnly() bool { return false } -func (x *ExecProgram_Args) GetRecursive() bool { - if x != nil { - return x.Recursive - } - return false -} - func (x *ExecProgram_Args) GetPathSelector() []string { if x != nil { return x.PathSelector @@ -1025,7 +951,7 @@ type ExecProgram_Result struct { func (x *ExecProgram_Result) Reset() { *x = ExecProgram_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[15] + mi := &file_gpyrpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1038,7 +964,7 @@ func (x *ExecProgram_Result) String() string { func (*ExecProgram_Result) ProtoMessage() {} func (x *ExecProgram_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[15] + mi := &file_gpyrpc_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1051,7 +977,7 @@ func (x *ExecProgram_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecProgram_Result.ProtoReflect.Descriptor instead. func (*ExecProgram_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{15} + return file_gpyrpc_proto_rawDescGZIP(), []int{14} } func (x *ExecProgram_Result) GetJsonResult() string { @@ -1093,7 +1019,7 @@ type ResetPlugin_Args struct { func (x *ResetPlugin_Args) Reset() { *x = ResetPlugin_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[16] + mi := &file_gpyrpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1106,7 +1032,7 @@ func (x *ResetPlugin_Args) String() string { func (*ResetPlugin_Args) ProtoMessage() {} func (x *ResetPlugin_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[16] + mi := &file_gpyrpc_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1119,7 +1045,7 @@ func (x *ResetPlugin_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetPlugin_Args.ProtoReflect.Descriptor instead. func (*ResetPlugin_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{16} + return file_gpyrpc_proto_rawDescGZIP(), []int{15} } func (x *ResetPlugin_Args) GetPluginRoot() string { @@ -1138,7 +1064,7 @@ type ResetPlugin_Result struct { func (x *ResetPlugin_Result) Reset() { *x = ResetPlugin_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[17] + mi := &file_gpyrpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1151,7 +1077,7 @@ func (x *ResetPlugin_Result) String() string { func (*ResetPlugin_Result) ProtoMessage() {} func (x *ResetPlugin_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[17] + mi := &file_gpyrpc_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1164,7 +1090,7 @@ func (x *ResetPlugin_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetPlugin_Result.ProtoReflect.Descriptor instead. func (*ResetPlugin_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{17} + return file_gpyrpc_proto_rawDescGZIP(), []int{16} } type FormatCode_Args struct { @@ -1178,7 +1104,7 @@ type FormatCode_Args struct { func (x *FormatCode_Args) Reset() { *x = FormatCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[18] + mi := &file_gpyrpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1191,7 +1117,7 @@ func (x *FormatCode_Args) String() string { func (*FormatCode_Args) ProtoMessage() {} func (x *FormatCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[18] + mi := &file_gpyrpc_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1204,7 +1130,7 @@ func (x *FormatCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatCode_Args.ProtoReflect.Descriptor instead. func (*FormatCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{18} + return file_gpyrpc_proto_rawDescGZIP(), []int{17} } func (x *FormatCode_Args) GetSource() string { @@ -1225,7 +1151,7 @@ type FormatCode_Result struct { func (x *FormatCode_Result) Reset() { *x = FormatCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[19] + mi := &file_gpyrpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1238,7 +1164,7 @@ func (x *FormatCode_Result) String() string { func (*FormatCode_Result) ProtoMessage() {} func (x *FormatCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[19] + mi := &file_gpyrpc_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1251,7 +1177,7 @@ func (x *FormatCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatCode_Result.ProtoReflect.Descriptor instead. func (*FormatCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{19} + return file_gpyrpc_proto_rawDescGZIP(), []int{18} } func (x *FormatCode_Result) GetFormatted() []byte { @@ -1272,7 +1198,7 @@ type FormatPath_Args struct { func (x *FormatPath_Args) Reset() { *x = FormatPath_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[20] + mi := &file_gpyrpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1285,7 +1211,7 @@ func (x *FormatPath_Args) String() string { func (*FormatPath_Args) ProtoMessage() {} func (x *FormatPath_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[20] + mi := &file_gpyrpc_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1298,7 +1224,7 @@ func (x *FormatPath_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatPath_Args.ProtoReflect.Descriptor instead. func (*FormatPath_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{20} + return file_gpyrpc_proto_rawDescGZIP(), []int{19} } func (x *FormatPath_Args) GetPath() string { @@ -1319,7 +1245,7 @@ type FormatPath_Result struct { func (x *FormatPath_Result) Reset() { *x = FormatPath_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[21] + mi := &file_gpyrpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1332,7 +1258,7 @@ func (x *FormatPath_Result) String() string { func (*FormatPath_Result) ProtoMessage() {} func (x *FormatPath_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[21] + mi := &file_gpyrpc_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1345,7 +1271,7 @@ func (x *FormatPath_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use FormatPath_Result.ProtoReflect.Descriptor instead. func (*FormatPath_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{21} + return file_gpyrpc_proto_rawDescGZIP(), []int{20} } func (x *FormatPath_Result) GetChangedPaths() []string { @@ -1366,7 +1292,7 @@ type LintPath_Args struct { func (x *LintPath_Args) Reset() { *x = LintPath_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[22] + mi := &file_gpyrpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1379,7 +1305,7 @@ func (x *LintPath_Args) String() string { func (*LintPath_Args) ProtoMessage() {} func (x *LintPath_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[22] + mi := &file_gpyrpc_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1392,7 +1318,7 @@ func (x *LintPath_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use LintPath_Args.ProtoReflect.Descriptor instead. func (*LintPath_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{22} + return file_gpyrpc_proto_rawDescGZIP(), []int{21} } func (x *LintPath_Args) GetPaths() []string { @@ -1413,7 +1339,7 @@ type LintPath_Result struct { func (x *LintPath_Result) Reset() { *x = LintPath_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[23] + mi := &file_gpyrpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1426,7 +1352,7 @@ func (x *LintPath_Result) String() string { func (*LintPath_Result) ProtoMessage() {} func (x *LintPath_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[23] + mi := &file_gpyrpc_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1439,7 +1365,7 @@ func (x *LintPath_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use LintPath_Result.ProtoReflect.Descriptor instead. func (*LintPath_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{23} + return file_gpyrpc_proto_rawDescGZIP(), []int{22} } func (x *LintPath_Result) GetResults() []string { @@ -1462,7 +1388,7 @@ type OverrideFile_Args struct { func (x *OverrideFile_Args) Reset() { *x = OverrideFile_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[24] + mi := &file_gpyrpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1475,7 +1401,7 @@ func (x *OverrideFile_Args) String() string { func (*OverrideFile_Args) ProtoMessage() {} func (x *OverrideFile_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[24] + mi := &file_gpyrpc_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1488,7 +1414,7 @@ func (x *OverrideFile_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use OverrideFile_Args.ProtoReflect.Descriptor instead. func (*OverrideFile_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{24} + return file_gpyrpc_proto_rawDescGZIP(), []int{23} } func (x *OverrideFile_Args) GetFile() string { @@ -1523,7 +1449,7 @@ type OverrideFile_Result struct { func (x *OverrideFile_Result) Reset() { *x = OverrideFile_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[25] + mi := &file_gpyrpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1536,7 +1462,7 @@ func (x *OverrideFile_Result) String() string { func (*OverrideFile_Result) ProtoMessage() {} func (x *OverrideFile_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[25] + mi := &file_gpyrpc_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1549,7 +1475,7 @@ func (x *OverrideFile_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use OverrideFile_Result.ProtoReflect.Descriptor instead. func (*OverrideFile_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{25} + return file_gpyrpc_proto_rawDescGZIP(), []int{24} } func (x *OverrideFile_Result) GetResult() bool { @@ -1571,7 +1497,7 @@ type GetFullSchemaType_Args struct { func (x *GetFullSchemaType_Args) Reset() { *x = GetFullSchemaType_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[26] + mi := &file_gpyrpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1584,7 +1510,7 @@ func (x *GetFullSchemaType_Args) String() string { func (*GetFullSchemaType_Args) ProtoMessage() {} func (x *GetFullSchemaType_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[26] + mi := &file_gpyrpc_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1597,7 +1523,7 @@ func (x *GetFullSchemaType_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFullSchemaType_Args.ProtoReflect.Descriptor instead. func (*GetFullSchemaType_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{26} + return file_gpyrpc_proto_rawDescGZIP(), []int{25} } func (x *GetFullSchemaType_Args) GetExecArgs() *ExecProgram_Args { @@ -1627,7 +1553,7 @@ type GetSchemaType_Args struct { func (x *GetSchemaType_Args) Reset() { *x = GetSchemaType_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[27] + mi := &file_gpyrpc_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1640,7 +1566,7 @@ func (x *GetSchemaType_Args) String() string { func (*GetSchemaType_Args) ProtoMessage() {} func (x *GetSchemaType_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[27] + mi := &file_gpyrpc_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1653,7 +1579,7 @@ func (x *GetSchemaType_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaType_Args.ProtoReflect.Descriptor instead. func (*GetSchemaType_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{27} + return file_gpyrpc_proto_rawDescGZIP(), []int{26} } func (x *GetSchemaType_Args) GetFile() string { @@ -1688,7 +1614,7 @@ type GetSchemaType_Result struct { func (x *GetSchemaType_Result) Reset() { *x = GetSchemaType_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[28] + mi := &file_gpyrpc_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1701,7 +1627,7 @@ func (x *GetSchemaType_Result) String() string { func (*GetSchemaType_Result) ProtoMessage() {} func (x *GetSchemaType_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[28] + mi := &file_gpyrpc_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1714,7 +1640,7 @@ func (x *GetSchemaType_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaType_Result.ProtoReflect.Descriptor instead. func (*GetSchemaType_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{28} + return file_gpyrpc_proto_rawDescGZIP(), []int{27} } func (x *GetSchemaType_Result) GetSchemaTypeList() []*KclType { @@ -1737,7 +1663,7 @@ type GetSchemaTypeMapping_Args struct { func (x *GetSchemaTypeMapping_Args) Reset() { *x = GetSchemaTypeMapping_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[29] + mi := &file_gpyrpc_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1750,7 +1676,7 @@ func (x *GetSchemaTypeMapping_Args) String() string { func (*GetSchemaTypeMapping_Args) ProtoMessage() {} func (x *GetSchemaTypeMapping_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[29] + mi := &file_gpyrpc_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1763,7 +1689,7 @@ func (x *GetSchemaTypeMapping_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaTypeMapping_Args.ProtoReflect.Descriptor instead. func (*GetSchemaTypeMapping_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{29} + return file_gpyrpc_proto_rawDescGZIP(), []int{28} } func (x *GetSchemaTypeMapping_Args) GetFile() string { @@ -1798,7 +1724,7 @@ type GetSchemaTypeMapping_Result struct { func (x *GetSchemaTypeMapping_Result) Reset() { *x = GetSchemaTypeMapping_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[30] + mi := &file_gpyrpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1811,7 +1737,7 @@ func (x *GetSchemaTypeMapping_Result) String() string { func (*GetSchemaTypeMapping_Result) ProtoMessage() {} func (x *GetSchemaTypeMapping_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[30] + mi := &file_gpyrpc_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1824,7 +1750,7 @@ func (x *GetSchemaTypeMapping_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSchemaTypeMapping_Result.ProtoReflect.Descriptor instead. func (*GetSchemaTypeMapping_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{30} + return file_gpyrpc_proto_rawDescGZIP(), []int{29} } func (x *GetSchemaTypeMapping_Result) GetSchemaTypeMapping() map[string]*KclType { @@ -1850,7 +1776,7 @@ type ValidateCode_Args struct { func (x *ValidateCode_Args) Reset() { *x = ValidateCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[31] + mi := &file_gpyrpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1863,7 +1789,7 @@ func (x *ValidateCode_Args) String() string { func (*ValidateCode_Args) ProtoMessage() {} func (x *ValidateCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[31] + mi := &file_gpyrpc_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1876,7 +1802,7 @@ func (x *ValidateCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateCode_Args.ProtoReflect.Descriptor instead. func (*ValidateCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{31} + return file_gpyrpc_proto_rawDescGZIP(), []int{30} } func (x *ValidateCode_Args) GetData() string { @@ -1933,7 +1859,7 @@ type ValidateCode_Result struct { func (x *ValidateCode_Result) Reset() { *x = ValidateCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[32] + mi := &file_gpyrpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1946,7 +1872,7 @@ func (x *ValidateCode_Result) String() string { func (*ValidateCode_Result) ProtoMessage() {} func (x *ValidateCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[32] + mi := &file_gpyrpc_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1959,7 +1885,7 @@ func (x *ValidateCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateCode_Result.ProtoReflect.Descriptor instead. func (*ValidateCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{32} + return file_gpyrpc_proto_rawDescGZIP(), []int{31} } func (x *ValidateCode_Result) GetSuccess() bool { @@ -1989,7 +1915,7 @@ type Position struct { func (x *Position) Reset() { *x = Position{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[33] + mi := &file_gpyrpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2002,7 +1928,7 @@ func (x *Position) String() string { func (*Position) ProtoMessage() {} func (x *Position) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[33] + mi := &file_gpyrpc_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2015,7 +1941,7 @@ func (x *Position) ProtoReflect() protoreflect.Message { // Deprecated: Use Position.ProtoReflect.Descriptor instead. func (*Position) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{33} + return file_gpyrpc_proto_rawDescGZIP(), []int{32} } func (x *Position) GetLine() int64 { @@ -2053,7 +1979,7 @@ type ListDepFiles_Args struct { func (x *ListDepFiles_Args) Reset() { *x = ListDepFiles_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[34] + mi := &file_gpyrpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2066,7 +1992,7 @@ func (x *ListDepFiles_Args) String() string { func (*ListDepFiles_Args) ProtoMessage() {} func (x *ListDepFiles_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[34] + mi := &file_gpyrpc_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2079,7 +2005,7 @@ func (x *ListDepFiles_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDepFiles_Args.ProtoReflect.Descriptor instead. func (*ListDepFiles_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{34} + return file_gpyrpc_proto_rawDescGZIP(), []int{33} } func (x *ListDepFiles_Args) GetWorkDir() string { @@ -2123,7 +2049,7 @@ type ListDepFiles_Result struct { func (x *ListDepFiles_Result) Reset() { *x = ListDepFiles_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[35] + mi := &file_gpyrpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2136,7 +2062,7 @@ func (x *ListDepFiles_Result) String() string { func (*ListDepFiles_Result) ProtoMessage() {} func (x *ListDepFiles_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[35] + mi := &file_gpyrpc_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2149,7 +2075,7 @@ func (x *ListDepFiles_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDepFiles_Result.ProtoReflect.Descriptor instead. func (*ListDepFiles_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{35} + return file_gpyrpc_proto_rawDescGZIP(), []int{34} } func (x *ListDepFiles_Result) GetPkgroot() string { @@ -2185,7 +2111,7 @@ type LoadSettingsFiles_Args struct { func (x *LoadSettingsFiles_Args) Reset() { *x = LoadSettingsFiles_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[36] + mi := &file_gpyrpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2198,7 +2124,7 @@ func (x *LoadSettingsFiles_Args) String() string { func (*LoadSettingsFiles_Args) ProtoMessage() {} func (x *LoadSettingsFiles_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[36] + mi := &file_gpyrpc_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2211,7 +2137,7 @@ func (x *LoadSettingsFiles_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSettingsFiles_Args.ProtoReflect.Descriptor instead. func (*LoadSettingsFiles_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{36} + return file_gpyrpc_proto_rawDescGZIP(), []int{35} } func (x *LoadSettingsFiles_Args) GetWorkDir() string { @@ -2240,7 +2166,7 @@ type LoadSettingsFiles_Result struct { func (x *LoadSettingsFiles_Result) Reset() { *x = LoadSettingsFiles_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[37] + mi := &file_gpyrpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2253,7 +2179,7 @@ func (x *LoadSettingsFiles_Result) String() string { func (*LoadSettingsFiles_Result) ProtoMessage() {} func (x *LoadSettingsFiles_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[37] + mi := &file_gpyrpc_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2266,7 +2192,7 @@ func (x *LoadSettingsFiles_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSettingsFiles_Result.ProtoReflect.Descriptor instead. func (*LoadSettingsFiles_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{37} + return file_gpyrpc_proto_rawDescGZIP(), []int{36} } func (x *LoadSettingsFiles_Result) GetKclCliConfigs() *CliConfig { @@ -2303,7 +2229,7 @@ type CliConfig struct { func (x *CliConfig) Reset() { *x = CliConfig{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[38] + mi := &file_gpyrpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2316,7 +2242,7 @@ func (x *CliConfig) String() string { func (*CliConfig) ProtoMessage() {} func (x *CliConfig) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[38] + mi := &file_gpyrpc_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2329,7 +2255,7 @@ func (x *CliConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CliConfig.ProtoReflect.Descriptor instead. func (*CliConfig) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{38} + return file_gpyrpc_proto_rawDescGZIP(), []int{37} } func (x *CliConfig) GetFiles() []string { @@ -2414,7 +2340,7 @@ type KeyValuePair struct { func (x *KeyValuePair) Reset() { *x = KeyValuePair{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[39] + mi := &file_gpyrpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2427,7 +2353,7 @@ func (x *KeyValuePair) String() string { func (*KeyValuePair) ProtoMessage() {} func (x *KeyValuePair) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[39] + mi := &file_gpyrpc_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2440,7 +2366,7 @@ func (x *KeyValuePair) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValuePair.ProtoReflect.Descriptor instead. func (*KeyValuePair) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{39} + return file_gpyrpc_proto_rawDescGZIP(), []int{38} } func (x *KeyValuePair) GetKey() string { @@ -2471,7 +2397,7 @@ type Rename_Args struct { func (x *Rename_Args) Reset() { *x = Rename_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[40] + mi := &file_gpyrpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2484,7 +2410,7 @@ func (x *Rename_Args) String() string { func (*Rename_Args) ProtoMessage() {} func (x *Rename_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[40] + mi := &file_gpyrpc_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2497,7 +2423,7 @@ func (x *Rename_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use Rename_Args.ProtoReflect.Descriptor instead. func (*Rename_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{40} + return file_gpyrpc_proto_rawDescGZIP(), []int{39} } func (x *Rename_Args) GetPackageRoot() string { @@ -2539,7 +2465,7 @@ type Rename_Result struct { func (x *Rename_Result) Reset() { *x = Rename_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[41] + mi := &file_gpyrpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2552,7 +2478,7 @@ func (x *Rename_Result) String() string { func (*Rename_Result) ProtoMessage() {} func (x *Rename_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[41] + mi := &file_gpyrpc_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2565,7 +2491,7 @@ func (x *Rename_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Rename_Result.ProtoReflect.Descriptor instead. func (*Rename_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{41} + return file_gpyrpc_proto_rawDescGZIP(), []int{40} } func (x *Rename_Result) GetChangedFiles() []string { @@ -2589,7 +2515,7 @@ type RenameCode_Args struct { func (x *RenameCode_Args) Reset() { *x = RenameCode_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[42] + mi := &file_gpyrpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2602,7 +2528,7 @@ func (x *RenameCode_Args) String() string { func (*RenameCode_Args) ProtoMessage() {} func (x *RenameCode_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[42] + mi := &file_gpyrpc_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2615,7 +2541,7 @@ func (x *RenameCode_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameCode_Args.ProtoReflect.Descriptor instead. func (*RenameCode_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{42} + return file_gpyrpc_proto_rawDescGZIP(), []int{41} } func (x *RenameCode_Args) GetPackageRoot() string { @@ -2657,7 +2583,7 @@ type RenameCode_Result struct { func (x *RenameCode_Result) Reset() { *x = RenameCode_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[43] + mi := &file_gpyrpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2670,7 +2596,7 @@ func (x *RenameCode_Result) String() string { func (*RenameCode_Result) ProtoMessage() {} func (x *RenameCode_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[43] + mi := &file_gpyrpc_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2683,7 +2609,7 @@ func (x *RenameCode_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use RenameCode_Result.ProtoReflect.Descriptor instead. func (*RenameCode_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{43} + return file_gpyrpc_proto_rawDescGZIP(), []int{42} } func (x *RenameCode_Result) GetChangedCodes() map[string]string { @@ -2707,7 +2633,7 @@ type Test_Args struct { func (x *Test_Args) Reset() { *x = Test_Args{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[44] + mi := &file_gpyrpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2720,7 +2646,7 @@ func (x *Test_Args) String() string { func (*Test_Args) ProtoMessage() {} func (x *Test_Args) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[44] + mi := &file_gpyrpc_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2733,7 +2659,7 @@ func (x *Test_Args) ProtoReflect() protoreflect.Message { // Deprecated: Use Test_Args.ProtoReflect.Descriptor instead. func (*Test_Args) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{44} + return file_gpyrpc_proto_rawDescGZIP(), []int{43} } func (x *Test_Args) GetExecArgs() *ExecProgram_Args { @@ -2775,7 +2701,7 @@ type Test_Result struct { func (x *Test_Result) Reset() { *x = Test_Result{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[45] + mi := &file_gpyrpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2788,7 +2714,7 @@ func (x *Test_Result) String() string { func (*Test_Result) ProtoMessage() {} func (x *Test_Result) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[45] + mi := &file_gpyrpc_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2801,7 +2727,7 @@ func (x *Test_Result) ProtoReflect() protoreflect.Message { // Deprecated: Use Test_Result.ProtoReflect.Descriptor instead. func (*Test_Result) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{45} + return file_gpyrpc_proto_rawDescGZIP(), []int{44} } func (x *Test_Result) GetInfo() []*TestCaseInfo { @@ -2825,7 +2751,7 @@ type TestCaseInfo struct { func (x *TestCaseInfo) Reset() { *x = TestCaseInfo{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[46] + mi := &file_gpyrpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2838,7 +2764,7 @@ func (x *TestCaseInfo) String() string { func (*TestCaseInfo) ProtoMessage() {} func (x *TestCaseInfo) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[46] + mi := &file_gpyrpc_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2851,7 +2777,7 @@ func (x *TestCaseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TestCaseInfo.ProtoReflect.Descriptor instead. func (*TestCaseInfo) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{46} + return file_gpyrpc_proto_rawDescGZIP(), []int{45} } func (x *TestCaseInfo) GetName() string { @@ -2907,7 +2833,7 @@ type KclType struct { func (x *KclType) Reset() { *x = KclType{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[47] + mi := &file_gpyrpc_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2920,7 +2846,7 @@ func (x *KclType) String() string { func (*KclType) ProtoMessage() {} func (x *KclType) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[47] + mi := &file_gpyrpc_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2933,7 +2859,7 @@ func (x *KclType) ProtoReflect() protoreflect.Message { // Deprecated: Use KclType.ProtoReflect.Descriptor instead. func (*KclType) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{47} + return file_gpyrpc_proto_rawDescGZIP(), []int{46} } func (x *KclType) GetType() string { @@ -3054,7 +2980,7 @@ type Decorator struct { func (x *Decorator) Reset() { *x = Decorator{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[48] + mi := &file_gpyrpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3067,7 +2993,7 @@ func (x *Decorator) String() string { func (*Decorator) ProtoMessage() {} func (x *Decorator) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[48] + mi := &file_gpyrpc_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3080,7 +3006,7 @@ func (x *Decorator) ProtoReflect() protoreflect.Message { // Deprecated: Use Decorator.ProtoReflect.Descriptor instead. func (*Decorator) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{48} + return file_gpyrpc_proto_rawDescGZIP(), []int{47} } func (x *Decorator) GetName() string { @@ -3117,7 +3043,7 @@ type Example struct { func (x *Example) Reset() { *x = Example{} if protoimpl.UnsafeEnabled { - mi := &file_gpyrpc_proto_msgTypes[49] + mi := &file_gpyrpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3130,7 +3056,7 @@ func (x *Example) String() string { func (*Example) ProtoMessage() {} func (x *Example) ProtoReflect() protoreflect.Message { - mi := &file_gpyrpc_proto_msgTypes[49] + mi := &file_gpyrpc_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3143,7 +3069,7 @@ func (x *Example) ProtoReflect() protoreflect.Message { // Deprecated: Use Example.ProtoReflect.Descriptor instead. func (*Example) Descriptor() ([]byte, []int) { - return file_gpyrpc_proto_rawDescGZIP(), []int{49} + return file_gpyrpc_proto_rawDescGZIP(), []int{48} } func (x *Example) GetSummary() string { @@ -3171,482 +3097,476 @@ var File_gpyrpc_proto protoreflect.FileDescriptor var file_gpyrpc_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, - 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x12, 0x43, 0x6d, 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, 0x74, 0x68, 0x22, - 0x36, 0x0a, 0x0a, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x43, 0x6d, 0x64, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, - 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, - 0x0c, 0x52, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x29, 0x0a, 0x07, 0x6b, 0x63, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x6b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x22, 0x7f, 0x0a, 0x08, - 0x4b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x77, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x77, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xab, 0x01, - 0x0a, 0x0c, 0x4b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, - 0x0a, 0x09, 0x65, 0x72, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x61, - 0x72, 0x67, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x72, - 0x67, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x19, 0x0a, 0x08, 0x73, 0x72, 0x63, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x72, 0x63, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, - 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, - 0x6e, 0x65, 0x4e, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x5f, 0x6e, 0x6f, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x4e, 0x6f, 0x22, 0x21, 0x0a, 0x09, 0x50, - 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, - 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x22, 0x3d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x5f, 0x41, 0x53, 0x54, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x73, - 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x07, 0x6b, - 0x63, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, - 0x6b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x22, 0x3f, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x53, 0x54, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6b, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5f, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x73, 0x65, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x75, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x22, 0x4a, 0x0a, 0x12, 0x43, 0x6d, 0x64, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x6b, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x6b, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, + 0x74, 0x68, 0x22, 0x36, 0x0a, 0x0a, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x43, + 0x6d, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x5e, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x22, 0x3f, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x22, 0x0a, + 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x70, 0x6f, + 0x73, 0x22, 0x21, 0x0a, 0x09, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x22, 0x3d, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7d, 0x0a, 0x0e, 0x50, + 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x22, 0x68, 0x0a, 0x10, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x73, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x73, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x70, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x70, 0x73, 0x12, 0x25, 0x0a, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x50, + 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x29, 0x0a, - 0x07, 0x6b, 0x63, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x06, 0x6b, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x22, 0xb0, 0x05, 0x0a, 0x10, 0x45, 0x78, 0x65, - 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, - 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1e, 0x0a, 0x0b, 0x6b, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x26, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x53, 0x70, - 0x65, 0x63, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x79, 0x61, 0x6d, 0x6c, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x5f, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x73, 0x74, 0x12, 0x2c, 0x0a, - 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, - 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x45, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x18, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, - 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, - 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x12, - 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x79, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x29, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, - 0x41, 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x0a, 0x11, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x22, - 0x25, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, - 0x22, 0x25, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, 0x67, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x70, - 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2d, 0x0a, 0x13, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x65, 0x78, - 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, - 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, 0x19, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0xe0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x6a, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x55, 0x0a, 0x16, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x25, 0x0a, 0x0e, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x50, 0x0a, 0x13, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, - 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, - 0x69, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, 0x73, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x41, 0x62, 0x73, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x61, 0x73, - 0x74, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x75, 0x73, 0x65, 0x46, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x73, 0x65, 0x72, 0x22, 0x5f, 0x0a, - 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, 0x6f, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x49, - 0x0a, 0x16, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, - 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, - 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x4c, 0x6f, - 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0f, 0x6b, 0x63, 0x6c, 0x5f, 0x63, 0x6c, - 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0d, 0x6b, 0x63, 0x6c, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x6b, 0x63, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x6b, 0x63, - 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x02, 0x0a, 0x09, 0x43, 0x6c, 0x69, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, - 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x72, - 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x36, - 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xfd, 0x01, 0x0a, 0x0f, 0x52, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, - 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, - 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x52, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, - 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, - 0x65, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x64, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x41, 0x72, 0x67, - 0x73, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, - 0x65, 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x52, 0x65, 0x67, 0x65, - 0x78, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x46, 0x61, 0x73, 0x74, 0x22, - 0x37, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, - 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, - 0x43, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, - 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0xc7, 0x05, 0x0a, 0x07, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x30, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x6f, 0x63, 0x12, 0x3f, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, - 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x69, - 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x64, 0x65, 0x63, - 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x39, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x1a, 0x4e, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0d, 0x45, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x44, 0x65, - 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6b, 0x65, 0x79, - 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x4b, - 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, - 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x5b, 0x0a, 0x07, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x32, 0x82, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0x98, 0x08, 0x0a, 0x0c, 0x4b, 0x63, 0x6c, 0x76, 0x6d, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x11, - 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, - 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, - 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, - 0x0a, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, - 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x92, 0x05, 0x0a, 0x10, 0x45, + 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6b, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, + 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x79, 0x61, 0x6d, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x5f, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x41, 0x73, 0x74, 0x12, + 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, + 0x69, 0x63, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, + 0x62, 0x75, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3f, 0x0a, + 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6b, 0x67, 0x73, 0x18, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6d, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x53, 0x70, 0x65, 0x63, + 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6b, 0x67, 0x73, 0x12, 0x37, + 0x0a, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, + 0x98, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x79, 0x61, 0x6d, 0x6c, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, + 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, + 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x10, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x74, 0x22, + 0x14, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x29, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x31, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x74, 0x65, 0x64, 0x22, 0x25, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, + 0x68, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x38, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x3a, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x15, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, - 0x67, 0x73, 0x1a, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x74, - 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, - 0x1a, 0x1c, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, + 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, + 0x61, 0x74, 0x68, 0x73, 0x22, 0x25, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2b, 0x0a, 0x0f, 0x4c, + 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x2d, 0x0a, 0x13, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, - 0x72, 0x67, 0x73, 0x1a, 0x1c, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x5e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x23, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, + 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x6a, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, + 0x55, 0x0a, 0x16, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, 0x01, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, + 0x50, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x52, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, + 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, + 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75, 0x73, + 0x65, 0x41, 0x62, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x46, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x73, 0x65, + 0x72, 0x22, 0x5f, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x72, 0x6f, + 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x22, 0x49, 0x0a, 0x16, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x8c, 0x01, + 0x0a, 0x18, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0f, 0x6b, 0x63, + 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x69, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6b, 0x63, 0x6c, 0x43, 0x6c, 0x69, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x6b, 0x63, 0x6c, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, + 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x69, 0x72, + 0x52, 0x0a, 0x6b, 0x63, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x02, 0x0a, + 0x09, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, + 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x22, 0x36, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, + 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, + 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xfd, + 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, + 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3e, + 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, + 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, + 0x67, 0x73, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x41, 0x72, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x70, 0x6b, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x6b, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x5f, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x75, 0x6e, + 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x66, + 0x61, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x46, + 0x61, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, + 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x75, 0x0a, 0x0c, + 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0xc7, 0x05, 0x0a, 0x07, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x75, 0x6e, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x64, 0x6f, 0x63, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x44, 0x6f, 0x63, 0x12, + 0x3f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x23, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x69, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x63, 0x6f, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, + 0x0a, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x4b, 0x63, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x1a, + 0x4e, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x63, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x4c, 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, + 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, + 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x65, + 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5b, 0x0a, 0x07, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x32, 0x82, 0x01, 0x0a, 0x0e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, + 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x5f, 0x41, 0x72, + 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, + 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0x9f, 0x09, 0x0a, 0x0c, 0x4b, 0x63, + 0x6c, 0x76, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, + 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x45, 0x78, + 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, + 0x72, 0x67, 0x73, 0x1a, 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, + 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x3d, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, + 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, + 0x41, 0x72, 0x67, 0x73, 0x1a, 0x18, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, + 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x19, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, + 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, + 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x4c, 0x69, + 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x15, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x17, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x5f, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x41, 0x72, 0x67, + 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1c, 0x2e, 0x67, 0x70, + 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1c, + 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5e, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x23, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, - 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, - 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x55, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, + 0x1b, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x20, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x15, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, - 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, - 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x67, - 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x2e, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, - 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x42, 0x2b, 0x5a, 0x29, 0x6b, 0x63, 0x6c, 0x2d, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x69, 0x6f, 0x2f, - 0x6b, 0x63, 0x6c, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x2f, - 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x3b, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x41, 0x72, 0x67, + 0x73, 0x1a, 0x20, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x2e, + 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x41, 0x72, + 0x67, 0x73, 0x1a, 0x15, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x52, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, + 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x72, 0x67, 0x73, + 0x1a, 0x19, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x54, + 0x65, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x5f, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x13, 0x2e, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x2b, 0x5a, 0x29, 0x6b, + 0x63, 0x6c, 0x2d, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x69, 0x6f, 0x2f, 0x6b, 0x63, 0x6c, 0x2d, 0x67, + 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x67, 0x70, 0x79, 0x72, 0x70, + 0x63, 0x3b, 0x67, 0x70, 0x79, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3661,133 +3581,136 @@ func file_gpyrpc_proto_rawDescGZIP() []byte { return file_gpyrpc_proto_rawDescData } -var file_gpyrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 56) +var file_gpyrpc_proto_msgTypes = make([]protoimpl.MessageInfo, 55) var file_gpyrpc_proto_goTypes = []interface{}{ (*CmdExternalPkgSpec)(nil), // 0: gpyrpc.CmdExternalPkgSpec (*CmdArgSpec)(nil), // 1: gpyrpc.CmdArgSpec (*CmdOverrideSpec)(nil), // 2: gpyrpc.CmdOverrideSpec - (*RestResponse)(nil), // 3: gpyrpc.RestResponse - (*KclError)(nil), // 4: gpyrpc.KclError - (*KclErrorInfo)(nil), // 5: gpyrpc.KclErrorInfo - (*Ping_Args)(nil), // 6: gpyrpc.Ping_Args - (*Ping_Result)(nil), // 7: gpyrpc.Ping_Result - (*ListMethod_Args)(nil), // 8: gpyrpc.ListMethod_Args - (*ListMethod_Result)(nil), // 9: gpyrpc.ListMethod_Result - (*ParseFile_AST_Args)(nil), // 10: gpyrpc.ParseFile_AST_Args - (*ParseFile_AST_Result)(nil), // 11: gpyrpc.ParseFile_AST_Result - (*ParseProgram_AST_Args)(nil), // 12: gpyrpc.ParseProgram_AST_Args - (*ParseProgram_AST_Result)(nil), // 13: gpyrpc.ParseProgram_AST_Result - (*ExecProgram_Args)(nil), // 14: gpyrpc.ExecProgram_Args - (*ExecProgram_Result)(nil), // 15: gpyrpc.ExecProgram_Result - (*ResetPlugin_Args)(nil), // 16: gpyrpc.ResetPlugin_Args - (*ResetPlugin_Result)(nil), // 17: gpyrpc.ResetPlugin_Result - (*FormatCode_Args)(nil), // 18: gpyrpc.FormatCode_Args - (*FormatCode_Result)(nil), // 19: gpyrpc.FormatCode_Result - (*FormatPath_Args)(nil), // 20: gpyrpc.FormatPath_Args - (*FormatPath_Result)(nil), // 21: gpyrpc.FormatPath_Result - (*LintPath_Args)(nil), // 22: gpyrpc.LintPath_Args - (*LintPath_Result)(nil), // 23: gpyrpc.LintPath_Result - (*OverrideFile_Args)(nil), // 24: gpyrpc.OverrideFile_Args - (*OverrideFile_Result)(nil), // 25: gpyrpc.OverrideFile_Result - (*GetFullSchemaType_Args)(nil), // 26: gpyrpc.GetFullSchemaType_Args - (*GetSchemaType_Args)(nil), // 27: gpyrpc.GetSchemaType_Args - (*GetSchemaType_Result)(nil), // 28: gpyrpc.GetSchemaType_Result - (*GetSchemaTypeMapping_Args)(nil), // 29: gpyrpc.GetSchemaTypeMapping_Args - (*GetSchemaTypeMapping_Result)(nil), // 30: gpyrpc.GetSchemaTypeMapping_Result - (*ValidateCode_Args)(nil), // 31: gpyrpc.ValidateCode_Args - (*ValidateCode_Result)(nil), // 32: gpyrpc.ValidateCode_Result - (*Position)(nil), // 33: gpyrpc.Position - (*ListDepFiles_Args)(nil), // 34: gpyrpc.ListDepFiles_Args - (*ListDepFiles_Result)(nil), // 35: gpyrpc.ListDepFiles_Result - (*LoadSettingsFiles_Args)(nil), // 36: gpyrpc.LoadSettingsFiles_Args - (*LoadSettingsFiles_Result)(nil), // 37: gpyrpc.LoadSettingsFiles_Result - (*CliConfig)(nil), // 38: gpyrpc.CliConfig - (*KeyValuePair)(nil), // 39: gpyrpc.KeyValuePair - (*Rename_Args)(nil), // 40: gpyrpc.Rename_Args - (*Rename_Result)(nil), // 41: gpyrpc.Rename_Result - (*RenameCode_Args)(nil), // 42: gpyrpc.RenameCode_Args - (*RenameCode_Result)(nil), // 43: gpyrpc.RenameCode_Result - (*Test_Args)(nil), // 44: gpyrpc.Test_Args - (*Test_Result)(nil), // 45: gpyrpc.Test_Result - (*TestCaseInfo)(nil), // 46: gpyrpc.TestCaseInfo - (*KclType)(nil), // 47: gpyrpc.KclType - (*Decorator)(nil), // 48: gpyrpc.Decorator - (*Example)(nil), // 49: gpyrpc.Example - nil, // 50: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry - nil, // 51: gpyrpc.RenameCode_Args.SourceCodesEntry - nil, // 52: gpyrpc.RenameCode_Result.ChangedCodesEntry - nil, // 53: gpyrpc.KclType.PropertiesEntry - nil, // 54: gpyrpc.KclType.ExamplesEntry - nil, // 55: gpyrpc.Decorator.KeywordsEntry - (*anypb.Any)(nil), // 56: google.protobuf.Any + (*Error)(nil), // 3: gpyrpc.Error + (*Message)(nil), // 4: gpyrpc.Message + (*Ping_Args)(nil), // 5: gpyrpc.Ping_Args + (*Ping_Result)(nil), // 6: gpyrpc.Ping_Result + (*ListMethod_Args)(nil), // 7: gpyrpc.ListMethod_Args + (*ListMethod_Result)(nil), // 8: gpyrpc.ListMethod_Result + (*ParseFile_Args)(nil), // 9: gpyrpc.ParseFile_Args + (*ParseFile_Result)(nil), // 10: gpyrpc.ParseFile_Result + (*ParseProgram_Args)(nil), // 11: gpyrpc.ParseProgram_Args + (*ParseProgram_Result)(nil), // 12: gpyrpc.ParseProgram_Result + (*ExecProgram_Args)(nil), // 13: gpyrpc.ExecProgram_Args + (*ExecProgram_Result)(nil), // 14: gpyrpc.ExecProgram_Result + (*ResetPlugin_Args)(nil), // 15: gpyrpc.ResetPlugin_Args + (*ResetPlugin_Result)(nil), // 16: gpyrpc.ResetPlugin_Result + (*FormatCode_Args)(nil), // 17: gpyrpc.FormatCode_Args + (*FormatCode_Result)(nil), // 18: gpyrpc.FormatCode_Result + (*FormatPath_Args)(nil), // 19: gpyrpc.FormatPath_Args + (*FormatPath_Result)(nil), // 20: gpyrpc.FormatPath_Result + (*LintPath_Args)(nil), // 21: gpyrpc.LintPath_Args + (*LintPath_Result)(nil), // 22: gpyrpc.LintPath_Result + (*OverrideFile_Args)(nil), // 23: gpyrpc.OverrideFile_Args + (*OverrideFile_Result)(nil), // 24: gpyrpc.OverrideFile_Result + (*GetFullSchemaType_Args)(nil), // 25: gpyrpc.GetFullSchemaType_Args + (*GetSchemaType_Args)(nil), // 26: gpyrpc.GetSchemaType_Args + (*GetSchemaType_Result)(nil), // 27: gpyrpc.GetSchemaType_Result + (*GetSchemaTypeMapping_Args)(nil), // 28: gpyrpc.GetSchemaTypeMapping_Args + (*GetSchemaTypeMapping_Result)(nil), // 29: gpyrpc.GetSchemaTypeMapping_Result + (*ValidateCode_Args)(nil), // 30: gpyrpc.ValidateCode_Args + (*ValidateCode_Result)(nil), // 31: gpyrpc.ValidateCode_Result + (*Position)(nil), // 32: gpyrpc.Position + (*ListDepFiles_Args)(nil), // 33: gpyrpc.ListDepFiles_Args + (*ListDepFiles_Result)(nil), // 34: gpyrpc.ListDepFiles_Result + (*LoadSettingsFiles_Args)(nil), // 35: gpyrpc.LoadSettingsFiles_Args + (*LoadSettingsFiles_Result)(nil), // 36: gpyrpc.LoadSettingsFiles_Result + (*CliConfig)(nil), // 37: gpyrpc.CliConfig + (*KeyValuePair)(nil), // 38: gpyrpc.KeyValuePair + (*Rename_Args)(nil), // 39: gpyrpc.Rename_Args + (*Rename_Result)(nil), // 40: gpyrpc.Rename_Result + (*RenameCode_Args)(nil), // 41: gpyrpc.RenameCode_Args + (*RenameCode_Result)(nil), // 42: gpyrpc.RenameCode_Result + (*Test_Args)(nil), // 43: gpyrpc.Test_Args + (*Test_Result)(nil), // 44: gpyrpc.Test_Result + (*TestCaseInfo)(nil), // 45: gpyrpc.TestCaseInfo + (*KclType)(nil), // 46: gpyrpc.KclType + (*Decorator)(nil), // 47: gpyrpc.Decorator + (*Example)(nil), // 48: gpyrpc.Example + nil, // 49: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry + nil, // 50: gpyrpc.RenameCode_Args.SourceCodesEntry + nil, // 51: gpyrpc.RenameCode_Result.ChangedCodesEntry + nil, // 52: gpyrpc.KclType.PropertiesEntry + nil, // 53: gpyrpc.KclType.ExamplesEntry + nil, // 54: gpyrpc.Decorator.KeywordsEntry } var file_gpyrpc_proto_depIdxs = []int32{ - 56, // 0: gpyrpc.RestResponse.result:type_name -> google.protobuf.Any - 4, // 1: gpyrpc.RestResponse.kcl_err:type_name -> gpyrpc.KclError - 5, // 2: gpyrpc.KclError.error_infos:type_name -> gpyrpc.KclErrorInfo - 4, // 3: gpyrpc.ParseFile_AST_Result.kcl_err:type_name -> gpyrpc.KclError - 4, // 4: gpyrpc.ParseProgram_AST_Result.kcl_err:type_name -> gpyrpc.KclError - 1, // 5: gpyrpc.ExecProgram_Args.args:type_name -> gpyrpc.CmdArgSpec - 2, // 6: gpyrpc.ExecProgram_Args.overrides:type_name -> gpyrpc.CmdOverrideSpec - 0, // 7: gpyrpc.ExecProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec - 14, // 8: gpyrpc.GetFullSchemaType_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args - 47, // 9: gpyrpc.GetSchemaType_Result.schema_type_list:type_name -> gpyrpc.KclType - 50, // 10: gpyrpc.GetSchemaTypeMapping_Result.schema_type_mapping:type_name -> gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry - 38, // 11: gpyrpc.LoadSettingsFiles_Result.kcl_cli_configs:type_name -> gpyrpc.CliConfig - 39, // 12: gpyrpc.LoadSettingsFiles_Result.kcl_options:type_name -> gpyrpc.KeyValuePair - 51, // 13: gpyrpc.RenameCode_Args.source_codes:type_name -> gpyrpc.RenameCode_Args.SourceCodesEntry - 52, // 14: gpyrpc.RenameCode_Result.changed_codes:type_name -> gpyrpc.RenameCode_Result.ChangedCodesEntry - 14, // 15: gpyrpc.Test_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args - 46, // 16: gpyrpc.Test_Result.info:type_name -> gpyrpc.TestCaseInfo - 47, // 17: gpyrpc.KclType.union_types:type_name -> gpyrpc.KclType - 53, // 18: gpyrpc.KclType.properties:type_name -> gpyrpc.KclType.PropertiesEntry - 47, // 19: gpyrpc.KclType.key:type_name -> gpyrpc.KclType - 47, // 20: gpyrpc.KclType.item:type_name -> gpyrpc.KclType - 48, // 21: gpyrpc.KclType.decorators:type_name -> gpyrpc.Decorator - 54, // 22: gpyrpc.KclType.examples:type_name -> gpyrpc.KclType.ExamplesEntry - 55, // 23: gpyrpc.Decorator.keywords:type_name -> gpyrpc.Decorator.KeywordsEntry - 47, // 24: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry.value:type_name -> gpyrpc.KclType - 47, // 25: gpyrpc.KclType.PropertiesEntry.value:type_name -> gpyrpc.KclType - 49, // 26: gpyrpc.KclType.ExamplesEntry.value:type_name -> gpyrpc.Example - 6, // 27: gpyrpc.BuiltinService.Ping:input_type -> gpyrpc.Ping_Args - 8, // 28: gpyrpc.BuiltinService.ListMethod:input_type -> gpyrpc.ListMethod_Args - 6, // 29: gpyrpc.KclvmService.Ping:input_type -> gpyrpc.Ping_Args - 14, // 30: gpyrpc.KclvmService.ExecProgram:input_type -> gpyrpc.ExecProgram_Args - 18, // 31: gpyrpc.KclvmService.FormatCode:input_type -> gpyrpc.FormatCode_Args - 20, // 32: gpyrpc.KclvmService.FormatPath:input_type -> gpyrpc.FormatPath_Args - 22, // 33: gpyrpc.KclvmService.LintPath:input_type -> gpyrpc.LintPath_Args - 24, // 34: gpyrpc.KclvmService.OverrideFile:input_type -> gpyrpc.OverrideFile_Args - 27, // 35: gpyrpc.KclvmService.GetSchemaType:input_type -> gpyrpc.GetSchemaType_Args - 26, // 36: gpyrpc.KclvmService.GetFullSchemaType:input_type -> gpyrpc.GetFullSchemaType_Args - 29, // 37: gpyrpc.KclvmService.GetSchemaTypeMapping:input_type -> gpyrpc.GetSchemaTypeMapping_Args - 31, // 38: gpyrpc.KclvmService.ValidateCode:input_type -> gpyrpc.ValidateCode_Args - 34, // 39: gpyrpc.KclvmService.ListDepFiles:input_type -> gpyrpc.ListDepFiles_Args - 36, // 40: gpyrpc.KclvmService.LoadSettingsFiles:input_type -> gpyrpc.LoadSettingsFiles_Args - 40, // 41: gpyrpc.KclvmService.Rename:input_type -> gpyrpc.Rename_Args - 42, // 42: gpyrpc.KclvmService.RenameCode:input_type -> gpyrpc.RenameCode_Args - 44, // 43: gpyrpc.KclvmService.Test:input_type -> gpyrpc.Test_Args - 7, // 44: gpyrpc.BuiltinService.Ping:output_type -> gpyrpc.Ping_Result - 9, // 45: gpyrpc.BuiltinService.ListMethod:output_type -> gpyrpc.ListMethod_Result - 7, // 46: gpyrpc.KclvmService.Ping:output_type -> gpyrpc.Ping_Result - 15, // 47: gpyrpc.KclvmService.ExecProgram:output_type -> gpyrpc.ExecProgram_Result - 19, // 48: gpyrpc.KclvmService.FormatCode:output_type -> gpyrpc.FormatCode_Result - 21, // 49: gpyrpc.KclvmService.FormatPath:output_type -> gpyrpc.FormatPath_Result - 23, // 50: gpyrpc.KclvmService.LintPath:output_type -> gpyrpc.LintPath_Result - 25, // 51: gpyrpc.KclvmService.OverrideFile:output_type -> gpyrpc.OverrideFile_Result - 28, // 52: gpyrpc.KclvmService.GetSchemaType:output_type -> gpyrpc.GetSchemaType_Result - 28, // 53: gpyrpc.KclvmService.GetFullSchemaType:output_type -> gpyrpc.GetSchemaType_Result - 30, // 54: gpyrpc.KclvmService.GetSchemaTypeMapping:output_type -> gpyrpc.GetSchemaTypeMapping_Result - 32, // 55: gpyrpc.KclvmService.ValidateCode:output_type -> gpyrpc.ValidateCode_Result - 35, // 56: gpyrpc.KclvmService.ListDepFiles:output_type -> gpyrpc.ListDepFiles_Result - 37, // 57: gpyrpc.KclvmService.LoadSettingsFiles:output_type -> gpyrpc.LoadSettingsFiles_Result - 41, // 58: gpyrpc.KclvmService.Rename:output_type -> gpyrpc.Rename_Result - 43, // 59: gpyrpc.KclvmService.RenameCode:output_type -> gpyrpc.RenameCode_Result - 45, // 60: gpyrpc.KclvmService.Test:output_type -> gpyrpc.Test_Result - 44, // [44:61] is the sub-list for method output_type - 27, // [27:44] is the sub-list for method input_type - 27, // [27:27] is the sub-list for extension type_name - 27, // [27:27] is the sub-list for extension extendee - 0, // [0:27] is the sub-list for field type_name + 4, // 0: gpyrpc.Error.messages:type_name -> gpyrpc.Message + 32, // 1: gpyrpc.Message.pos:type_name -> gpyrpc.Position + 0, // 2: gpyrpc.ParseFile_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec + 3, // 3: gpyrpc.ParseFile_Result.errors:type_name -> gpyrpc.Error + 0, // 4: gpyrpc.ParseProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec + 3, // 5: gpyrpc.ParseProgram_Result.errors:type_name -> gpyrpc.Error + 1, // 6: gpyrpc.ExecProgram_Args.args:type_name -> gpyrpc.CmdArgSpec + 2, // 7: gpyrpc.ExecProgram_Args.overrides:type_name -> gpyrpc.CmdOverrideSpec + 0, // 8: gpyrpc.ExecProgram_Args.external_pkgs:type_name -> gpyrpc.CmdExternalPkgSpec + 13, // 9: gpyrpc.GetFullSchemaType_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args + 46, // 10: gpyrpc.GetSchemaType_Result.schema_type_list:type_name -> gpyrpc.KclType + 49, // 11: gpyrpc.GetSchemaTypeMapping_Result.schema_type_mapping:type_name -> gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry + 37, // 12: gpyrpc.LoadSettingsFiles_Result.kcl_cli_configs:type_name -> gpyrpc.CliConfig + 38, // 13: gpyrpc.LoadSettingsFiles_Result.kcl_options:type_name -> gpyrpc.KeyValuePair + 50, // 14: gpyrpc.RenameCode_Args.source_codes:type_name -> gpyrpc.RenameCode_Args.SourceCodesEntry + 51, // 15: gpyrpc.RenameCode_Result.changed_codes:type_name -> gpyrpc.RenameCode_Result.ChangedCodesEntry + 13, // 16: gpyrpc.Test_Args.exec_args:type_name -> gpyrpc.ExecProgram_Args + 45, // 17: gpyrpc.Test_Result.info:type_name -> gpyrpc.TestCaseInfo + 46, // 18: gpyrpc.KclType.union_types:type_name -> gpyrpc.KclType + 52, // 19: gpyrpc.KclType.properties:type_name -> gpyrpc.KclType.PropertiesEntry + 46, // 20: gpyrpc.KclType.key:type_name -> gpyrpc.KclType + 46, // 21: gpyrpc.KclType.item:type_name -> gpyrpc.KclType + 47, // 22: gpyrpc.KclType.decorators:type_name -> gpyrpc.Decorator + 53, // 23: gpyrpc.KclType.examples:type_name -> gpyrpc.KclType.ExamplesEntry + 54, // 24: gpyrpc.Decorator.keywords:type_name -> gpyrpc.Decorator.KeywordsEntry + 46, // 25: gpyrpc.GetSchemaTypeMapping_Result.SchemaTypeMappingEntry.value:type_name -> gpyrpc.KclType + 46, // 26: gpyrpc.KclType.PropertiesEntry.value:type_name -> gpyrpc.KclType + 48, // 27: gpyrpc.KclType.ExamplesEntry.value:type_name -> gpyrpc.Example + 5, // 28: gpyrpc.BuiltinService.Ping:input_type -> gpyrpc.Ping_Args + 7, // 29: gpyrpc.BuiltinService.ListMethod:input_type -> gpyrpc.ListMethod_Args + 5, // 30: gpyrpc.KclvmService.Ping:input_type -> gpyrpc.Ping_Args + 13, // 31: gpyrpc.KclvmService.ExecProgram:input_type -> gpyrpc.ExecProgram_Args + 9, // 32: gpyrpc.KclvmService.ParseFile:input_type -> gpyrpc.ParseFile_Args + 11, // 33: gpyrpc.KclvmService.ParseProgram:input_type -> gpyrpc.ParseProgram_Args + 17, // 34: gpyrpc.KclvmService.FormatCode:input_type -> gpyrpc.FormatCode_Args + 19, // 35: gpyrpc.KclvmService.FormatPath:input_type -> gpyrpc.FormatPath_Args + 21, // 36: gpyrpc.KclvmService.LintPath:input_type -> gpyrpc.LintPath_Args + 23, // 37: gpyrpc.KclvmService.OverrideFile:input_type -> gpyrpc.OverrideFile_Args + 26, // 38: gpyrpc.KclvmService.GetSchemaType:input_type -> gpyrpc.GetSchemaType_Args + 25, // 39: gpyrpc.KclvmService.GetFullSchemaType:input_type -> gpyrpc.GetFullSchemaType_Args + 28, // 40: gpyrpc.KclvmService.GetSchemaTypeMapping:input_type -> gpyrpc.GetSchemaTypeMapping_Args + 30, // 41: gpyrpc.KclvmService.ValidateCode:input_type -> gpyrpc.ValidateCode_Args + 33, // 42: gpyrpc.KclvmService.ListDepFiles:input_type -> gpyrpc.ListDepFiles_Args + 35, // 43: gpyrpc.KclvmService.LoadSettingsFiles:input_type -> gpyrpc.LoadSettingsFiles_Args + 39, // 44: gpyrpc.KclvmService.Rename:input_type -> gpyrpc.Rename_Args + 41, // 45: gpyrpc.KclvmService.RenameCode:input_type -> gpyrpc.RenameCode_Args + 43, // 46: gpyrpc.KclvmService.Test:input_type -> gpyrpc.Test_Args + 6, // 47: gpyrpc.BuiltinService.Ping:output_type -> gpyrpc.Ping_Result + 8, // 48: gpyrpc.BuiltinService.ListMethod:output_type -> gpyrpc.ListMethod_Result + 6, // 49: gpyrpc.KclvmService.Ping:output_type -> gpyrpc.Ping_Result + 14, // 50: gpyrpc.KclvmService.ExecProgram:output_type -> gpyrpc.ExecProgram_Result + 10, // 51: gpyrpc.KclvmService.ParseFile:output_type -> gpyrpc.ParseFile_Result + 12, // 52: gpyrpc.KclvmService.ParseProgram:output_type -> gpyrpc.ParseProgram_Result + 18, // 53: gpyrpc.KclvmService.FormatCode:output_type -> gpyrpc.FormatCode_Result + 20, // 54: gpyrpc.KclvmService.FormatPath:output_type -> gpyrpc.FormatPath_Result + 22, // 55: gpyrpc.KclvmService.LintPath:output_type -> gpyrpc.LintPath_Result + 24, // 56: gpyrpc.KclvmService.OverrideFile:output_type -> gpyrpc.OverrideFile_Result + 27, // 57: gpyrpc.KclvmService.GetSchemaType:output_type -> gpyrpc.GetSchemaType_Result + 27, // 58: gpyrpc.KclvmService.GetFullSchemaType:output_type -> gpyrpc.GetSchemaType_Result + 29, // 59: gpyrpc.KclvmService.GetSchemaTypeMapping:output_type -> gpyrpc.GetSchemaTypeMapping_Result + 31, // 60: gpyrpc.KclvmService.ValidateCode:output_type -> gpyrpc.ValidateCode_Result + 34, // 61: gpyrpc.KclvmService.ListDepFiles:output_type -> gpyrpc.ListDepFiles_Result + 36, // 62: gpyrpc.KclvmService.LoadSettingsFiles:output_type -> gpyrpc.LoadSettingsFiles_Result + 40, // 63: gpyrpc.KclvmService.Rename:output_type -> gpyrpc.Rename_Result + 42, // 64: gpyrpc.KclvmService.RenameCode:output_type -> gpyrpc.RenameCode_Result + 44, // 65: gpyrpc.KclvmService.Test:output_type -> gpyrpc.Test_Result + 47, // [47:66] is the sub-list for method output_type + 28, // [28:47] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_gpyrpc_proto_init() } @@ -3833,7 +3756,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestResponse); i { + switch v := v.(*Error); i { case 0: return &v.state case 1: @@ -3845,7 +3768,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KclError); i { + switch v := v.(*Message); i { case 0: return &v.state case 1: @@ -3857,7 +3780,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KclErrorInfo); i { + switch v := v.(*Ping_Args); i { case 0: return &v.state case 1: @@ -3869,7 +3792,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ping_Args); i { + switch v := v.(*Ping_Result); i { case 0: return &v.state case 1: @@ -3881,7 +3804,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ping_Result); i { + switch v := v.(*ListMethod_Args); i { case 0: return &v.state case 1: @@ -3893,7 +3816,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMethod_Args); i { + switch v := v.(*ListMethod_Result); i { case 0: return &v.state case 1: @@ -3905,7 +3828,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMethod_Result); i { + switch v := v.(*ParseFile_Args); i { case 0: return &v.state case 1: @@ -3917,7 +3840,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParseFile_AST_Args); i { + switch v := v.(*ParseFile_Result); i { case 0: return &v.state case 1: @@ -3929,7 +3852,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParseFile_AST_Result); i { + switch v := v.(*ParseProgram_Args); i { case 0: return &v.state case 1: @@ -3941,7 +3864,7 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParseProgram_AST_Args); i { + switch v := v.(*ParseProgram_Result); i { case 0: return &v.state case 1: @@ -3953,18 +3876,6 @@ func file_gpyrpc_proto_init() { } } file_gpyrpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParseProgram_AST_Result); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_gpyrpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecProgram_Args); i { case 0: return &v.state @@ -3976,7 +3887,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecProgram_Result); i { case 0: return &v.state @@ -3988,7 +3899,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetPlugin_Args); i { case 0: return &v.state @@ -4000,7 +3911,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetPlugin_Result); i { case 0: return &v.state @@ -4012,7 +3923,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormatCode_Args); i { case 0: return &v.state @@ -4024,7 +3935,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormatCode_Result); i { case 0: return &v.state @@ -4036,7 +3947,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormatPath_Args); i { case 0: return &v.state @@ -4048,7 +3959,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FormatPath_Result); i { case 0: return &v.state @@ -4060,7 +3971,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LintPath_Args); i { case 0: return &v.state @@ -4072,7 +3983,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LintPath_Result); i { case 0: return &v.state @@ -4084,7 +3995,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverrideFile_Args); i { case 0: return &v.state @@ -4096,7 +4007,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OverrideFile_Result); i { case 0: return &v.state @@ -4108,7 +4019,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFullSchemaType_Args); i { case 0: return &v.state @@ -4120,7 +4031,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSchemaType_Args); i { case 0: return &v.state @@ -4132,7 +4043,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSchemaType_Result); i { case 0: return &v.state @@ -4144,7 +4055,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSchemaTypeMapping_Args); i { case 0: return &v.state @@ -4156,7 +4067,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSchemaTypeMapping_Result); i { case 0: return &v.state @@ -4168,7 +4079,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateCode_Args); i { case 0: return &v.state @@ -4180,7 +4091,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateCode_Result); i { case 0: return &v.state @@ -4192,7 +4103,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Position); i { case 0: return &v.state @@ -4204,7 +4115,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDepFiles_Args); i { case 0: return &v.state @@ -4216,7 +4127,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDepFiles_Result); i { case 0: return &v.state @@ -4228,7 +4139,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadSettingsFiles_Args); i { case 0: return &v.state @@ -4240,7 +4151,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadSettingsFiles_Result); i { case 0: return &v.state @@ -4252,7 +4163,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CliConfig); i { case 0: return &v.state @@ -4264,7 +4175,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeyValuePair); i { case 0: return &v.state @@ -4276,7 +4187,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rename_Args); i { case 0: return &v.state @@ -4288,7 +4199,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rename_Result); i { case 0: return &v.state @@ -4300,7 +4211,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenameCode_Args); i { case 0: return &v.state @@ -4312,7 +4223,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenameCode_Result); i { case 0: return &v.state @@ -4324,7 +4235,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Test_Args); i { case 0: return &v.state @@ -4336,7 +4247,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Test_Result); i { case 0: return &v.state @@ -4348,7 +4259,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestCaseInfo); i { case 0: return &v.state @@ -4360,7 +4271,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KclType); i { case 0: return &v.state @@ -4372,7 +4283,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Decorator); i { case 0: return &v.state @@ -4384,7 +4295,7 @@ func file_gpyrpc_proto_init() { return nil } } - file_gpyrpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_gpyrpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Example); i { case 0: return &v.state @@ -4403,7 +4314,7 @@ func file_gpyrpc_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_gpyrpc_proto_rawDesc, NumEnums: 0, - NumMessages: 56, + NumMessages: 55, NumExtensions: 0, NumServices: 2, }, @@ -4539,6 +4450,8 @@ var _BuiltinService_serviceDesc = grpc.ServiceDesc{ type KclvmServiceClient interface { Ping(ctx context.Context, in *Ping_Args, opts ...grpc.CallOption) (*Ping_Result, error) ExecProgram(ctx context.Context, in *ExecProgram_Args, opts ...grpc.CallOption) (*ExecProgram_Result, error) + ParseFile(ctx context.Context, in *ParseFile_Args, opts ...grpc.CallOption) (*ParseFile_Result, error) + ParseProgram(ctx context.Context, in *ParseProgram_Args, opts ...grpc.CallOption) (*ParseProgram_Result, error) FormatCode(ctx context.Context, in *FormatCode_Args, opts ...grpc.CallOption) (*FormatCode_Result, error) FormatPath(ctx context.Context, in *FormatPath_Args, opts ...grpc.CallOption) (*FormatPath_Result, error) LintPath(ctx context.Context, in *LintPath_Args, opts ...grpc.CallOption) (*LintPath_Result, error) @@ -4580,6 +4493,24 @@ func (c *kclvmServiceClient) ExecProgram(ctx context.Context, in *ExecProgram_Ar return out, nil } +func (c *kclvmServiceClient) ParseFile(ctx context.Context, in *ParseFile_Args, opts ...grpc.CallOption) (*ParseFile_Result, error) { + out := new(ParseFile_Result) + err := c.cc.Invoke(ctx, "/gpyrpc.KclvmService/ParseFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *kclvmServiceClient) ParseProgram(ctx context.Context, in *ParseProgram_Args, opts ...grpc.CallOption) (*ParseProgram_Result, error) { + out := new(ParseProgram_Result) + err := c.cc.Invoke(ctx, "/gpyrpc.KclvmService/ParseProgram", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *kclvmServiceClient) FormatCode(ctx context.Context, in *FormatCode_Args, opts ...grpc.CallOption) (*FormatCode_Result, error) { out := new(FormatCode_Result) err := c.cc.Invoke(ctx, "/gpyrpc.KclvmService/FormatCode", in, out, opts...) @@ -4701,6 +4632,8 @@ func (c *kclvmServiceClient) Test(ctx context.Context, in *Test_Args, opts ...gr type KclvmServiceServer interface { Ping(context.Context, *Ping_Args) (*Ping_Result, error) ExecProgram(context.Context, *ExecProgram_Args) (*ExecProgram_Result, error) + ParseFile(context.Context, *ParseFile_Args) (*ParseFile_Result, error) + ParseProgram(context.Context, *ParseProgram_Args) (*ParseProgram_Result, error) FormatCode(context.Context, *FormatCode_Args) (*FormatCode_Result, error) FormatPath(context.Context, *FormatPath_Args) (*FormatPath_Result, error) LintPath(context.Context, *LintPath_Args) (*LintPath_Result, error) @@ -4726,6 +4659,12 @@ func (*UnimplementedKclvmServiceServer) Ping(context.Context, *Ping_Args) (*Ping func (*UnimplementedKclvmServiceServer) ExecProgram(context.Context, *ExecProgram_Args) (*ExecProgram_Result, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecProgram not implemented") } +func (*UnimplementedKclvmServiceServer) ParseFile(context.Context, *ParseFile_Args) (*ParseFile_Result, error) { + return nil, status.Errorf(codes.Unimplemented, "method ParseFile not implemented") +} +func (*UnimplementedKclvmServiceServer) ParseProgram(context.Context, *ParseProgram_Args) (*ParseProgram_Result, error) { + return nil, status.Errorf(codes.Unimplemented, "method ParseProgram not implemented") +} func (*UnimplementedKclvmServiceServer) FormatCode(context.Context, *FormatCode_Args) (*FormatCode_Result, error) { return nil, status.Errorf(codes.Unimplemented, "method FormatCode not implemented") } @@ -4806,6 +4745,42 @@ func _KclvmService_ExecProgram_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _KclvmService_ParseFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ParseFile_Args) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KclvmServiceServer).ParseFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gpyrpc.KclvmService/ParseFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KclvmServiceServer).ParseFile(ctx, req.(*ParseFile_Args)) + } + return interceptor(ctx, in, info, handler) +} + +func _KclvmService_ParseProgram_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ParseProgram_Args) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(KclvmServiceServer).ParseProgram(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gpyrpc.KclvmService/ParseProgram", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(KclvmServiceServer).ParseProgram(ctx, req.(*ParseProgram_Args)) + } + return interceptor(ctx, in, info, handler) +} + func _KclvmService_FormatCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FormatCode_Args) if err := dec(in); err != nil { @@ -5052,6 +5027,14 @@ var _KclvmService_serviceDesc = grpc.ServiceDesc{ MethodName: "ExecProgram", Handler: _KclvmService_ExecProgram_Handler, }, + { + MethodName: "ParseFile", + Handler: _KclvmService_ParseFile_Handler, + }, + { + MethodName: "ParseProgram", + Handler: _KclvmService_ParseProgram_Handler, + }, { MethodName: "FormatCode", Handler: _KclvmService_FormatCode_Handler, diff --git a/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go b/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go index f8cd36e2..43eca21e 100644 --- a/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go +++ b/pkg/spec/gpyrpc/gpyrpc.pb.protorpc.go @@ -213,6 +213,7 @@ func PROTORPC_DialBuiltinServiceTimeout(network, addr string, timeout time.Durat type PROTORPC_KclvmService interface { Ping(in *Ping_Args, out *Ping_Result) error ExecProgram(in *ExecProgram_Args, out *ExecProgram_Result) error + ParseProgram(in *ParseProgram_Args, out *ParseProgram_Result) error FormatCode(in *FormatCode_Args, out *FormatCode_Result) error FormatPath(in *FormatPath_Args, out *FormatPath_Result) error LintPath(in *LintPath_Args, out *LintPath_Result) error @@ -384,6 +385,84 @@ func (c *PROTORPC_KclvmServiceClient) AsyncExecProgram(in *ExecProgram_Args, out ) } +func (c *PROTORPC_KclvmServiceClient) ParseFile(in *ParseFile_Args) (out *ParseFile_Result, err error) { + if in == nil { + in = new(ParseFile_Args) + } + + type Validator interface { + Validate() error + } + if x, ok := proto.Message(in).(Validator); ok { + if err := x.Validate(); err != nil { + return nil, err + } + } + + out = new(ParseFile_Result) + if err = c.Call("KclvmService.ParseFile", in, out); err != nil { + return nil, err + } + + if x, ok := proto.Message(out).(Validator); ok { + if err := x.Validate(); err != nil { + return out, err + } + } + + return out, nil +} + +func (c *PROTORPC_KclvmServiceClient) AsyncParseFile(in *ParseFile_Args, out *ParseFile_Result, done chan *rpc.Call) *rpc.Call { + if in == nil { + in = new(ParseFile_Args) + } + return c.Go( + "KclvmService.ParseFile", + in, out, + done, + ) +} + +func (c *PROTORPC_KclvmServiceClient) ParseProgram(in *ParseProgram_Args) (out *ParseProgram_Result, err error) { + if in == nil { + in = new(ParseProgram_Args) + } + + type Validator interface { + Validate() error + } + if x, ok := proto.Message(in).(Validator); ok { + if err := x.Validate(); err != nil { + return nil, err + } + } + + out = new(ParseProgram_Result) + if err = c.Call("KclvmService.ParseProgram", in, out); err != nil { + return nil, err + } + + if x, ok := proto.Message(out).(Validator); ok { + if err := x.Validate(); err != nil { + return out, err + } + } + + return out, nil +} + +func (c *PROTORPC_KclvmServiceClient) AsyncParseProgram(in *ParseProgram_Args, out *ParseProgram_Result, done chan *rpc.Call) *rpc.Call { + if in == nil { + in = new(ParseProgram_Args) + } + return c.Go( + "KclvmService.ParseProgram", + in, out, + done, + ) +} + func (c *PROTORPC_KclvmServiceClient) FormatCode(in *FormatCode_Args) (out *FormatCode_Result, err error) { if in == nil { in = new(FormatCode_Args) diff --git a/pkg/spec/gpyrpc/gpyrpc.proto b/pkg/spec/gpyrpc/gpyrpc.proto index 20406a35..2e9137b7 100644 --- a/pkg/spec/gpyrpc/gpyrpc.proto +++ b/pkg/spec/gpyrpc/gpyrpc.proto @@ -8,10 +8,6 @@ package gpyrpc; option go_package = "kcl-lang.io/kcl-go/pkg/spec/gpyrpc;gpyrpc"; -import "google/protobuf/any.proto"; -import "google/protobuf/descriptor.proto"; - -// ---------------------------------------------------------------------------- // kcl main.k -E pkg_name=pkg_path message CmdExternalPkgSpec { @@ -34,29 +30,18 @@ message CmdOverrideSpec { } // ---------------------------------------------------------------------------- -// gpyrpc request/response/error types +// Error types // ---------------------------------------------------------------------------- -message RestResponse { - google.protobuf.Any result = 1; - string error = 2; - KclError kcl_err = 3; -} - -message KclError { - string ewcode = 1; // See kclvm/kcl/error/kcl_err_msg.py - string name = 2; - string msg = 3; - repeated KclErrorInfo error_infos = 4; +message Error { + string level = 1; + string code = 2; + repeated Message messages = 3; } -message KclErrorInfo { - string err_level = 1; - string arg_msg = 2; - string filename = 3; - string src_code = 4; - string line_no = 5; - string col_no = 6; +message Message { + string msg = 1; + Position pos = 2; } // ---------------------------------------------------------------------------- @@ -75,6 +60,9 @@ service KclvmService { rpc ExecProgram(ExecProgram_Args) returns(ExecProgram_Result); + rpc ParseFile(ParseFile_Args) returns(ParseFile_Result); + rpc ParseProgram(ParseProgram_Args) returns(ParseProgram_Result); + rpc FormatCode(FormatCode_Args) returns(FormatCode_Result); rpc FormatPath(FormatPath_Args) returns(FormatPath_Result); rpc LintPath(LintPath_Args) returns(LintPath_Result); @@ -108,21 +96,28 @@ message ListMethod_Result { repeated string method_name_list = 1; } -message ParseFile_AST_Args { - string filename = 1; - string source_code = 2; +message ParseFile_Args { + string path = 1; + string source = 2; + repeated CmdExternalPkgSpec external_pkgs = 3; // External packages path } -message ParseFile_AST_Result { - string ast_json = 1; // json value - KclError kcl_err = 2; + +message ParseFile_Result { + string ast_json = 1; // JSON string value + repeated string deps = 2; // file dependency paths + repeated Error errors = 3; // Parse errors } -message ParseProgram_AST_Args { - repeated string k_filename_list = 1; +message ParseProgram_Args { + repeated string paths = 1; + repeated string sources = 2; + repeated CmdExternalPkgSpec external_pkgs = 3; // External packages path } -message ParseProgram_AST_Result { - string ast_json = 1; // json value - KclError kcl_err = 2; + +message ParseProgram_Result { + string ast_json = 1; // JSON string value + repeated string paths = 2; // Return the files in the order they should be compiled + repeated Error errors = 3; // Parse errors } message ExecProgram_Args { @@ -161,9 +156,6 @@ message ExecProgram_Args { // Whether only compiling the program bool compile_only = 15; - // Compile the dir recursively - bool recursive = 16; - // -S --path_selector repeated string path_selector = 17; } diff --git a/pkg/tools/lint/lint.go b/pkg/tools/lint/lint.go index 2847d22c..5bd1159f 100644 --- a/pkg/tools/lint/lint.go +++ b/pkg/tools/lint/lint.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package lint diff --git a/pkg/tools/lint/lint_test.go b/pkg/tools/lint/lint_test.go index 41a77553..c77d2047 100644 --- a/pkg/tools/lint/lint_test.go +++ b/pkg/tools/lint/lint_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package lint diff --git a/pkg/tools/list/dep_parser.go b/pkg/tools/list/dep_parser.go index 958ec67b..5ef8ff74 100644 --- a/pkg/tools/list/dep_parser.go +++ b/pkg/tools/list/dep_parser.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/list/dep_parser_helper_test.go b/pkg/tools/list/dep_parser_helper_test.go index ab9d01e8..b1107b3b 100644 --- a/pkg/tools/list/dep_parser_helper_test.go +++ b/pkg/tools/list/dep_parser_helper_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/list/dep_parser_test.go b/pkg/tools/list/dep_parser_test.go index fb8c77eb..ab621f43 100644 --- a/pkg/tools/list/dep_parser_test.go +++ b/pkg/tools/list/dep_parser_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/list/import_dep_parser.go b/pkg/tools/list/import_dep_parser.go index a13744d4..9be0b4e4 100644 --- a/pkg/tools/list/import_dep_parser.go +++ b/pkg/tools/list/import_dep_parser.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/list/list_test.go b/pkg/tools/list/list_test.go index e0f4496d..f97eb1d9 100644 --- a/pkg/tools/list/list_test.go +++ b/pkg/tools/list/list_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list @@ -32,43 +32,6 @@ func TestListDepFiles(t *testing.T) { } } -// TODO: https://github.com/kcl-lang/kcl-go/issues/74 -/* -func TestListDepFiles_restful(t *testing.T) { - var args = gpyrpc.ListDepFiles_Args{ - WorkDir: "../../../testdata/app0", - UseAbsPath: false, - IncludeAll: false, - UseFastParser: true, - } - var result gpyrpc.ListDepFiles_Result - - var err = service.CallRestMethod( - "http://"+tRestServerAddr, "KclvmService.ListDepFiles", - &args, &result, - ) - if err != nil { - t.Fatal(err) - } - - files := result.Files - - expect := []string{ - "main.k", - "app0/before/base.k", - "app0/main.k", - "app0/sub/sub.k", - } - - sort.Strings(files) - sort.Strings(expect) - - if !reflect.DeepEqual(files, expect) { - t.Fatalf("\nexpect = %v\ngot = %v", expect, files) - } -} -*/ - func TestListDepFiles_failed(t *testing.T) { _, err := ListDepFiles("../../../testdata/app0-failed", nil) if err == nil { @@ -81,35 +44,9 @@ func TestListDepFiles_failed(t *testing.T) { } } -// TODO: https://github.com/kcl-lang/kcl-go/issues/74 -/* -func TestListDepFiles_restfulFailed(t *testing.T) { - var args = gpyrpc.ListDepFiles_Args{ - WorkDir: "../../../testdata/app0-failed", - UseAbsPath: false, - IncludeAll: false, - UseFastParser: true, - } - var result gpyrpc.ListDepFiles_Result - - var err = service.CallRestMethod( - "http://"+tRestServerAddr, "KclvmService.ListDepFiles", - &args, &result, - ) - if err == nil { - t.Fatal("expect error, got nil") - } - - expectErrMsg := "package app0-failed/sub_not_found: no kcl file" - if !strings.Contains(err.Error(), expectErrMsg) { - t.Fatalf("expect %q, got %q", expectErrMsg, err) - } -} -*/ - func TestNewDepParser(t *testing.T) { - dp := NewDepParser("../../../testdata_import_builtin", Option{ + dp := NewDepParser("../../../testdata/import_builtin", Option{ KclYaml: "kcl.yaml", ProjectYaml: "project.yaml", }) diff --git a/pkg/tools/list/pkg_info.go b/pkg/tools/list/pkg_info.go index dc650083..5ad4294e 100644 --- a/pkg/tools/list/pkg_info.go +++ b/pkg/tools/list/pkg_info.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/list/single_app_dep_parser.go b/pkg/tools/list/single_app_dep_parser.go index 02956114..5b6c2596 100644 --- a/pkg/tools/list/single_app_dep_parser.go +++ b/pkg/tools/list/single_app_dep_parser.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package list diff --git a/pkg/tools/override/override.go b/pkg/tools/override/override.go index 151f0da6..eb84f27a 100644 --- a/pkg/tools/override/override.go +++ b/pkg/tools/override/override.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package override diff --git a/pkg/tools/override/override_test.go b/pkg/tools/override/override_test.go index 4e949b3d..d0cc2738 100644 --- a/pkg/tools/override/override_test.go +++ b/pkg/tools/override/override_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package override diff --git a/pkg/tools/validate/validate_test.go b/pkg/tools/validate/validate_test.go index 74627b0b..830298a6 100644 --- a/pkg/tools/validate/validate_test.go +++ b/pkg/tools/validate/validate_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package validate diff --git a/pkg/utils/assert.go b/pkg/utils/assert.go index 09f890c5..5cb4377f 100644 --- a/pkg/utils/assert.go +++ b/pkg/utils/assert.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package utils diff --git a/pkg/utils/pkg_path_test.go b/pkg/utils/pkg_path_test.go index b36344d1..3a3e515f 100644 --- a/pkg/utils/pkg_path_test.go +++ b/pkg/utils/pkg_path_test.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package utils diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index d52eb8e9..5f86e8a1 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -1,3 +1,3 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package utils diff --git a/scripts/kclvm.go b/scripts/kclvm.go index 74b7f5f9..b04ea7db 100644 --- a/scripts/kclvm.go +++ b/scripts/kclvm.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package scripts diff --git a/scripts/util_unzip.go b/scripts/util_unzip.go index 85099406..65c5cbd6 100644 --- a/scripts/util_unzip.go +++ b/scripts/util_unzip.go @@ -1,4 +1,4 @@ -// Copyright 2021 The KCL Authors. All rights reserved. +// Copyright The KCL Authors. All rights reserved. package scripts diff --git a/testdata_external/external_1/kcl.mod b/testdata/external/external_1/kcl.mod similarity index 100% rename from testdata_external/external_1/kcl.mod rename to testdata/external/external_1/kcl.mod diff --git a/testdata_external/external_1/main.k b/testdata/external/external_1/main.k similarity index 100% rename from testdata_external/external_1/main.k rename to testdata/external/external_1/main.k diff --git a/testdata_external/external_2/kcl.mod b/testdata/external/external_2/kcl.mod similarity index 100% rename from testdata_external/external_2/kcl.mod rename to testdata/external/external_2/kcl.mod diff --git a/testdata_external/external_2/main.k b/testdata/external/external_2/main.k similarity index 100% rename from testdata_external/external_2/main.k rename to testdata/external/external_2/main.k diff --git a/testdata_import_builtin/entry/main.k b/testdata/import_builtin/entry/main.k similarity index 100% rename from testdata_import_builtin/entry/main.k rename to testdata/import_builtin/entry/main.k diff --git a/testdata_import_builtin/kcl.mod b/testdata/import_builtin/kcl.mod similarity index 100% rename from testdata_import_builtin/kcl.mod rename to testdata/import_builtin/kcl.mod diff --git a/testdata_import_builtin/sub/main.k b/testdata/import_builtin/sub/main.k similarity index 100% rename from testdata_import_builtin/sub/main.k rename to testdata/import_builtin/sub/main.k