diff --git a/campusapis/staff/v1/campus.pb.go b/campusapis/staff/v1/campus.pb.go index 9264d8c..88add47 100644 --- a/campusapis/staff/v1/campus.pb.go +++ b/campusapis/staff/v1/campus.pb.go @@ -5345,6 +5345,179 @@ func (x *ListFitnessScoresResponse) GetData() []*FitnessScore { return nil } +// ModifyFitnessScoreRequest 修改体测成绩请求 +type ModifyFitnessScoreRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + StaffId string `protobuf:"bytes,1,opt,name=staffId,proto3" json:"staffId,omitempty"` + SchoolYear string `protobuf:"bytes,2,opt,name=schoolYear,proto3" json:"schoolYear,omitempty"` + Semester string `protobuf:"bytes,3,opt,name=semester,proto3" json:"semester,omitempty"` + Gender string `protobuf:"bytes,4,opt,name=gender,proto3" json:"gender,omitempty"` + Grade int32 `protobuf:"varint,5,opt,name=grade,proto3" json:"grade,omitempty"` + Height float32 `protobuf:"fixed32,6,opt,name=height,proto3" json:"height,omitempty"` + Weight float32 `protobuf:"fixed32,7,opt,name=weight,proto3" json:"weight,omitempty"` + Bmi float32 `protobuf:"fixed32,8,opt,name=bmi,proto3" json:"bmi,omitempty"` + Run50M float32 `protobuf:"fixed32,9,opt,name=run50m,proto3" json:"run50m,omitempty"` + StandingLongJump float32 `protobuf:"fixed32,10,opt,name=standingLongJump,proto3" json:"standingLongJump,omitempty"` + SitAndReach float32 `protobuf:"fixed32,11,opt,name=sitAndReach,proto3" json:"sitAndReach,omitempty"` + Run800M float32 `protobuf:"fixed32,12,opt,name=run800m,proto3" json:"run800m,omitempty"` + Run1000M float32 `protobuf:"fixed32,13,opt,name=run1000m,proto3" json:"run1000m,omitempty"` + SitUps int32 `protobuf:"varint,14,opt,name=sitUps,proto3" json:"sitUps,omitempty"` + PullUps int32 `protobuf:"varint,15,opt,name=pullUps,proto3" json:"pullUps,omitempty"` + LungCapacity int32 `protobuf:"varint,16,opt,name=lungCapacity,proto3" json:"lungCapacity,omitempty"` + TotalScore float32 `protobuf:"fixed32,17,opt,name=totalScore,proto3" json:"totalScore,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyFitnessScoreRequest) Reset() { + *x = ModifyFitnessScoreRequest{} + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyFitnessScoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyFitnessScoreRequest) ProtoMessage() {} + +func (x *ModifyFitnessScoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModifyFitnessScoreRequest.ProtoReflect.Descriptor instead. +func (*ModifyFitnessScoreRequest) Descriptor() ([]byte, []int) { + return file_campusapis_staff_v1_campus_proto_rawDescGZIP(), []int{72} +} + +func (x *ModifyFitnessScoreRequest) GetStaffId() string { + if x != nil { + return x.StaffId + } + return "" +} + +func (x *ModifyFitnessScoreRequest) GetSchoolYear() string { + if x != nil { + return x.SchoolYear + } + return "" +} + +func (x *ModifyFitnessScoreRequest) GetSemester() string { + if x != nil { + return x.Semester + } + return "" +} + +func (x *ModifyFitnessScoreRequest) GetGender() string { + if x != nil { + return x.Gender + } + return "" +} + +func (x *ModifyFitnessScoreRequest) GetGrade() int32 { + if x != nil { + return x.Grade + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetHeight() float32 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetWeight() float32 { + if x != nil { + return x.Weight + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetBmi() float32 { + if x != nil { + return x.Bmi + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetRun50M() float32 { + if x != nil { + return x.Run50M + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetStandingLongJump() float32 { + if x != nil { + return x.StandingLongJump + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetSitAndReach() float32 { + if x != nil { + return x.SitAndReach + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetRun800M() float32 { + if x != nil { + return x.Run800M + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetRun1000M() float32 { + if x != nil { + return x.Run1000M + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetSitUps() int32 { + if x != nil { + return x.SitUps + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetPullUps() int32 { + if x != nil { + return x.PullUps + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetLungCapacity() int32 { + if x != nil { + return x.LungCapacity + } + return 0 +} + +func (x *ModifyFitnessScoreRequest) GetTotalScore() float32 { + if x != nil { + return x.TotalScore + } + return 0 +} + type GetCityByCodeResponse_City struct { state protoimpl.MessageState `protogen:"open.v1"` City string `protobuf:"bytes,1,opt,name=city,proto3" json:"city,omitempty"` @@ -5354,7 +5527,7 @@ type GetCityByCodeResponse_City struct { func (x *GetCityByCodeResponse_City) Reset() { *x = GetCityByCodeResponse_City{} - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[72] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5366,7 +5539,7 @@ func (x *GetCityByCodeResponse_City) String() string { func (*GetCityByCodeResponse_City) ProtoMessage() {} func (x *GetCityByCodeResponse_City) ProtoReflect() protoreflect.Message { - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[72] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5399,7 +5572,7 @@ type ModifyCityForPreviousSchoolRequest_Body struct { func (x *ModifyCityForPreviousSchoolRequest_Body) Reset() { *x = ModifyCityForPreviousSchoolRequest_Body{} - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[73] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5411,7 +5584,7 @@ func (x *ModifyCityForPreviousSchoolRequest_Body) String() string { func (*ModifyCityForPreviousSchoolRequest_Body) ProtoMessage() {} func (x *ModifyCityForPreviousSchoolRequest_Body) ProtoReflect() protoreflect.Message { - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[73] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5447,7 +5620,7 @@ type StudentNeedyInfo_Nested struct { func (x *StudentNeedyInfo_Nested) Reset() { *x = StudentNeedyInfo_Nested{} - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[74] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5459,7 +5632,7 @@ func (x *StudentNeedyInfo_Nested) String() string { func (*StudentNeedyInfo_Nested) ProtoMessage() {} func (x *StudentNeedyInfo_Nested) ProtoReflect() protoreflect.Message { - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[74] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5499,7 +5672,7 @@ type PostStudentGateAccessResponse_Data struct { func (x *PostStudentGateAccessResponse_Data) Reset() { *x = PostStudentGateAccessResponse_Data{} - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[75] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5511,7 +5684,7 @@ func (x *PostStudentGateAccessResponse_Data) String() string { func (*PostStudentGateAccessResponse_Data) ProtoMessage() {} func (x *PostStudentGateAccessResponse_Data) ProtoReflect() protoreflect.Message { - mi := &file_campusapis_staff_v1_campus_proto_msgTypes[75] + mi := &file_campusapis_staff_v1_campus_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6226,25 +6399,58 @@ var file_campusapis_staff_v1_campus_proto_rawDesc = string([]byte{ 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xd2, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x6f, - 0x6f, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, - 0x68, 0x6f, 0x6f, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x65, - 0x73, 0x74, 0x65, 0x72, 0x3a, 0x5f, 0x92, 0x41, 0x5c, 0x0a, 0x5a, 0x2a, 0x19, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x1b, 0xe5, 0x88, 0xa0, 0xe9, 0x99, 0xa4, 0xe4, 0xbd, - 0x93, 0xe6, 0xb5, 0x8b, 0xe6, 0x88, 0x90, 0xe7, 0xbb, 0xa9, 0xe8, 0xaf, 0xb7, 0xe6, 0xb1, 0x82, - 0xe4, 0xbd, 0x93, 0xd2, 0x01, 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0xd2, 0x01, 0x0a, - 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x59, 0x65, 0x61, 0x72, 0xd2, 0x01, 0x08, 0x73, 0x65, 0x6d, - 0x65, 0x73, 0x74, 0x65, 0x72, 0x22, 0x44, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, - 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe6, 0x03, 0x0a, 0x0c, - 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x22, 0x71, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x6f, 0x6f, + 0x6c, 0x59, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, + 0x74, 0x65, 0x72, 0x22, 0x44, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, + 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe6, 0x03, 0x0a, 0x0c, 0x46, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x59, 0x65, + 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, + 0x59, 0x65, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x62, 0x6d, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x62, 0x6d, 0x69, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x35, 0x30, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x06, 0x72, 0x75, 0x6e, 0x35, 0x30, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, 0x4a, 0x75, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x10, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x6e, 0x67, + 0x4a, 0x75, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x69, 0x74, 0x41, 0x6e, 0x64, 0x52, 0x65, + 0x61, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x73, 0x69, 0x74, 0x41, 0x6e, + 0x64, 0x52, 0x65, 0x61, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x38, 0x30, 0x30, + 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x38, 0x30, 0x30, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x31, 0x30, 0x30, 0x30, 0x6d, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x31, 0x30, 0x30, 0x30, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x69, 0x74, 0x55, 0x70, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, + 0x74, 0x55, 0x70, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x6c, 0x6c, 0x55, 0x70, 0x73, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x75, 0x6c, 0x6c, 0x55, 0x70, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x6c, 0x75, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x75, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, + 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf3, + 0x03, 0x0a, 0x19, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, 0x66, 0x66, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x59, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x6f, @@ -6274,332 +6480,335 @@ var file_campusapis_staff_v1_campus_proto_rawDesc = string([]byte{ 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 0x75, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x22, 0x7a, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, - 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x32, 0xff, 0x25, 0x0a, 0x0d, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x5a, 0x0e, 0x12, 0x0c, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x15, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, - 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x86, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x7c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2d, 0x2e, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x6c, 0x6c, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa8, - 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, - 0x12, 0x0e, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xb6, 0x01, 0x0a, 0x1a, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, - 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x6f, 0x72, 0x65, 0x32, 0xaa, 0x27, 0x0a, 0x0d, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x41, 0x5a, 0x1b, 0x12, 0x19, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x63, - 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, - 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x44, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x44, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x2f, 0x73, 0x74, - 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, - 0x6f, 0x72, 0x6d, 0x12, 0x9e, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, + 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x27, 0x5a, 0x0e, 0x12, 0x0c, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x86, 0x01, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x31, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, - 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x1a, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, 0x72, 0x74, - 0x68, 0x64, 0x61, 0x79, 0x12, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x12, 0x31, - 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, - 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, - 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x14, 0x12, - 0x12, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, - 0x61, 0x79, 0x73, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, - 0x12, 0xa7, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x5a, 0x11, 0x12, - 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x18, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x2f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0xc2, 0x01, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6d, 0x70, - 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2d, 0x5a, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x18, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, - 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, - 0x9f, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, - 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, + 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, + 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x7c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, + 0x66, 0x6f, 0x12, 0xa8, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x35, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x2f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x12, 0xae, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, - 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, - 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, - 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, - 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x45, 0x78, 0x61, 0x6d, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x44, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xb6, 0x01, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x6f, + 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x5a, 0x1b, 0x12, 0x19, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, + 0x74, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x22, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x6f, 0x6c, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x12, 0x16, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x12, - 0x9e, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, 0x6d, - 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x45, - 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6d, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, + 0x12, 0x0d, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x6f, 0x72, 0x6d, 0x12, + 0x16, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x2f, 0x64, 0x6f, 0x72, 0x6d, 0x12, 0x9e, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x14, 0x12, - 0x12, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x45, - 0x78, 0x61, 0x6d, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, - 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, 0x6d, - 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, - 0x50, 0x41, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x6d, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, + 0x64, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x73, 0x74, 0x75, 0x64, + 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x1a, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, + 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0xb9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, + 0x49, 0x6e, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, + 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x49, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x5a, 0x14, 0x12, 0x12, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, + 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x73, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x62, 0x69, 0x72, 0x74, 0x68, + 0x64, 0x61, 0x79, 0x73, 0x12, 0xa7, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x50, 0x41, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x5a, 0x0e, - 0x12, 0x0c, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x70, 0x61, 0x12, 0x15, - 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x2f, 0x67, 0x70, 0x61, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, - 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, - 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, - 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x75, - 0x64, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa8, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x79, 0x53, 0x63, 0x68, 0x6f, 0x6f, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x35, 0x2e, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2d, 0x5a, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0xc2, + 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, + 0x72, 0x73, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x61, 0x79, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x5a, 0x16, 0x12, 0x14, - 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, - 0x53, 0x74, 0x61, 0x79, 0x12, 0x1d, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x53, - 0x74, 0x61, 0x79, 0x12, 0xab, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, - 0x6d, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x2e, 0x63, 0x61, - 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x42, 0x61, 0x73, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x42, 0x61, - 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x6d, 0x61, 0x6e, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x62, 0x61, 0x73, - 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, - 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x75, 0x72, 0x73, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x5a, 0x11, 0x12, 0x0f, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x18, 0x2f, 0x73, 0x74, 0x61, 0x66, + 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, - 0x12, 0x0e, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xb6, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, 0x74, - 0x65, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, - 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, - 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, - 0x14, 0x12, 0x12, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x72, 0x6f, 0x6f, - 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, - 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, - 0x74, 0x65, 0x12, 0xf1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x2e, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, + 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x66, 0x66, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, - 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, - 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x20, 0x12, 0x1e, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, - 0x32, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, - 0x6c, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, - 0x6c, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd5, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x38, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3d, 0x5a, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, - 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x2f, 0x73, - 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x8e, - 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x53, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x53, 0x74, 0x75, - 0x64, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, - 0xd7, 0x01, 0x0a, 0x1b, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x69, 0x74, 0x79, 0x46, 0x6f, - 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, - 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x69, 0x74, 0x79, - 0x46, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, - 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x69, 0x74, 0x79, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x5a, 0x1d, 0x3a, 0x04, 0x62, 0x6f, - 0x64, 0x79, 0x22, 0x15, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, - 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x22, 0x1e, 0x2f, 0x73, 0x74, 0x61, 0x66, - 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, - 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x61, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x73, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x17, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0xae, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, + 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, + 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, + 0x31, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, + 0x2f, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x6d, 0x70, + 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x12, 0x16, 0x2f, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x65, + 0x78, 0x61, 0x6d, 0x12, 0x9e, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, + 0x45, 0x78, 0x61, 0x6d, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, + 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, + 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x33, 0x5a, 0x14, 0x12, 0x12, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x61, + 0x69, 0x6c, 0x79, 0x45, 0x78, 0x61, 0x6d, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x64, 0x61, 0x69, 0x6c, 0x79, + 0x45, 0x78, 0x61, 0x6d, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, + 0x65, 0x6e, 0x74, 0x47, 0x50, 0x41, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2a, + 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, + 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, + 0x50, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x27, 0x5a, 0x0e, 0x12, 0x0c, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, + 0x70, 0x61, 0x12, 0x15, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x67, 0x70, 0x61, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x50, 0x6f, + 0x73, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa8, 0x01, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x79, 0x53, + 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x75, 0x64, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x79, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x68, 0x6f, 0x6c, + 0x69, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x79, 0x12, 0x1d, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x68, 0x6f, 0x6c, 0x69, + 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x79, 0x12, 0xab, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x46, + 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x2f, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, + 0x6e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, + 0x61, 0x6e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x12, 0x17, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, + 0x2f, 0x62, 0x61, 0x73, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, + 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xb6, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, + 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x5a, 0x0c, 0x12, 0x0a, 0x2f, 0x63, - 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x13, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0xa1, 0x01, - 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, - 0x3a, 0x01, 0x2a, 0x5a, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, - 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, - 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x5a, 0x13, 0x3a, 0x01, 0x2a, 0x32, 0x0e, 0x2f, - 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x32, 0x17, 0x2f, - 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, - 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x2e, - 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x2a, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2a, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, + 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, + 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x5a, 0x14, 0x12, 0x12, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, + 0x2f, 0x72, 0x6f, 0x6f, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x2f, 0x73, 0x74, 0x61, 0x66, + 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6d, 0x61, 0x6e, 0x2f, 0x72, 0x6f, + 0x6f, 0x6d, 0x6d, 0x61, 0x74, 0x65, 0x12, 0xf1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, + 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x66, 0x66, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, + 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x20, 0x12, 0x1e, 0x2f, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, + 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2f, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, + 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xd5, 0x01, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, + 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x5a, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x20, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, + 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, + 0x79, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x5a, 0x0f, 0x12, 0x0d, 0x2f, 0x73, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x2f, 0x73, 0x74, + 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x2f, 0x63, + 0x69, 0x74, 0x79, 0x12, 0xd7, 0x01, 0x0a, 0x1b, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x69, + 0x74, 0x79, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, + 0x6f, 0x6f, 0x6c, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x43, 0x69, 0x74, 0x79, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, + 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, + 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x69, 0x74, 0x79, 0x46, 0x6f, 0x72, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x5a, 0x1d, + 0x3a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x15, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x22, 0x1e, 0x2f, + 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x2f, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x91, 0x01, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x29, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x6d, + 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x5a, 0x0c, + 0x12, 0x0a, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x13, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x63, 0x69, 0x74, + 0x79, 0x12, 0xa1, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, + 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x5a, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x66, + 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x17, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, + 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, + 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, 0x01, 0x2a, 0x5a, 0x13, 0x3a, 0x01, + 0x2a, 0x32, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x32, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, + 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x12, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x2a, 0x0e, 0x2f, 0x66, + 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2a, 0x17, 0x2f, 0x73, + 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x2e, 0x63, + 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x3a, + 0x01, 0x2a, 0x5a, 0x13, 0x3a, 0x01, 0x2a, 0x1a, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, + 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2e, + 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, + 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, + 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x2e, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, - 0x66, 0x66, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x5a, 0x10, 0x12, 0x0e, 0x2f, 0x66, 0x69, 0x74, 0x6e, - 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x2f, 0x73, 0x74, 0x61, 0x66, - 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x2f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, - 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x42, 0x0b, - 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x64, 0x75, 0x68, 0x65, 0x6c, - 0x70, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x64, 0x6b, 0x2f, 0x63, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, - 0x76, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x66, 0x66, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, - 0xaa, 0x02, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x53, 0x74, - 0x61, 0x66, 0x66, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, - 0x70, 0x69, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x66, 0x66, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, - 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x66, 0x66, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x15, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, - 0x66, 0x66, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x42, 0xd1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x61, 0x6d, 0x70, 0x75, 0x73, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x43, + 0x61, 0x6d, 0x70, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x64, 0x75, 0x68, 0x65, 0x6c, 0x70, + 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x64, 0x6b, 0x2f, 0x63, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x66, 0x66, 0x2f, 0x76, + 0x31, 0x3b, 0x73, 0x74, 0x61, 0x66, 0x66, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, + 0x02, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61, + 0x66, 0x66, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, + 0x69, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x66, 0x66, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x61, + 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x66, 0x66, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, + 0x43, 0x61, 0x6d, 0x70, 0x75, 0x73, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x66, + 0x66, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -6614,7 +6823,7 @@ func file_campusapis_staff_v1_campus_proto_rawDescGZIP() []byte { return file_campusapis_staff_v1_campus_proto_rawDescData } -var file_campusapis_staff_v1_campus_proto_msgTypes = make([]protoimpl.MessageInfo, 76) +var file_campusapis_staff_v1_campus_proto_msgTypes = make([]protoimpl.MessageInfo, 77) var file_campusapis_staff_v1_campus_proto_goTypes = []any{ (*GetCityByCodeRequest)(nil), // 0: campusapis.staff.v1.GetCityByCodeRequest (*GetCityByCodeResponse)(nil), // 1: campusapis.staff.v1.GetCityByCodeResponse @@ -6688,16 +6897,17 @@ var file_campusapis_staff_v1_campus_proto_goTypes = []any{ (*DeleteFitnessScoreResponse)(nil), // 69: campusapis.staff.v1.DeleteFitnessScoreResponse (*FitnessScore)(nil), // 70: campusapis.staff.v1.FitnessScore (*ListFitnessScoresResponse)(nil), // 71: campusapis.staff.v1.ListFitnessScoresResponse - (*GetCityByCodeResponse_City)(nil), // 72: campusapis.staff.v1.GetCityByCodeResponse.City - (*ModifyCityForPreviousSchoolRequest_Body)(nil), // 73: campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.Body - (*StudentNeedyInfo_Nested)(nil), // 74: campusapis.staff.v1.StudentNeedyInfo.Nested - (*PostStudentGateAccessResponse_Data)(nil), // 75: campusapis.staff.v1.PostStudentGateAccessResponse.Data - (staff.Type)(0), // 76: campusapis.staff.Type - (*emptypb.Empty)(nil), // 77: google.protobuf.Empty + (*ModifyFitnessScoreRequest)(nil), // 72: campusapis.staff.v1.ModifyFitnessScoreRequest + (*GetCityByCodeResponse_City)(nil), // 73: campusapis.staff.v1.GetCityByCodeResponse.City + (*ModifyCityForPreviousSchoolRequest_Body)(nil), // 74: campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.Body + (*StudentNeedyInfo_Nested)(nil), // 75: campusapis.staff.v1.StudentNeedyInfo.Nested + (*PostStudentGateAccessResponse_Data)(nil), // 76: campusapis.staff.v1.PostStudentGateAccessResponse.Data + (staff.Type)(0), // 77: campusapis.staff.Type + (*emptypb.Empty)(nil), // 78: google.protobuf.Empty } var file_campusapis_staff_v1_campus_proto_depIdxs = []int32{ - 72, // 0: campusapis.staff.v1.GetCityByCodeResponse.data:type_name -> campusapis.staff.v1.GetCityByCodeResponse.City - 73, // 1: campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.body:type_name -> campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.Body + 73, // 0: campusapis.staff.v1.GetCityByCodeResponse.data:type_name -> campusapis.staff.v1.GetCityByCodeResponse.City + 74, // 1: campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.body:type_name -> campusapis.staff.v1.ModifyCityForPreviousSchoolRequest.Body 5, // 2: campusapis.staff.v1.GetCityByStudentIDResponse.data:type_name -> campusapis.staff.v1.CityInfo 8, // 3: campusapis.staff.v1.GetPreviousSchoolDetailInfoResponse.data:type_name -> campusapis.staff.v1.SchoolInfo 9, // 4: campusapis.staff.v1.SchoolInfo.grade_school_info:type_name -> campusapis.staff.v1.GradeSchoolInfo @@ -6707,10 +6917,10 @@ var file_campusapis_staff_v1_campus_proto_depIdxs = []int32{ 24, // 8: campusapis.staff.v1.GetStudentInfoResponse.data:type_name -> campusapis.staff.v1.StudentInfo 26, // 9: campusapis.staff.v1.GetStudentSchoolRollStatusResponse.data:type_name -> campusapis.staff.v1.StudentSchoolRollStatus 28, // 10: campusapis.staff.v1.GetStudentNeedyInfoResponse.data:type_name -> campusapis.staff.v1.StudentNeedyInfo - 74, // 11: campusapis.staff.v1.StudentNeedyInfo.items:type_name -> campusapis.staff.v1.StudentNeedyInfo.Nested + 75, // 11: campusapis.staff.v1.StudentNeedyInfo.items:type_name -> campusapis.staff.v1.StudentNeedyInfo.Nested 30, // 12: campusapis.staff.v1.GetStudentDormInfoResponse.data:type_name -> campusapis.staff.v1.DormInfo 32, // 13: campusapis.staff.v1.GetStudentBirthdayInfoResponse.data:type_name -> campusapis.staff.v1.StudentBirthdayInfo - 76, // 14: campusapis.staff.v1.GetStudentBirthdaysInRequest.type:type_name -> campusapis.staff.Type + 77, // 14: campusapis.staff.v1.GetStudentBirthdaysInRequest.type:type_name -> campusapis.staff.Type 32, // 15: campusapis.staff.v1.GetStudentBirthdaysInResponse.data:type_name -> campusapis.staff.v1.StudentBirthdayInfo 36, // 16: campusapis.staff.v1.GetStudentRewardsResponse.data:type_name -> campusapis.staff.v1.StudentReward 38, // 17: campusapis.staff.v1.GetStudentCourseSelectionsResponse.data:type_name -> campusapis.staff.v1.StudentCourseSelection @@ -6721,20 +6931,20 @@ var file_campusapis_staff_v1_campus_proto_depIdxs = []int32{ 47, // 22: campusapis.staff.v1.GetStudentGPAResponse.data:type_name -> campusapis.staff.v1.StudentGPA 48, // 23: campusapis.staff.v1.StudentGPA.perSemester:type_name -> campusapis.staff.v1.GPAPerSemester 49, // 24: campusapis.staff.v1.StudentGPA.total:type_name -> campusapis.staff.v1.GPATotal - 75, // 25: campusapis.staff.v1.PostStudentGateAccessResponse.data:type_name -> campusapis.staff.v1.PostStudentGateAccessResponse.Data + 76, // 25: campusapis.staff.v1.PostStudentGateAccessResponse.data:type_name -> campusapis.staff.v1.PostStudentGateAccessResponse.Data 53, // 26: campusapis.staff.v1.GetStudentStaySchoolInfoResponse.data:type_name -> campusapis.staff.v1.StudentStaySchoolInfo 59, // 27: campusapis.staff.v1.GetFreshmanBaseInfoResponse.data:type_name -> campusapis.staff.v1.FreshmanBaseInfo 61, // 28: campusapis.staff.v1.GetFreshmanDetailResponse.data:type_name -> campusapis.staff.v1.FreshmanDetail 63, // 29: campusapis.staff.v1.GetFreshmanRoommatesResponse.data:type_name -> campusapis.staff.v1.FreshmanRoommate 70, // 30: campusapis.staff.v1.FitnessScoreResponse.data:type_name -> campusapis.staff.v1.FitnessScore 70, // 31: campusapis.staff.v1.ListFitnessScoresResponse.data:type_name -> campusapis.staff.v1.FitnessScore - 77, // 32: campusapis.staff.v1.CampusService.GetPersonInfo:input_type -> google.protobuf.Empty - 77, // 33: campusapis.staff.v1.CampusService.GetStudentInfo:input_type -> google.protobuf.Empty - 77, // 34: campusapis.staff.v1.CampusService.GetAllPersonInfo:input_type -> google.protobuf.Empty + 78, // 32: campusapis.staff.v1.CampusService.GetPersonInfo:input_type -> google.protobuf.Empty + 78, // 33: campusapis.staff.v1.CampusService.GetStudentInfo:input_type -> google.protobuf.Empty + 78, // 34: campusapis.staff.v1.CampusService.GetAllPersonInfo:input_type -> google.protobuf.Empty 64, // 35: campusapis.staff.v1.CampusService.GetStudentCountByDivision:input_type -> campusapis.staff.v1.GetStudentCountByDivisionRequest - 77, // 36: campusapis.staff.v1.CampusService.GetStudentSchoolRollStatus:input_type -> google.protobuf.Empty - 77, // 37: campusapis.staff.v1.CampusService.GetStudentDormInfo:input_type -> google.protobuf.Empty - 77, // 38: campusapis.staff.v1.CampusService.GetStudentBirthdayInfo:input_type -> google.protobuf.Empty + 78, // 36: campusapis.staff.v1.CampusService.GetStudentSchoolRollStatus:input_type -> google.protobuf.Empty + 78, // 37: campusapis.staff.v1.CampusService.GetStudentDormInfo:input_type -> google.protobuf.Empty + 78, // 38: campusapis.staff.v1.CampusService.GetStudentBirthdayInfo:input_type -> google.protobuf.Empty 33, // 39: campusapis.staff.v1.CampusService.GetStudentBirthdaysIn:input_type -> campusapis.staff.v1.GetStudentBirthdaysInRequest 15, // 40: campusapis.staff.v1.CampusService.GetStudentRewards:input_type -> campusapis.staff.v1.GetStudentRewardsRequest 16, // 41: campusapis.staff.v1.CampusService.GetStudentCourseSelections:input_type -> campusapis.staff.v1.GetStudentCourseSelectionsRequest @@ -6742,52 +6952,54 @@ var file_campusapis_staff_v1_campus_proto_depIdxs = []int32{ 19, // 43: campusapis.staff.v1.CampusService.GetGlobalStudentGrade:input_type -> campusapis.staff.v1.GetGlobalStudentGradeRequest 20, // 44: campusapis.staff.v1.CampusService.GetStudentExam:input_type -> campusapis.staff.v1.GetStudentExamRequest 21, // 45: campusapis.staff.v1.CampusService.GetDailyExam:input_type -> campusapis.staff.v1.GetDailyExamRequest - 77, // 46: campusapis.staff.v1.CampusService.GetStudentGPA:input_type -> google.protobuf.Empty + 78, // 46: campusapis.staff.v1.CampusService.GetStudentGPA:input_type -> google.protobuf.Empty 50, // 47: campusapis.staff.v1.CampusService.PostStudentGateAccess:input_type -> campusapis.staff.v1.PostStudentGateAccessRequest - 77, // 48: campusapis.staff.v1.CampusService.GetStudentStaySchoolInfo:input_type -> google.protobuf.Empty + 78, // 48: campusapis.staff.v1.CampusService.GetStudentStaySchoolInfo:input_type -> google.protobuf.Empty 54, // 49: campusapis.staff.v1.CampusService.GetFreshmanBaseInfo:input_type -> campusapis.staff.v1.GetFreshmanBaseInfoRequest 55, // 50: campusapis.staff.v1.CampusService.GetFreshmanDetail:input_type -> campusapis.staff.v1.GetFreshmanDetailRequest 56, // 51: campusapis.staff.v1.CampusService.GetFreshmanRoommates:input_type -> campusapis.staff.v1.GetFreshmanRoommatesRequest 10, // 52: campusapis.staff.v1.CampusService.GetPreviousSchoolInfo:input_type -> campusapis.staff.v1.GetStaffPreviousSchoolInfoRequest 6, // 53: campusapis.staff.v1.CampusService.GetPreviousSchoolDetailInfo:input_type -> campusapis.staff.v1.GetPreviousSchoolDetailInfoRequest - 77, // 54: campusapis.staff.v1.CampusService.GetCityByStudentID:input_type -> google.protobuf.Empty + 78, // 54: campusapis.staff.v1.CampusService.GetCityByStudentID:input_type -> google.protobuf.Empty 2, // 55: campusapis.staff.v1.CampusService.ModifyCityForPreviousSchool:input_type -> campusapis.staff.v1.ModifyCityForPreviousSchoolRequest 0, // 56: campusapis.staff.v1.CampusService.GetCityByCode:input_type -> campusapis.staff.v1.GetCityByCodeRequest 66, // 57: campusapis.staff.v1.CampusService.StoreFitnessScore:input_type -> campusapis.staff.v1.FitnessScoreRequest 66, // 58: campusapis.staff.v1.CampusService.UpdateFitnessScore:input_type -> campusapis.staff.v1.FitnessScoreRequest 68, // 59: campusapis.staff.v1.CampusService.DeleteFitnessScore:input_type -> campusapis.staff.v1.DeleteFitnessScoreRequest - 77, // 60: campusapis.staff.v1.CampusService.ListFitnessScores:input_type -> google.protobuf.Empty - 13, // 61: campusapis.staff.v1.CampusService.GetPersonInfo:output_type -> campusapis.staff.v1.GetPersonInfoResponse - 23, // 62: campusapis.staff.v1.CampusService.GetStudentInfo:output_type -> campusapis.staff.v1.GetStudentInfoResponse - 17, // 63: campusapis.staff.v1.CampusService.GetAllPersonInfo:output_type -> campusapis.staff.v1.GetAllPersonInfoResponse - 65, // 64: campusapis.staff.v1.CampusService.GetStudentCountByDivision:output_type -> campusapis.staff.v1.NiceResponse - 25, // 65: campusapis.staff.v1.CampusService.GetStudentSchoolRollStatus:output_type -> campusapis.staff.v1.GetStudentSchoolRollStatusResponse - 29, // 66: campusapis.staff.v1.CampusService.GetStudentDormInfo:output_type -> campusapis.staff.v1.GetStudentDormInfoResponse - 31, // 67: campusapis.staff.v1.CampusService.GetStudentBirthdayInfo:output_type -> campusapis.staff.v1.GetStudentBirthdayInfoResponse - 34, // 68: campusapis.staff.v1.CampusService.GetStudentBirthdaysIn:output_type -> campusapis.staff.v1.GetStudentBirthdaysInResponse - 35, // 69: campusapis.staff.v1.CampusService.GetStudentRewards:output_type -> campusapis.staff.v1.GetStudentRewardsResponse - 37, // 70: campusapis.staff.v1.CampusService.GetStudentCourseSelections:output_type -> campusapis.staff.v1.GetStudentCourseSelectionsResponse - 39, // 71: campusapis.staff.v1.CampusService.GetStudentGrade:output_type -> campusapis.staff.v1.GetStudentGradeResponse - 41, // 72: campusapis.staff.v1.CampusService.GetGlobalStudentGrade:output_type -> campusapis.staff.v1.GetGlobalStudentGradeResponse - 44, // 73: campusapis.staff.v1.CampusService.GetStudentExam:output_type -> campusapis.staff.v1.GetStudentExamResponse - 42, // 74: campusapis.staff.v1.CampusService.GetDailyExam:output_type -> campusapis.staff.v1.GetDailyExamResponse - 46, // 75: campusapis.staff.v1.CampusService.GetStudentGPA:output_type -> campusapis.staff.v1.GetStudentGPAResponse - 51, // 76: campusapis.staff.v1.CampusService.PostStudentGateAccess:output_type -> campusapis.staff.v1.PostStudentGateAccessResponse - 52, // 77: campusapis.staff.v1.CampusService.GetStudentStaySchoolInfo:output_type -> campusapis.staff.v1.GetStudentStaySchoolInfoResponse - 58, // 78: campusapis.staff.v1.CampusService.GetFreshmanBaseInfo:output_type -> campusapis.staff.v1.GetFreshmanBaseInfoResponse - 60, // 79: campusapis.staff.v1.CampusService.GetFreshmanDetail:output_type -> campusapis.staff.v1.GetFreshmanDetailResponse - 62, // 80: campusapis.staff.v1.CampusService.GetFreshmanRoommates:output_type -> campusapis.staff.v1.GetFreshmanRoommatesResponse - 11, // 81: campusapis.staff.v1.CampusService.GetPreviousSchoolInfo:output_type -> campusapis.staff.v1.GetStaffPreviousSchoolInfoResponse - 7, // 82: campusapis.staff.v1.CampusService.GetPreviousSchoolDetailInfo:output_type -> campusapis.staff.v1.GetPreviousSchoolDetailInfoResponse - 4, // 83: campusapis.staff.v1.CampusService.GetCityByStudentID:output_type -> campusapis.staff.v1.GetCityByStudentIDResponse - 3, // 84: campusapis.staff.v1.CampusService.ModifyCityForPreviousSchool:output_type -> campusapis.staff.v1.ModifyCityForPreviousSchoolResponse - 1, // 85: campusapis.staff.v1.CampusService.GetCityByCode:output_type -> campusapis.staff.v1.GetCityByCodeResponse - 67, // 86: campusapis.staff.v1.CampusService.StoreFitnessScore:output_type -> campusapis.staff.v1.FitnessScoreResponse - 67, // 87: campusapis.staff.v1.CampusService.UpdateFitnessScore:output_type -> campusapis.staff.v1.FitnessScoreResponse - 69, // 88: campusapis.staff.v1.CampusService.DeleteFitnessScore:output_type -> campusapis.staff.v1.DeleteFitnessScoreResponse - 71, // 89: campusapis.staff.v1.CampusService.ListFitnessScores:output_type -> campusapis.staff.v1.ListFitnessScoresResponse - 61, // [61:90] is the sub-list for method output_type - 32, // [32:61] is the sub-list for method input_type + 72, // 60: campusapis.staff.v1.CampusService.ModifyFitnessScore:input_type -> campusapis.staff.v1.ModifyFitnessScoreRequest + 78, // 61: campusapis.staff.v1.CampusService.ListFitnessScores:input_type -> google.protobuf.Empty + 13, // 62: campusapis.staff.v1.CampusService.GetPersonInfo:output_type -> campusapis.staff.v1.GetPersonInfoResponse + 23, // 63: campusapis.staff.v1.CampusService.GetStudentInfo:output_type -> campusapis.staff.v1.GetStudentInfoResponse + 17, // 64: campusapis.staff.v1.CampusService.GetAllPersonInfo:output_type -> campusapis.staff.v1.GetAllPersonInfoResponse + 65, // 65: campusapis.staff.v1.CampusService.GetStudentCountByDivision:output_type -> campusapis.staff.v1.NiceResponse + 25, // 66: campusapis.staff.v1.CampusService.GetStudentSchoolRollStatus:output_type -> campusapis.staff.v1.GetStudentSchoolRollStatusResponse + 29, // 67: campusapis.staff.v1.CampusService.GetStudentDormInfo:output_type -> campusapis.staff.v1.GetStudentDormInfoResponse + 31, // 68: campusapis.staff.v1.CampusService.GetStudentBirthdayInfo:output_type -> campusapis.staff.v1.GetStudentBirthdayInfoResponse + 34, // 69: campusapis.staff.v1.CampusService.GetStudentBirthdaysIn:output_type -> campusapis.staff.v1.GetStudentBirthdaysInResponse + 35, // 70: campusapis.staff.v1.CampusService.GetStudentRewards:output_type -> campusapis.staff.v1.GetStudentRewardsResponse + 37, // 71: campusapis.staff.v1.CampusService.GetStudentCourseSelections:output_type -> campusapis.staff.v1.GetStudentCourseSelectionsResponse + 39, // 72: campusapis.staff.v1.CampusService.GetStudentGrade:output_type -> campusapis.staff.v1.GetStudentGradeResponse + 41, // 73: campusapis.staff.v1.CampusService.GetGlobalStudentGrade:output_type -> campusapis.staff.v1.GetGlobalStudentGradeResponse + 44, // 74: campusapis.staff.v1.CampusService.GetStudentExam:output_type -> campusapis.staff.v1.GetStudentExamResponse + 42, // 75: campusapis.staff.v1.CampusService.GetDailyExam:output_type -> campusapis.staff.v1.GetDailyExamResponse + 46, // 76: campusapis.staff.v1.CampusService.GetStudentGPA:output_type -> campusapis.staff.v1.GetStudentGPAResponse + 51, // 77: campusapis.staff.v1.CampusService.PostStudentGateAccess:output_type -> campusapis.staff.v1.PostStudentGateAccessResponse + 52, // 78: campusapis.staff.v1.CampusService.GetStudentStaySchoolInfo:output_type -> campusapis.staff.v1.GetStudentStaySchoolInfoResponse + 58, // 79: campusapis.staff.v1.CampusService.GetFreshmanBaseInfo:output_type -> campusapis.staff.v1.GetFreshmanBaseInfoResponse + 60, // 80: campusapis.staff.v1.CampusService.GetFreshmanDetail:output_type -> campusapis.staff.v1.GetFreshmanDetailResponse + 62, // 81: campusapis.staff.v1.CampusService.GetFreshmanRoommates:output_type -> campusapis.staff.v1.GetFreshmanRoommatesResponse + 11, // 82: campusapis.staff.v1.CampusService.GetPreviousSchoolInfo:output_type -> campusapis.staff.v1.GetStaffPreviousSchoolInfoResponse + 7, // 83: campusapis.staff.v1.CampusService.GetPreviousSchoolDetailInfo:output_type -> campusapis.staff.v1.GetPreviousSchoolDetailInfoResponse + 4, // 84: campusapis.staff.v1.CampusService.GetCityByStudentID:output_type -> campusapis.staff.v1.GetCityByStudentIDResponse + 3, // 85: campusapis.staff.v1.CampusService.ModifyCityForPreviousSchool:output_type -> campusapis.staff.v1.ModifyCityForPreviousSchoolResponse + 1, // 86: campusapis.staff.v1.CampusService.GetCityByCode:output_type -> campusapis.staff.v1.GetCityByCodeResponse + 67, // 87: campusapis.staff.v1.CampusService.StoreFitnessScore:output_type -> campusapis.staff.v1.FitnessScoreResponse + 67, // 88: campusapis.staff.v1.CampusService.UpdateFitnessScore:output_type -> campusapis.staff.v1.FitnessScoreResponse + 69, // 89: campusapis.staff.v1.CampusService.DeleteFitnessScore:output_type -> campusapis.staff.v1.DeleteFitnessScoreResponse + 67, // 90: campusapis.staff.v1.CampusService.ModifyFitnessScore:output_type -> campusapis.staff.v1.FitnessScoreResponse + 71, // 91: campusapis.staff.v1.CampusService.ListFitnessScores:output_type -> campusapis.staff.v1.ListFitnessScoresResponse + 62, // [62:92] is the sub-list for method output_type + 32, // [32:62] is the sub-list for method input_type 32, // [32:32] is the sub-list for extension type_name 32, // [32:32] is the sub-list for extension extendee 0, // [0:32] is the sub-list for field type_name @@ -6804,7 +7016,7 @@ func file_campusapis_staff_v1_campus_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_campusapis_staff_v1_campus_proto_rawDesc), len(file_campusapis_staff_v1_campus_proto_rawDesc)), NumEnums: 0, - NumMessages: 76, + NumMessages: 77, NumExtensions: 0, NumServices: 1, }, diff --git a/campusapis/staff/v1/campus.pb.gw.go b/campusapis/staff/v1/campus.pb.gw.go index 09c966d..86d1e9b 100644 --- a/campusapis/staff/v1/campus.pb.gw.go +++ b/campusapis/staff/v1/campus.pb.gw.go @@ -1478,6 +1478,54 @@ func local_request_CampusService_DeleteFitnessScore_1(ctx context.Context, marsh return msg, metadata, err } +func request_CampusService_ModifyFitnessScore_0(ctx context.Context, marshaler runtime.Marshaler, client CampusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ModifyFitnessScoreRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ModifyFitnessScore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_CampusService_ModifyFitnessScore_0(ctx context.Context, marshaler runtime.Marshaler, server CampusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ModifyFitnessScoreRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ModifyFitnessScore(ctx, &protoReq) + return msg, metadata, err +} + +func request_CampusService_ModifyFitnessScore_1(ctx context.Context, marshaler runtime.Marshaler, client CampusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ModifyFitnessScoreRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ModifyFitnessScore(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_CampusService_ModifyFitnessScore_1(ctx context.Context, marshaler runtime.Marshaler, server CampusServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ModifyFitnessScoreRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ModifyFitnessScore(ctx, &protoReq) + return msg, metadata, err +} + func request_CampusService_ListFitnessScores_0(ctx context.Context, marshaler runtime.Marshaler, client CampusServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var ( protoReq emptypb.Empty @@ -2600,6 +2648,46 @@ func RegisterCampusServiceHandlerServer(ctx context.Context, mux *runtime.ServeM } forward_CampusService_DeleteFitnessScore_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPut, pattern_CampusService_ModifyFitnessScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/campusapis.staff.v1.CampusService/ModifyFitnessScore", runtime.WithHTTPPathPattern("/staff/v1/fitness/score")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CampusService_ModifyFitnessScore_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_CampusService_ModifyFitnessScore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPut, pattern_CampusService_ModifyFitnessScore_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/campusapis.staff.v1.CampusService/ModifyFitnessScore", runtime.WithHTTPPathPattern("/fitness/score")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CampusService_ModifyFitnessScore_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_CampusService_ModifyFitnessScore_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodGet, pattern_CampusService_ListFitnessScores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3598,6 +3686,40 @@ func RegisterCampusServiceHandlerClient(ctx context.Context, mux *runtime.ServeM } forward_CampusService_DeleteFitnessScore_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPut, pattern_CampusService_ModifyFitnessScore_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/campusapis.staff.v1.CampusService/ModifyFitnessScore", runtime.WithHTTPPathPattern("/staff/v1/fitness/score")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CampusService_ModifyFitnessScore_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_CampusService_ModifyFitnessScore_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPut, pattern_CampusService_ModifyFitnessScore_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/campusapis.staff.v1.CampusService/ModifyFitnessScore", runtime.WithHTTPPathPattern("/fitness/score")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CampusService_ModifyFitnessScore_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_CampusService_ModifyFitnessScore_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodGet, pattern_CampusService_ListFitnessScores_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3690,6 +3812,8 @@ var ( pattern_CampusService_UpdateFitnessScore_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"fitness", "score"}, "")) pattern_CampusService_DeleteFitnessScore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"staff", "v1", "fitness", "score"}, "")) pattern_CampusService_DeleteFitnessScore_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"fitness", "score"}, "")) + pattern_CampusService_ModifyFitnessScore_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"staff", "v1", "fitness", "score"}, "")) + pattern_CampusService_ModifyFitnessScore_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"fitness", "score"}, "")) pattern_CampusService_ListFitnessScores_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"staff", "v1", "fitness", "score"}, "")) pattern_CampusService_ListFitnessScores_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"fitness", "score"}, "")) ) @@ -3749,6 +3873,8 @@ var ( forward_CampusService_UpdateFitnessScore_1 = runtime.ForwardResponseMessage forward_CampusService_DeleteFitnessScore_0 = runtime.ForwardResponseMessage forward_CampusService_DeleteFitnessScore_1 = runtime.ForwardResponseMessage + forward_CampusService_ModifyFitnessScore_0 = runtime.ForwardResponseMessage + forward_CampusService_ModifyFitnessScore_1 = runtime.ForwardResponseMessage forward_CampusService_ListFitnessScores_0 = runtime.ForwardResponseMessage forward_CampusService_ListFitnessScores_1 = runtime.ForwardResponseMessage ) diff --git a/campusapis/staff/v1/campus.proto b/campusapis/staff/v1/campus.proto index 10375a0..0befed5 100644 --- a/campusapis/staff/v1/campus.proto +++ b/campusapis/staff/v1/campus.proto @@ -282,6 +282,18 @@ service CampusService { }; } + //修改已保存体测成绩 + rpc ModifyFitnessScore(ModifyFitnessScoreRequest) returns (FitnessScoreResponse) { + option (google.api.http) = { + put: "/staff/v1/fitness/score" + body: "*" + additional_bindings { + put: "/fitness/score" + body: "*" + } + }; + } + //查询已保存体测成绩列表 rpc ListFitnessScores(google.protobuf.Empty) returns (ListFitnessScoresResponse) { option (google.api.http) = { @@ -1046,17 +1058,6 @@ message FitnessScoreResponse { // DeleteFitnessScoreRequest 删除体测成绩请求 message DeleteFitnessScoreRequest { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema: { - title: "DeleteFitnessScoreRequest" - description: "删除体测成绩请求体" - required: [ - "staffId", - "schoolYear", - "semester" - ] - } - }; string staffId = 1; string schoolYear = 2; string semester = 3; @@ -1094,4 +1095,25 @@ message ListFitnessScoresResponse { int32 error = 1; string msg = 2; repeated FitnessScore data = 3; +} + +// ModifyFitnessScoreRequest 修改体测成绩请求 +message ModifyFitnessScoreRequest { + string staffId = 1; + string schoolYear = 2; + string semester = 3; + string gender = 4; + int32 grade = 5; + float height = 6; + float weight = 7; + float bmi = 8; + float run50m = 9; + float standingLongJump = 10; + float sitAndReach = 11; + float run800m = 12; + float run1000m = 13; + int32 sitUps = 14; + int32 pullUps = 15; + int32 lungCapacity = 16; + float totalScore = 17; } \ No newline at end of file diff --git a/campusapis/staff/v1/campus_grpc.pb.go b/campusapis/staff/v1/campus_grpc.pb.go index bf0e88a..4a55abb 100644 --- a/campusapis/staff/v1/campus_grpc.pb.go +++ b/campusapis/staff/v1/campus_grpc.pb.go @@ -48,6 +48,7 @@ const ( CampusService_StoreFitnessScore_FullMethodName = "/campusapis.staff.v1.CampusService/StoreFitnessScore" CampusService_UpdateFitnessScore_FullMethodName = "/campusapis.staff.v1.CampusService/UpdateFitnessScore" CampusService_DeleteFitnessScore_FullMethodName = "/campusapis.staff.v1.CampusService/DeleteFitnessScore" + CampusService_ModifyFitnessScore_FullMethodName = "/campusapis.staff.v1.CampusService/ModifyFitnessScore" CampusService_ListFitnessScores_FullMethodName = "/campusapis.staff.v1.CampusService/ListFitnessScores" ) @@ -111,6 +112,8 @@ type CampusServiceClient interface { UpdateFitnessScore(ctx context.Context, in *FitnessScoreRequest, opts ...grpc.CallOption) (*FitnessScoreResponse, error) // 删除体测成绩 DeleteFitnessScore(ctx context.Context, in *DeleteFitnessScoreRequest, opts ...grpc.CallOption) (*DeleteFitnessScoreResponse, error) + // 修改已保存体测成绩 + ModifyFitnessScore(ctx context.Context, in *ModifyFitnessScoreRequest, opts ...grpc.CallOption) (*FitnessScoreResponse, error) // 查询已保存体测成绩列表 ListFitnessScores(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListFitnessScoresResponse, error) } @@ -403,6 +406,16 @@ func (c *campusServiceClient) DeleteFitnessScore(ctx context.Context, in *Delete return out, nil } +func (c *campusServiceClient) ModifyFitnessScore(ctx context.Context, in *ModifyFitnessScoreRequest, opts ...grpc.CallOption) (*FitnessScoreResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(FitnessScoreResponse) + err := c.cc.Invoke(ctx, CampusService_ModifyFitnessScore_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *campusServiceClient) ListFitnessScores(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListFitnessScoresResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListFitnessScoresResponse) @@ -473,6 +486,8 @@ type CampusServiceServer interface { UpdateFitnessScore(context.Context, *FitnessScoreRequest) (*FitnessScoreResponse, error) // 删除体测成绩 DeleteFitnessScore(context.Context, *DeleteFitnessScoreRequest) (*DeleteFitnessScoreResponse, error) + // 修改已保存体测成绩 + ModifyFitnessScore(context.Context, *ModifyFitnessScoreRequest) (*FitnessScoreResponse, error) // 查询已保存体测成绩列表 ListFitnessScores(context.Context, *emptypb.Empty) (*ListFitnessScoresResponse, error) mustEmbedUnimplementedCampusServiceServer() @@ -569,6 +584,9 @@ func (UnimplementedCampusServiceServer) UpdateFitnessScore(context.Context, *Fit func (UnimplementedCampusServiceServer) DeleteFitnessScore(context.Context, *DeleteFitnessScoreRequest) (*DeleteFitnessScoreResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteFitnessScore not implemented") } +func (UnimplementedCampusServiceServer) ModifyFitnessScore(context.Context, *ModifyFitnessScoreRequest) (*FitnessScoreResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ModifyFitnessScore not implemented") +} func (UnimplementedCampusServiceServer) ListFitnessScores(context.Context, *emptypb.Empty) (*ListFitnessScoresResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListFitnessScores not implemented") } @@ -1097,6 +1115,24 @@ func _CampusService_DeleteFitnessScore_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _CampusService_ModifyFitnessScore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyFitnessScoreRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CampusServiceServer).ModifyFitnessScore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CampusService_ModifyFitnessScore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CampusServiceServer).ModifyFitnessScore(ctx, req.(*ModifyFitnessScoreRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _CampusService_ListFitnessScores_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -1234,6 +1270,10 @@ var CampusService_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteFitnessScore", Handler: _CampusService_DeleteFitnessScore_Handler, }, + { + MethodName: "ModifyFitnessScore", + Handler: _CampusService_ModifyFitnessScore_Handler, + }, { MethodName: "ListFitnessScores", Handler: _CampusService_ListFitnessScores_Handler, diff --git a/docs/swagger/campusapis/staff/v1/campus.swagger.json b/docs/swagger/campusapis/staff/v1/campus.swagger.json index 8ef4b50..7c9d844 100644 --- a/docs/swagger/campusapis/staff/v1/campus.swagger.json +++ b/docs/swagger/campusapis/staff/v1/campus.swagger.json @@ -89,19 +89,19 @@ { "name": "staffId", "in": "query", - "required": true, + "required": false, "type": "string" }, { "name": "schoolYear", "in": "query", - "required": true, + "required": false, "type": "string" }, { "name": "semester", "in": "query", - "required": true, + "required": false, "type": "string" } ], @@ -140,6 +140,37 @@ "CampusService" ] }, + "put": { + "summary": "修改已保存体测成绩", + "operationId": "CampusService_ModifyFitnessScore2", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1FitnessScoreResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ModifyFitnessScoreRequest" + } + } + ], + "tags": [ + "CampusService" + ] + }, "patch": { "summary": "更新体测成绩", "operationId": "CampusService_UpdateFitnessScore2", @@ -587,19 +618,19 @@ { "name": "staffId", "in": "query", - "required": true, + "required": false, "type": "string" }, { "name": "schoolYear", "in": "query", - "required": true, + "required": false, "type": "string" }, { "name": "semester", "in": "query", - "required": true, + "required": false, "type": "string" } ], @@ -638,6 +669,37 @@ "CampusService" ] }, + "put": { + "summary": "修改已保存体测成绩", + "operationId": "CampusService_ModifyFitnessScore", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1FitnessScoreResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ModifyFitnessScoreRequest" + } + } + ], + "tags": [ + "CampusService" + ] + }, "patch": { "summary": "更新体测成绩", "operationId": "CampusService_UpdateFitnessScore", @@ -2773,6 +2835,76 @@ } } }, + "v1ModifyFitnessScoreRequest": { + "type": "object", + "properties": { + "staffId": { + "type": "string" + }, + "schoolYear": { + "type": "string" + }, + "semester": { + "type": "string" + }, + "gender": { + "type": "string" + }, + "grade": { + "type": "integer", + "format": "int32" + }, + "height": { + "type": "number", + "format": "float" + }, + "weight": { + "type": "number", + "format": "float" + }, + "bmi": { + "type": "number", + "format": "float" + }, + "run50m": { + "type": "number", + "format": "float" + }, + "standingLongJump": { + "type": "number", + "format": "float" + }, + "sitAndReach": { + "type": "number", + "format": "float" + }, + "run800m": { + "type": "number", + "format": "float" + }, + "run1000m": { + "type": "number", + "format": "float" + }, + "sitUps": { + "type": "integer", + "format": "int32" + }, + "pullUps": { + "type": "integer", + "format": "int32" + }, + "lungCapacity": { + "type": "integer", + "format": "int32" + }, + "totalScore": { + "type": "number", + "format": "float" + } + }, + "title": "ModifyFitnessScoreRequest 修改体测成绩请求" + }, "v1NiceResponse": { "type": "object", "properties": {