diff --git a/docs/docs/ref/proto.md b/docs/docs/ref/proto.md index 3ceb3d720d..001c977d9e 100644 --- a/docs/docs/ref/proto.md +++ b/docs/docs/ref/proto.md @@ -798,15 +798,15 @@ EvalResultAlert holds the alert details for a given rule evaluation | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| entity | EvaluationHistory.Entity | | entity contains details of the entity which was evaluated. | -| rule | EvaluationHistory.Rule | | rule contains details of the rule which the entity was evaluated against. | -| status | EvaluationHistory.Status | | status contains the evaluation status. | -| alert | EvaluationHistory.Alert | | alert contains details of the alerts for this evaluation. | -| remediation | EvaluationHistory.Remediation | | remediation contains details of the remediation for this evaluation. | +| entity | EvaluationHistoryEntity | | entity contains details of the entity which was evaluated. | +| rule | EvaluationHistoryRule | | rule contains details of the rule which the entity was evaluated against. | +| status | EvaluationHistoryStatus | | status contains the evaluation status. | +| alert | EvaluationHistoryAlert | | alert contains details of the alerts for this evaluation. | +| remediation | EvaluationHistoryRemediation | | remediation contains details of the remediation for this evaluation. | -EvaluationHistory.Alert +EvaluationHistoryAlert @@ -818,7 +818,7 @@ EvalResultAlert holds the alert details for a given rule evaluation -EvaluationHistory.Entity +EvaluationHistoryEntity @@ -831,7 +831,7 @@ EvalResultAlert holds the alert details for a given rule evaluation -EvaluationHistory.Remediation +EvaluationHistoryRemediation @@ -843,7 +843,7 @@ EvalResultAlert holds the alert details for a given rule evaluation -EvaluationHistory.Rule +EvaluationHistoryRule @@ -856,7 +856,7 @@ EvalResultAlert holds the alert details for a given rule evaluation -EvaluationHistory.Status +EvaluationHistoryStatus diff --git a/internal/controlplane/handlers_evalstatus.go b/internal/controlplane/handlers_evalstatus.go index 7359a3833d..18278f3d76 100644 --- a/internal/controlplane/handlers_evalstatus.go +++ b/internal/controlplane/handlers_evalstatus.go @@ -144,33 +144,33 @@ func fromEvaluationHistoryRow( return nil, errors.New("internal error") } - var alert *minderv1.EvaluationHistory_Alert + var alert *minderv1.EvaluationHistoryAlert if row.AlertStatus.Valid { - alert = &minderv1.EvaluationHistory_Alert{ + alert = &minderv1.EvaluationHistoryAlert{ Status: string(row.AlertStatus.AlertStatusTypes), Details: row.AlertDetails.String, } } - var remediation *minderv1.EvaluationHistory_Remediation + var remediation *minderv1.EvaluationHistoryRemediation if row.RemediationStatus.Valid { - remediation = &minderv1.EvaluationHistory_Remediation{ + remediation = &minderv1.EvaluationHistoryRemediation{ Status: string(row.RemediationStatus.RemediationStatusTypes), Details: row.RemediationDetails.String, } } res = append(res, &minderv1.EvaluationHistory{ - Entity: &minderv1.EvaluationHistory_Entity{ + Entity: &minderv1.EvaluationHistoryEntity{ Id: row.EvaluationID.String(), Type: entityType, Name: entityName, }, - Rule: &minderv1.EvaluationHistory_Rule{ + Rule: &minderv1.EvaluationHistoryRule{ Name: row.RuleName, Type: row.RuleType, Profile: row.ProfileName, }, - Status: &minderv1.EvaluationHistory_Status{ + Status: &minderv1.EvaluationHistoryStatus{ Status: string(row.EvaluationStatus), Details: row.EvaluationDetails, EvaluatedAt: timestamppb.New(row.EvaluatedAt), diff --git a/pkg/api/openapi/minder/v1/minder.swagger.json b/pkg/api/openapi/minder/v1/minder.swagger.json index e4b887f637..3ee1d33225 100644 --- a/pkg/api/openapi/minder/v1/minder.swagger.json +++ b/pkg/api/openapi/minder/v1/minder.swagger.json @@ -2770,6 +2770,17 @@ } } }, + "DefinitionAlert": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "securityAdvisory": { + "$ref": "#/definitions/AlertAlertTypeSA" + } + } + }, "DefinitionEval": { "type": "object", "properties": { @@ -2915,19 +2926,6 @@ "type": "object", "title": "no configuration for now" }, - "EvaluationHistoryRemediation": { - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "status is one of (success, error, failure, skipped, not available)\nnot using enums to mirror the behaviour of the existing API contracts." - }, - "details": { - "type": "string", - "description": "details contains optional details about the remediation.\nthe structure and contents are remediation specific, and are subject to change." - } - } - }, "JQComparisonOperator": { "type": "object", "properties": { @@ -2982,6 +2980,28 @@ } } }, + "ProfileRule": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "type is the type of the rule to be instantiated." + }, + "params": { + "type": "object", + "description": "params are the parameters that are passed to the rule.\nThis is optional and depends on the rule type." + }, + "def": { + "type": "object", + "description": "def is the definition of the rule.\nThis depends on the rule type." + }, + "name": { + "type": "string", + "title": "name is the descriptive name of the rule, not to be confused with type" + } + }, + "description": "Rule defines the individual call of a certain rule type." + }, "ProfileSelector": { "type": "object", "properties": { @@ -3121,34 +3141,11 @@ "$ref": "#/definitions/DefinitionRemediate" }, "alert": { - "$ref": "#/definitions/RuleTypeDefinitionAlert" + "$ref": "#/definitions/DefinitionAlert" } }, "description": "Definition defines the rule type. It encompases the schema and the data evaluation." }, - "RuleTypeDefinitionAlert": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "securityAdvisory": { - "$ref": "#/definitions/AlertAlertTypeSA" - } - } - }, - "minderv1Entity": { - "type": "string", - "enum": [ - "ENTITY_UNSPECIFIED", - "ENTITY_REPOSITORIES", - "ENTITY_BUILD_ENVIRONMENTS", - "ENTITY_ARTIFACTS", - "ENTITY_PULL_REQUESTS" - ], - "default": "ENTITY_UNSPECIFIED", - "description": "Entity defines the entity that is supported by the provider." - }, "protobufNullValue": { "type": "string", "enum": [ @@ -3555,11 +3552,23 @@ }, "description": "DiffType defines the diff data ingester." }, + "v1Entity": { + "type": "string", + "enum": [ + "ENTITY_UNSPECIFIED", + "ENTITY_REPOSITORIES", + "ENTITY_BUILD_ENVIRONMENTS", + "ENTITY_ARTIFACTS", + "ENTITY_PULL_REQUESTS" + ], + "default": "ENTITY_UNSPECIFIED", + "description": "Entity defines the entity that is supported by the provider." + }, "v1EntityTypedId": { "type": "object", "properties": { "type": { - "$ref": "#/definitions/minderv1Entity", + "$ref": "#/definitions/v1Entity", "title": "entity is the entity to get status for. Incompatible with `all`" }, "id": { @@ -3612,7 +3621,7 @@ "description": "alert contains details of the alerts for this evaluation." }, "remediation": { - "$ref": "#/definitions/EvaluationHistoryRemediation", + "$ref": "#/definitions/v1EvaluationHistoryRemediation", "description": "remediation contains details of the remediation for this evaluation." } } @@ -3638,7 +3647,7 @@ "description": "id is the ID of the entity." }, "type": { - "$ref": "#/definitions/minderv1Entity", + "$ref": "#/definitions/v1Entity", "description": "type is the entity type." }, "name": { @@ -3647,6 +3656,19 @@ } } }, + "v1EvaluationHistoryRemediation": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "status is one of (success, error, failure, skipped, not available)\nnot using enums to mirror the behaviour of the existing API contracts." + }, + "details": { + "type": "string", + "description": "details contains optional details about the remediation.\nthe structure and contents are remediation specific, and are subject to change." + } + } + }, "v1EvaluationHistoryRule": { "type": "object", "properties": { @@ -4194,7 +4216,7 @@ "type": "array", "items": { "type": "object", - "$ref": "#/definitions/v1ProfileRule" + "$ref": "#/definitions/ProfileRule" }, "description": "These are the entities that one could set in the profile." }, @@ -4202,21 +4224,21 @@ "type": "array", "items": { "type": "object", - "$ref": "#/definitions/v1ProfileRule" + "$ref": "#/definitions/ProfileRule" } }, "artifact": { "type": "array", "items": { "type": "object", - "$ref": "#/definitions/v1ProfileRule" + "$ref": "#/definitions/ProfileRule" } }, "pullRequest": { "type": "array", "items": { "type": "object", - "$ref": "#/definitions/v1ProfileRule" + "$ref": "#/definitions/ProfileRule" } }, "selection": { @@ -4249,28 +4271,6 @@ }, "description": "Profile defines a profile that is user defined." }, - "v1ProfileRule": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "type is the type of the rule to be instantiated." - }, - "params": { - "type": "object", - "description": "params are the parameters that are passed to the rule.\nThis is optional and depends on the rule type." - }, - "def": { - "type": "object", - "description": "def is the definition of the rule.\nThis depends on the rule type." - }, - "name": { - "type": "string", - "title": "name is the descriptive name of the rule, not to be confused with type" - } - }, - "description": "Rule defines the individual call of a certain rule type." - }, "v1ProfileStatus": { "type": "object", "properties": { diff --git a/pkg/api/protobuf/go/minder/v1/minder.pb.go b/pkg/api/protobuf/go/minder/v1/minder.pb.go index 19b2a69315..d12f6844cc 100644 --- a/pkg/api/protobuf/go/minder/v1/minder.pb.go +++ b/pkg/api/protobuf/go/minder/v1/minder.pb.go @@ -10649,15 +10649,15 @@ type EvaluationHistory struct { unknownFields protoimpl.UnknownFields // entity contains details of the entity which was evaluated. - Entity *EvaluationHistory_Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` + Entity *EvaluationHistoryEntity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` // rule contains details of the rule which the entity was evaluated against. - Rule *EvaluationHistory_Rule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + Rule *EvaluationHistoryRule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` // status contains the evaluation status. - Status *EvaluationHistory_Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Status *EvaluationHistoryStatus `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` // alert contains details of the alerts for this evaluation. - Alert *EvaluationHistory_Alert `protobuf:"bytes,4,opt,name=alert,proto3" json:"alert,omitempty"` + Alert *EvaluationHistoryAlert `protobuf:"bytes,4,opt,name=alert,proto3" json:"alert,omitempty"` // remediation contains details of the remediation for this evaluation. - Remediation *EvaluationHistory_Remediation `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"` + Remediation *EvaluationHistoryRemediation `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"` } func (x *EvaluationHistory) Reset() { @@ -10692,52 +10692,56 @@ func (*EvaluationHistory) Descriptor() ([]byte, []int) { return file_minder_v1_minder_proto_rawDescGZIP(), []int{162} } -func (x *EvaluationHistory) GetEntity() *EvaluationHistory_Entity { +func (x *EvaluationHistory) GetEntity() *EvaluationHistoryEntity { if x != nil { return x.Entity } return nil } -func (x *EvaluationHistory) GetRule() *EvaluationHistory_Rule { +func (x *EvaluationHistory) GetRule() *EvaluationHistoryRule { if x != nil { return x.Rule } return nil } -func (x *EvaluationHistory) GetStatus() *EvaluationHistory_Status { +func (x *EvaluationHistory) GetStatus() *EvaluationHistoryStatus { if x != nil { return x.Status } return nil } -func (x *EvaluationHistory) GetAlert() *EvaluationHistory_Alert { +func (x *EvaluationHistory) GetAlert() *EvaluationHistoryAlert { if x != nil { return x.Alert } return nil } -func (x *EvaluationHistory) GetRemediation() *EvaluationHistory_Remediation { +func (x *EvaluationHistory) GetRemediation() *EvaluationHistoryRemediation { if x != nil { return x.Remediation } return nil } -type PrDependencies_ContextualDependency struct { +type EvaluationHistoryEntity struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dep *Dependency `protobuf:"bytes,1,opt,name=dep,proto3" json:"dep,omitempty"` - File *PrDependencies_ContextualDependency_FilePatch `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` + // id is the ID of the entity. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // type is the entity type. + Type Entity `protobuf:"varint,2,opt,name=type,proto3,enum=minder.v1.Entity" json:"type,omitempty"` + // name is the entity name. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } -func (x *PrDependencies_ContextualDependency) Reset() { - *x = PrDependencies_ContextualDependency{} +func (x *EvaluationHistoryEntity) Reset() { + *x = EvaluationHistoryEntity{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10745,13 +10749,13 @@ func (x *PrDependencies_ContextualDependency) Reset() { } } -func (x *PrDependencies_ContextualDependency) String() string { +func (x *EvaluationHistoryEntity) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrDependencies_ContextualDependency) ProtoMessage() {} +func (*EvaluationHistoryEntity) ProtoMessage() {} -func (x *PrDependencies_ContextualDependency) ProtoReflect() protoreflect.Message { +func (x *EvaluationHistoryEntity) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10763,36 +10767,47 @@ func (x *PrDependencies_ContextualDependency) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use PrDependencies_ContextualDependency.ProtoReflect.Descriptor instead. -func (*PrDependencies_ContextualDependency) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{13, 0} +// Deprecated: Use EvaluationHistoryEntity.ProtoReflect.Descriptor instead. +func (*EvaluationHistoryEntity) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{163} } -func (x *PrDependencies_ContextualDependency) GetDep() *Dependency { +func (x *EvaluationHistoryEntity) GetId() string { if x != nil { - return x.Dep + return x.Id } - return nil + return "" } -func (x *PrDependencies_ContextualDependency) GetFile() *PrDependencies_ContextualDependency_FilePatch { +func (x *EvaluationHistoryEntity) GetType() Entity { if x != nil { - return x.File + return x.Type } - return nil + return Entity_ENTITY_UNSPECIFIED } -type PrDependencies_ContextualDependency_FilePatch struct { +func (x *EvaluationHistoryEntity) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type EvaluationHistoryRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // file changed, e.g. package-lock.json - PatchUrl string `protobuf:"bytes,2,opt,name=patch_url,json=patchUrl,proto3" json:"patch_url,omitempty"` // points to the the raw patchfile + // name is the name of the rule instance. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // type is the name of the rule type. + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // profile is the name of the profile which contains the rule. + Profile string `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"` } -func (x *PrDependencies_ContextualDependency_FilePatch) Reset() { - *x = PrDependencies_ContextualDependency_FilePatch{} +func (x *EvaluationHistoryRule) Reset() { + *x = EvaluationHistoryRule{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10800,13 +10815,13 @@ func (x *PrDependencies_ContextualDependency_FilePatch) Reset() { } } -func (x *PrDependencies_ContextualDependency_FilePatch) String() string { +func (x *EvaluationHistoryRule) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrDependencies_ContextualDependency_FilePatch) ProtoMessage() {} +func (*EvaluationHistoryRule) ProtoMessage() {} -func (x *PrDependencies_ContextualDependency_FilePatch) ProtoReflect() protoreflect.Message { +func (x *EvaluationHistoryRule) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10818,37 +10833,49 @@ func (x *PrDependencies_ContextualDependency_FilePatch) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use PrDependencies_ContextualDependency_FilePatch.ProtoReflect.Descriptor instead. -func (*PrDependencies_ContextualDependency_FilePatch) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{13, 0, 0} +// Deprecated: Use EvaluationHistoryRule.ProtoReflect.Descriptor instead. +func (*EvaluationHistoryRule) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{164} } -func (x *PrDependencies_ContextualDependency_FilePatch) GetName() string { +func (x *EvaluationHistoryRule) GetName() string { if x != nil { return x.Name } return "" } -func (x *PrDependencies_ContextualDependency_FilePatch) GetPatchUrl() string { +func (x *EvaluationHistoryRule) GetType() string { if x != nil { - return x.PatchUrl + return x.Type } return "" } -type PrContents_File struct { +func (x *EvaluationHistoryRule) GetProfile() string { + if x != nil { + return x.Profile + } + return "" +} + +type EvaluationHistoryStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - FilePatchUrl string `protobuf:"bytes,2,opt,name=file_patch_url,json=filePatchUrl,proto3" json:"file_patch_url,omitempty"` - PatchLines []*PrContents_File_Line `protobuf:"bytes,3,rep,name=patch_lines,json=patchLines,proto3" json:"patch_lines,omitempty"` + // status is one of (success, error, failure, skipped) + // not using enums to mirror the behaviour of the existing API contracts. + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // details contains optional details about the evaluation. + // the structure and contents are rule type specific, and are subject to change. + Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // created_at is the timestamp of creation of this evaluation + EvaluatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=evaluated_at,json=evaluatedAt,proto3" json:"evaluated_at,omitempty"` } -func (x *PrContents_File) Reset() { - *x = PrContents_File{} +func (x *EvaluationHistoryStatus) Reset() { + *x = EvaluationHistoryStatus{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10856,13 +10883,13 @@ func (x *PrContents_File) Reset() { } } -func (x *PrContents_File) String() string { +func (x *EvaluationHistoryStatus) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrContents_File) ProtoMessage() {} +func (*EvaluationHistoryStatus) ProtoMessage() {} -func (x *PrContents_File) ProtoReflect() protoreflect.Message { +func (x *EvaluationHistoryStatus) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10874,45 +10901,47 @@ func (x *PrContents_File) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrContents_File.ProtoReflect.Descriptor instead. -func (*PrContents_File) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{14, 0} +// Deprecated: Use EvaluationHistoryStatus.ProtoReflect.Descriptor instead. +func (*EvaluationHistoryStatus) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{165} } -func (x *PrContents_File) GetName() string { +func (x *EvaluationHistoryStatus) GetStatus() string { if x != nil { - return x.Name + return x.Status } return "" } -func (x *PrContents_File) GetFilePatchUrl() string { +func (x *EvaluationHistoryStatus) GetDetails() string { if x != nil { - return x.FilePatchUrl + return x.Details } return "" } -func (x *PrContents_File) GetPatchLines() []*PrContents_File_Line { +func (x *EvaluationHistoryStatus) GetEvaluatedAt() *timestamppb.Timestamp { if x != nil { - return x.PatchLines + return x.EvaluatedAt } return nil } -type PrContents_File_Line struct { +type EvaluationHistoryRemediation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Deliberately left as an int32: a diff with more than 2^31 lines - // could lead to various problems while processing. - LineNumber int32 `protobuf:"varint,1,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` - Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + // status is one of (success, error, failure, skipped, not available) + // not using enums to mirror the behaviour of the existing API contracts. + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // details contains optional details about the remediation. + // the structure and contents are remediation specific, and are subject to change. + Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` } -func (x *PrContents_File_Line) Reset() { - *x = PrContents_File_Line{} +func (x *EvaluationHistoryRemediation) Reset() { + *x = EvaluationHistoryRemediation{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10920,13 +10949,13 @@ func (x *PrContents_File_Line) Reset() { } } -func (x *PrContents_File_Line) String() string { +func (x *EvaluationHistoryRemediation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrContents_File_Line) ProtoMessage() {} +func (*EvaluationHistoryRemediation) ProtoMessage() {} -func (x *PrContents_File_Line) ProtoReflect() protoreflect.Message { +func (x *EvaluationHistoryRemediation) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10938,36 +10967,40 @@ func (x *PrContents_File_Line) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrContents_File_Line.ProtoReflect.Descriptor instead. -func (*PrContents_File_Line) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{14, 0, 0} +// Deprecated: Use EvaluationHistoryRemediation.ProtoReflect.Descriptor instead. +func (*EvaluationHistoryRemediation) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{166} } -func (x *PrContents_File_Line) GetLineNumber() int32 { +func (x *EvaluationHistoryRemediation) GetStatus() string { if x != nil { - return x.LineNumber + return x.Status } - return 0 + return "" } -func (x *PrContents_File_Line) GetContent() string { +func (x *EvaluationHistoryRemediation) GetDetails() string { if x != nil { - return x.Content + return x.Details } return "" } -type RegisterRepoResult_Status struct { +type EvaluationHistoryAlert struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` + // status is one of (on, off, error, skipped, not available) + // not using enums to mirror the behaviour of the existing API contracts. + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + // details contains optional details about the alert. + // the structure and contents are alert specific, and are subject to change. + Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` } -func (x *RegisterRepoResult_Status) Reset() { - *x = RegisterRepoResult_Status{} +func (x *EvaluationHistoryAlert) Reset() { + *x = EvaluationHistoryAlert{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10975,13 +11008,13 @@ func (x *RegisterRepoResult_Status) Reset() { } } -func (x *RegisterRepoResult_Status) String() string { +func (x *EvaluationHistoryAlert) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RegisterRepoResult_Status) ProtoMessage() {} +func (*EvaluationHistoryAlert) ProtoMessage() {} -func (x *RegisterRepoResult_Status) ProtoReflect() protoreflect.Message { +func (x *EvaluationHistoryAlert) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -10993,54 +11026,51 @@ func (x *RegisterRepoResult_Status) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RegisterRepoResult_Status.ProtoReflect.Descriptor instead. -func (*RegisterRepoResult_Status) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{29, 0} +// Deprecated: Use EvaluationHistoryAlert.ProtoReflect.Descriptor instead. +func (*EvaluationHistoryAlert) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{167} } -func (x *RegisterRepoResult_Status) GetSuccess() bool { +func (x *EvaluationHistoryAlert) GetStatus() string { if x != nil { - return x.Success + return x.Status } - return false + return "" } -func (x *RegisterRepoResult_Status) GetError() string { - if x != nil && x.Error != nil { - return *x.Error +func (x *EvaluationHistoryAlert) GetDetails() string { + if x != nil { + return x.Details } return "" } -type ListEvaluationResultsResponse_EntityProfileEvaluationResults struct { +type PrDependencies_ContextualDependency struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // profile_status is the status of the profile - id, name, status, last_updated - ProfileStatus *ProfileStatus `protobuf:"bytes,1,opt,name=profile_status,json=profileStatus,proto3" json:"profile_status,omitempty"` - // Note that some fields like profile_id and entity might be empty - // Eventually we might replace this type with another one that fits the API better - Results []*RuleEvaluationStatus `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` + Dep *Dependency `protobuf:"bytes,1,opt,name=dep,proto3" json:"dep,omitempty"` + File *PrDependencies_ContextualDependency_FilePatch `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` } -func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) Reset() { - *x = ListEvaluationResultsResponse_EntityProfileEvaluationResults{} +func (x *PrDependencies_ContextualDependency) Reset() { + *x = PrDependencies_ContextualDependency{} if protoimpl.UnsafeEnabled { - mi := &file_minder_v1_minder_proto_msgTypes[170] + mi := &file_minder_v1_minder_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) String() string { +func (x *PrDependencies_ContextualDependency) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoMessage() {} +func (*PrDependencies_ContextualDependency) ProtoMessage() {} -func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[170] +func (x *PrDependencies_ContextualDependency) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11051,51 +11081,51 @@ func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoRefl return mi.MessageOf(x) } -// Deprecated: Use ListEvaluationResultsResponse_EntityProfileEvaluationResults.ProtoReflect.Descriptor instead. -func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{99, 0} +// Deprecated: Use PrDependencies_ContextualDependency.ProtoReflect.Descriptor instead. +func (*PrDependencies_ContextualDependency) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{13, 0} } -func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) GetProfileStatus() *ProfileStatus { +func (x *PrDependencies_ContextualDependency) GetDep() *Dependency { if x != nil { - return x.ProfileStatus + return x.Dep } return nil } -func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) GetResults() []*RuleEvaluationStatus { +func (x *PrDependencies_ContextualDependency) GetFile() *PrDependencies_ContextualDependency_FilePatch { if x != nil { - return x.Results + return x.File } return nil } -type ListEvaluationResultsResponse_EntityEvaluationResults struct { +type PrDependencies_ContextualDependency_FilePatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Entity *EntityTypedId `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` - Profiles []*ListEvaluationResultsResponse_EntityProfileEvaluationResults `protobuf:"bytes,2,rep,name=profiles,proto3" json:"profiles,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // file changed, e.g. package-lock.json + PatchUrl string `protobuf:"bytes,2,opt,name=patch_url,json=patchUrl,proto3" json:"patch_url,omitempty"` // points to the the raw patchfile } -func (x *ListEvaluationResultsResponse_EntityEvaluationResults) Reset() { - *x = ListEvaluationResultsResponse_EntityEvaluationResults{} +func (x *PrDependencies_ContextualDependency_FilePatch) Reset() { + *x = PrDependencies_ContextualDependency_FilePatch{} if protoimpl.UnsafeEnabled { - mi := &file_minder_v1_minder_proto_msgTypes[171] + mi := &file_minder_v1_minder_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListEvaluationResultsResponse_EntityEvaluationResults) String() string { +func (x *PrDependencies_ContextualDependency_FilePatch) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListEvaluationResultsResponse_EntityEvaluationResults) ProtoMessage() {} +func (*PrDependencies_ContextualDependency_FilePatch) ProtoMessage() {} -func (x *ListEvaluationResultsResponse_EntityEvaluationResults) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[171] +func (x *PrDependencies_ContextualDependency_FilePatch) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11106,51 +11136,52 @@ func (x *ListEvaluationResultsResponse_EntityEvaluationResults) ProtoReflect() p return mi.MessageOf(x) } -// Deprecated: Use ListEvaluationResultsResponse_EntityEvaluationResults.ProtoReflect.Descriptor instead. -func (*ListEvaluationResultsResponse_EntityEvaluationResults) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{99, 1} +// Deprecated: Use PrDependencies_ContextualDependency_FilePatch.ProtoReflect.Descriptor instead. +func (*PrDependencies_ContextualDependency_FilePatch) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{13, 0, 0} } -func (x *ListEvaluationResultsResponse_EntityEvaluationResults) GetEntity() *EntityTypedId { +func (x *PrDependencies_ContextualDependency_FilePatch) GetName() string { if x != nil { - return x.Entity + return x.Name } - return nil + return "" } -func (x *ListEvaluationResultsResponse_EntityEvaluationResults) GetProfiles() []*ListEvaluationResultsResponse_EntityProfileEvaluationResults { +func (x *PrDependencies_ContextualDependency_FilePatch) GetPatchUrl() string { if x != nil { - return x.Profiles + return x.PatchUrl } - return nil + return "" } -type RestType_Fallback struct { +type PrContents_File struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HttpCode int32 `protobuf:"varint,1,opt,name=http_code,json=httpCode,proto3" json:"http_code,omitempty"` - Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + FilePatchUrl string `protobuf:"bytes,2,opt,name=file_patch_url,json=filePatchUrl,proto3" json:"file_patch_url,omitempty"` + PatchLines []*PrContents_File_Line `protobuf:"bytes,3,rep,name=patch_lines,json=patchLines,proto3" json:"patch_lines,omitempty"` } -func (x *RestType_Fallback) Reset() { - *x = RestType_Fallback{} +func (x *PrContents_File) Reset() { + *x = PrContents_File{} if protoimpl.UnsafeEnabled { - mi := &file_minder_v1_minder_proto_msgTypes[172] + mi := &file_minder_v1_minder_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RestType_Fallback) String() string { +func (x *PrContents_File) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RestType_Fallback) ProtoMessage() {} +func (*PrContents_File) ProtoMessage() {} -func (x *RestType_Fallback) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[172] +func (x *PrContents_File) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11161,53 +11192,60 @@ func (x *RestType_Fallback) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RestType_Fallback.ProtoReflect.Descriptor instead. -func (*RestType_Fallback) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{100, 0} +// Deprecated: Use PrContents_File.ProtoReflect.Descriptor instead. +func (*PrContents_File) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{14, 0} } -func (x *RestType_Fallback) GetHttpCode() int32 { +func (x *PrContents_File) GetName() string { if x != nil { - return x.HttpCode + return x.Name } - return 0 + return "" } -func (x *RestType_Fallback) GetBody() string { +func (x *PrContents_File) GetFilePatchUrl() string { if x != nil { - return x.Body + return x.FilePatchUrl } return "" } -type DiffType_Ecosystem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // name is the name of the ecosystem. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // depfile is the file that contains the dependencies for this ecosystem - Depfile string `protobuf:"bytes,2,opt,name=depfile,proto3" json:"depfile,omitempty"` +func (x *PrContents_File) GetPatchLines() []*PrContents_File_Line { + if x != nil { + return x.PatchLines + } + return nil } -func (x *DiffType_Ecosystem) Reset() { - *x = DiffType_Ecosystem{} +type PrContents_File_Line struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deliberately left as an int32: a diff with more than 2^31 lines + // could lead to various problems while processing. + LineNumber int32 `protobuf:"varint,1,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"` + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` +} + +func (x *PrContents_File_Line) Reset() { + *x = PrContents_File_Line{} if protoimpl.UnsafeEnabled { - mi := &file_minder_v1_minder_proto_msgTypes[173] + mi := &file_minder_v1_minder_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DiffType_Ecosystem) String() string { +func (x *PrContents_File_Line) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DiffType_Ecosystem) ProtoMessage() {} +func (*PrContents_File_Line) ProtoMessage() {} -func (x *DiffType_Ecosystem) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[173] +func (x *PrContents_File_Line) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11218,62 +11256,51 @@ func (x *DiffType_Ecosystem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DiffType_Ecosystem.ProtoReflect.Descriptor instead. -func (*DiffType_Ecosystem) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{104, 0} +// Deprecated: Use PrContents_File_Line.ProtoReflect.Descriptor instead. +func (*PrContents_File_Line) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{14, 0, 0} } -func (x *DiffType_Ecosystem) GetName() string { +func (x *PrContents_File_Line) GetLineNumber() int32 { if x != nil { - return x.Name + return x.LineNumber } - return "" + return 0 } -func (x *DiffType_Ecosystem) GetDepfile() string { +func (x *PrContents_File_Line) GetContent() string { if x != nil { - return x.Depfile + return x.Content } return "" } -// Definition defines the rule type. It encompases the schema and the data evaluation. -type RuleType_Definition struct { +type RegisterRepoResult_Status struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // in_entity is the entity in which the rule is evaluated. - // This can be repository, build_environment or artifact. - InEntity string `protobuf:"bytes,1,opt,name=in_entity,json=inEntity,proto3" json:"in_entity,omitempty"` - // rule_schema is the schema of the rule. This is expressed in JSON Schema. - RuleSchema *structpb.Struct `protobuf:"bytes,2,opt,name=rule_schema,json=ruleSchema,proto3" json:"rule_schema,omitempty"` - // param_schema is the schema of the parameters that are passed to the rule. - // This is expressed in JSON Schema. - ParamSchema *structpb.Struct `protobuf:"bytes,3,opt,name=param_schema,json=paramSchema,proto3,oneof" json:"param_schema,omitempty"` - Ingest *RuleType_Definition_Ingest `protobuf:"bytes,4,opt,name=ingest,proto3" json:"ingest,omitempty"` - Eval *RuleType_Definition_Eval `protobuf:"bytes,5,opt,name=eval,proto3" json:"eval,omitempty"` - Remediate *RuleType_Definition_Remediate `protobuf:"bytes,6,opt,name=remediate,proto3" json:"remediate,omitempty"` - Alert *RuleType_Definition_Alert `protobuf:"bytes,7,opt,name=alert,proto3" json:"alert,omitempty"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` } -func (x *RuleType_Definition) Reset() { - *x = RuleType_Definition{} +func (x *RegisterRepoResult_Status) Reset() { + *x = RegisterRepoResult_Status{} if protoimpl.UnsafeEnabled { - mi := &file_minder_v1_minder_proto_msgTypes[174] + mi := &file_minder_v1_minder_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RuleType_Definition) String() string { +func (x *RegisterRepoResult_Status) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition) ProtoMessage() {} +func (*RegisterRepoResult_Status) ProtoMessage() {} -func (x *RuleType_Definition) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[174] +func (x *RegisterRepoResult_Status) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11284,84 +11311,39 @@ func (x *RuleType_Definition) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition.ProtoReflect.Descriptor instead. -func (*RuleType_Definition) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0} -} - -func (x *RuleType_Definition) GetInEntity() string { - if x != nil { - return x.InEntity - } - return "" -} - -func (x *RuleType_Definition) GetRuleSchema() *structpb.Struct { - if x != nil { - return x.RuleSchema - } - return nil -} - -func (x *RuleType_Definition) GetParamSchema() *structpb.Struct { - if x != nil { - return x.ParamSchema - } - return nil -} - -func (x *RuleType_Definition) GetIngest() *RuleType_Definition_Ingest { - if x != nil { - return x.Ingest - } - return nil -} - -func (x *RuleType_Definition) GetEval() *RuleType_Definition_Eval { - if x != nil { - return x.Eval - } - return nil +// Deprecated: Use RegisterRepoResult_Status.ProtoReflect.Descriptor instead. +func (*RegisterRepoResult_Status) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{29, 0} } -func (x *RuleType_Definition) GetRemediate() *RuleType_Definition_Remediate { +func (x *RegisterRepoResult_Status) GetSuccess() bool { if x != nil { - return x.Remediate + return x.Success } - return nil + return false } -func (x *RuleType_Definition) GetAlert() *RuleType_Definition_Alert { - if x != nil { - return x.Alert +func (x *RegisterRepoResult_Status) GetError() string { + if x != nil && x.Error != nil { + return *x.Error } - return nil + return "" } -// Ingest defines how the data is ingested. -type RuleType_Definition_Ingest struct { +type ListEvaluationResultsResponse_EntityProfileEvaluationResults struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // type is the type of the data ingestion. - // we currently support rest, artifact and builtin. - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // rest is the rest data ingestion. - // this is only used if the type is rest. - Rest *RestType `protobuf:"bytes,3,opt,name=rest,proto3,oneof" json:"rest,omitempty"` - // builtin is the builtin data ingestion. - Builtin *BuiltinType `protobuf:"bytes,4,opt,name=builtin,proto3,oneof" json:"builtin,omitempty"` - // artifact is the artifact data ingestion. - Artifact *ArtifactType `protobuf:"bytes,5,opt,name=artifact,proto3,oneof" json:"artifact,omitempty"` - // git is the git data ingestion. - Git *GitType `protobuf:"bytes,6,opt,name=git,proto3,oneof" json:"git,omitempty"` - // diff is the diff data ingestion. - Diff *DiffType `protobuf:"bytes,7,opt,name=diff,proto3,oneof" json:"diff,omitempty"` + // profile_status is the status of the profile - id, name, status, last_updated + ProfileStatus *ProfileStatus `protobuf:"bytes,1,opt,name=profile_status,json=profileStatus,proto3" json:"profile_status,omitempty"` + // Note that some fields like profile_id and entity might be empty + // Eventually we might replace this type with another one that fits the API better + Results []*RuleEvaluationStatus `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` } -func (x *RuleType_Definition_Ingest) Reset() { - *x = RuleType_Definition_Ingest{} +func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) Reset() { + *x = ListEvaluationResultsResponse_EntityProfileEvaluationResults{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11369,13 +11351,13 @@ func (x *RuleType_Definition_Ingest) Reset() { } } -func (x *RuleType_Definition_Ingest) String() string { +func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Ingest) ProtoMessage() {} +func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoMessage() {} -func (x *RuleType_Definition_Ingest) ProtoReflect() protoreflect.Message { +func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11387,81 +11369,36 @@ func (x *RuleType_Definition_Ingest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Ingest.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Ingest) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 0} -} - -func (x *RuleType_Definition_Ingest) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *RuleType_Definition_Ingest) GetRest() *RestType { - if x != nil { - return x.Rest - } - return nil -} - -func (x *RuleType_Definition_Ingest) GetBuiltin() *BuiltinType { - if x != nil { - return x.Builtin - } - return nil -} - -func (x *RuleType_Definition_Ingest) GetArtifact() *ArtifactType { - if x != nil { - return x.Artifact - } - return nil +// Deprecated: Use ListEvaluationResultsResponse_EntityProfileEvaluationResults.ProtoReflect.Descriptor instead. +func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{99, 0} } -func (x *RuleType_Definition_Ingest) GetGit() *GitType { +func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) GetProfileStatus() *ProfileStatus { if x != nil { - return x.Git + return x.ProfileStatus } return nil } -func (x *RuleType_Definition_Ingest) GetDiff() *DiffType { +func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) GetResults() []*RuleEvaluationStatus { if x != nil { - return x.Diff + return x.Results } return nil } -// Eval defines the data evaluation definition. -// This pertains to the way we traverse data from the upstream -// endpoint and how we compare it to the rule. -type RuleType_Definition_Eval struct { +type ListEvaluationResultsResponse_EntityEvaluationResults struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // type is the type of the data evaluation. - // Right now only `jq` is supported as a driver - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // jq is only used if the `jq` type is selected. - // It defines the comparisons that are made between - // the ingested data and the profile rule. - Jq []*RuleType_Definition_Eval_JQComparison `protobuf:"bytes,2,rep,name=jq,proto3" json:"jq,omitempty"` - // rego is only used if the `rego` type is selected. - Rego *RuleType_Definition_Eval_Rego `protobuf:"bytes,3,opt,name=rego,proto3,oneof" json:"rego,omitempty"` - // vulncheck is only used if the `vulncheck` type is selected. - Vulncheck *RuleType_Definition_Eval_Vulncheck `protobuf:"bytes,4,opt,name=vulncheck,proto3,oneof" json:"vulncheck,omitempty"` - // The trusty type is no longer used, but is still here for backwards - // compatibility with existing stored rules - Trusty *RuleType_Definition_Eval_Trusty `protobuf:"bytes,5,opt,name=trusty,proto3,oneof" json:"trusty,omitempty"` - // homoglyphs is only used if the `homoglyphs` type is selected. - Homoglyphs *RuleType_Definition_Eval_Homoglyphs `protobuf:"bytes,6,opt,name=homoglyphs,proto3,oneof" json:"homoglyphs,omitempty"` + Entity *EntityTypedId `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` + Profiles []*ListEvaluationResultsResponse_EntityProfileEvaluationResults `protobuf:"bytes,2,rep,name=profiles,proto3" json:"profiles,omitempty"` } -func (x *RuleType_Definition_Eval) Reset() { - *x = RuleType_Definition_Eval{} +func (x *ListEvaluationResultsResponse_EntityEvaluationResults) Reset() { + *x = ListEvaluationResultsResponse_EntityEvaluationResults{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11469,13 +11406,13 @@ func (x *RuleType_Definition_Eval) Reset() { } } -func (x *RuleType_Definition_Eval) String() string { +func (x *ListEvaluationResultsResponse_EntityEvaluationResults) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval) ProtoMessage() {} +func (*ListEvaluationResultsResponse_EntityEvaluationResults) ProtoMessage() {} -func (x *RuleType_Definition_Eval) ProtoReflect() protoreflect.Message { +func (x *ListEvaluationResultsResponse_EntityEvaluationResults) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11487,66 +11424,36 @@ func (x *RuleType_Definition_Eval) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1} +// Deprecated: Use ListEvaluationResultsResponse_EntityEvaluationResults.ProtoReflect.Descriptor instead. +func (*ListEvaluationResultsResponse_EntityEvaluationResults) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{99, 1} } -func (x *RuleType_Definition_Eval) GetType() string { +func (x *ListEvaluationResultsResponse_EntityEvaluationResults) GetEntity() *EntityTypedId { if x != nil { - return x.Type + return x.Entity } - return "" + return nil } -func (x *RuleType_Definition_Eval) GetJq() []*RuleType_Definition_Eval_JQComparison { +func (x *ListEvaluationResultsResponse_EntityEvaluationResults) GetProfiles() []*ListEvaluationResultsResponse_EntityProfileEvaluationResults { if x != nil { - return x.Jq + return x.Profiles } return nil } -func (x *RuleType_Definition_Eval) GetRego() *RuleType_Definition_Eval_Rego { - if x != nil { - return x.Rego - } - return nil -} - -func (x *RuleType_Definition_Eval) GetVulncheck() *RuleType_Definition_Eval_Vulncheck { - if x != nil { - return x.Vulncheck - } - return nil -} - -func (x *RuleType_Definition_Eval) GetTrusty() *RuleType_Definition_Eval_Trusty { - if x != nil { - return x.Trusty - } - return nil -} - -func (x *RuleType_Definition_Eval) GetHomoglyphs() *RuleType_Definition_Eval_Homoglyphs { - if x != nil { - return x.Homoglyphs - } - return nil -} - -type RuleType_Definition_Remediate struct { +type RestType_Fallback struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - Rest *RestType `protobuf:"bytes,2,opt,name=rest,proto3,oneof" json:"rest,omitempty"` - GhBranchProtection *RuleType_Definition_Remediate_GhBranchProtectionType `protobuf:"bytes,3,opt,name=gh_branch_protection,json=ghBranchProtection,proto3,oneof" json:"gh_branch_protection,omitempty"` - PullRequest *RuleType_Definition_Remediate_PullRequestRemediation `protobuf:"bytes,4,opt,name=pull_request,json=pullRequest,proto3,oneof" json:"pull_request,omitempty"` + HttpCode int32 `protobuf:"varint,1,opt,name=http_code,json=httpCode,proto3" json:"http_code,omitempty"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` } -func (x *RuleType_Definition_Remediate) Reset() { - *x = RuleType_Definition_Remediate{} +func (x *RestType_Fallback) Reset() { + *x = RestType_Fallback{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11554,13 +11461,13 @@ func (x *RuleType_Definition_Remediate) Reset() { } } -func (x *RuleType_Definition_Remediate) String() string { +func (x *RestType_Fallback) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Remediate) ProtoMessage() {} +func (*RestType_Fallback) ProtoMessage() {} -func (x *RuleType_Definition_Remediate) ProtoReflect() protoreflect.Message { +func (x *RestType_Fallback) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11572,50 +11479,38 @@ func (x *RuleType_Definition_Remediate) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Remediate.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Remediate) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2} -} - -func (x *RuleType_Definition_Remediate) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *RuleType_Definition_Remediate) GetRest() *RestType { - if x != nil { - return x.Rest - } - return nil +// Deprecated: Use RestType_Fallback.ProtoReflect.Descriptor instead. +func (*RestType_Fallback) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{100, 0} } -func (x *RuleType_Definition_Remediate) GetGhBranchProtection() *RuleType_Definition_Remediate_GhBranchProtectionType { +func (x *RestType_Fallback) GetHttpCode() int32 { if x != nil { - return x.GhBranchProtection + return x.HttpCode } - return nil + return 0 } -func (x *RuleType_Definition_Remediate) GetPullRequest() *RuleType_Definition_Remediate_PullRequestRemediation { +func (x *RestType_Fallback) GetBody() string { if x != nil { - return x.PullRequest + return x.Body } - return nil + return "" } -type RuleType_Definition_Alert struct { +type DiffType_Ecosystem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - SecurityAdvisory *RuleType_Definition_Alert_AlertTypeSA `protobuf:"bytes,2,opt,name=security_advisory,json=securityAdvisory,proto3,oneof" json:"security_advisory,omitempty"` + // name is the name of the ecosystem. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // depfile is the file that contains the dependencies for this ecosystem + Depfile string `protobuf:"bytes,2,opt,name=depfile,proto3" json:"depfile,omitempty"` } -func (x *RuleType_Definition_Alert) Reset() { - *x = RuleType_Definition_Alert{} +func (x *DiffType_Ecosystem) Reset() { + *x = DiffType_Ecosystem{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11623,13 +11518,13 @@ func (x *RuleType_Definition_Alert) Reset() { } } -func (x *RuleType_Definition_Alert) String() string { +func (x *DiffType_Ecosystem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Alert) ProtoMessage() {} +func (*DiffType_Ecosystem) ProtoMessage() {} -func (x *RuleType_Definition_Alert) ProtoReflect() protoreflect.Message { +func (x *DiffType_Ecosystem) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11641,38 +11536,47 @@ func (x *RuleType_Definition_Alert) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Alert.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Alert) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 3} +// Deprecated: Use DiffType_Ecosystem.ProtoReflect.Descriptor instead. +func (*DiffType_Ecosystem) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{104, 0} } -func (x *RuleType_Definition_Alert) GetType() string { +func (x *DiffType_Ecosystem) GetName() string { if x != nil { - return x.Type + return x.Name } return "" } -func (x *RuleType_Definition_Alert) GetSecurityAdvisory() *RuleType_Definition_Alert_AlertTypeSA { +func (x *DiffType_Ecosystem) GetDepfile() string { if x != nil { - return x.SecurityAdvisory + return x.Depfile } - return nil + return "" } -type RuleType_Definition_Eval_JQComparison struct { +// Definition defines the rule type. It encompases the schema and the data evaluation. +type RuleType_Definition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Ingested points to the data retrieved in the `ingest` section - Ingested *RuleType_Definition_Eval_JQComparison_Operator `protobuf:"bytes,1,opt,name=ingested,proto3" json:"ingested,omitempty"` - // Profile points to the profile itself. - Profile *RuleType_Definition_Eval_JQComparison_Operator `protobuf:"bytes,2,opt,name=profile,proto3" json:"profile,omitempty"` + // in_entity is the entity in which the rule is evaluated. + // This can be repository, build_environment or artifact. + InEntity string `protobuf:"bytes,1,opt,name=in_entity,json=inEntity,proto3" json:"in_entity,omitempty"` + // rule_schema is the schema of the rule. This is expressed in JSON Schema. + RuleSchema *structpb.Struct `protobuf:"bytes,2,opt,name=rule_schema,json=ruleSchema,proto3" json:"rule_schema,omitempty"` + // param_schema is the schema of the parameters that are passed to the rule. + // This is expressed in JSON Schema. + ParamSchema *structpb.Struct `protobuf:"bytes,3,opt,name=param_schema,json=paramSchema,proto3,oneof" json:"param_schema,omitempty"` + Ingest *RuleType_Definition_Ingest `protobuf:"bytes,4,opt,name=ingest,proto3" json:"ingest,omitempty"` + Eval *RuleType_Definition_Eval `protobuf:"bytes,5,opt,name=eval,proto3" json:"eval,omitempty"` + Remediate *RuleType_Definition_Remediate `protobuf:"bytes,6,opt,name=remediate,proto3" json:"remediate,omitempty"` + Alert *RuleType_Definition_Alert `protobuf:"bytes,7,opt,name=alert,proto3" json:"alert,omitempty"` } -func (x *RuleType_Definition_Eval_JQComparison) Reset() { - *x = RuleType_Definition_Eval_JQComparison{} +func (x *RuleType_Definition) Reset() { + *x = RuleType_Definition{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11680,13 +11584,13 @@ func (x *RuleType_Definition_Eval_JQComparison) Reset() { } } -func (x *RuleType_Definition_Eval_JQComparison) String() string { +func (x *RuleType_Definition) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_JQComparison) ProtoMessage() {} +func (*RuleType_Definition) ProtoMessage() {} -func (x *RuleType_Definition_Eval_JQComparison) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11698,52 +11602,84 @@ func (x *RuleType_Definition_Eval_JQComparison) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_JQComparison.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_JQComparison) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 0} +// Deprecated: Use RuleType_Definition.ProtoReflect.Descriptor instead. +func (*RuleType_Definition) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0} } -func (x *RuleType_Definition_Eval_JQComparison) GetIngested() *RuleType_Definition_Eval_JQComparison_Operator { +func (x *RuleType_Definition) GetInEntity() string { if x != nil { - return x.Ingested + return x.InEntity + } + return "" +} + +func (x *RuleType_Definition) GetRuleSchema() *structpb.Struct { + if x != nil { + return x.RuleSchema } return nil } -func (x *RuleType_Definition_Eval_JQComparison) GetProfile() *RuleType_Definition_Eval_JQComparison_Operator { +func (x *RuleType_Definition) GetParamSchema() *structpb.Struct { if x != nil { - return x.Profile + return x.ParamSchema } return nil } -type RuleType_Definition_Eval_Rego struct { +func (x *RuleType_Definition) GetIngest() *RuleType_Definition_Ingest { + if x != nil { + return x.Ingest + } + return nil +} + +func (x *RuleType_Definition) GetEval() *RuleType_Definition_Eval { + if x != nil { + return x.Eval + } + return nil +} + +func (x *RuleType_Definition) GetRemediate() *RuleType_Definition_Remediate { + if x != nil { + return x.Remediate + } + return nil +} + +func (x *RuleType_Definition) GetAlert() *RuleType_Definition_Alert { + if x != nil { + return x.Alert + } + return nil +} + +// Ingest defines how the data is ingested. +type RuleType_Definition_Ingest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // type is the type of evaluation engine to use - // for rego. We currently have two modes of operation: - // - deny-by-default: this is the default mode of operation - // where we deny access by default and allow access only - // if the profile explicitly allows it. It expects the - // profile to set an `allow` variable to true or false. - // - constraints: this is the mode of operation where we - // allow access by default and deny access only if a - // violation is found. It expects the profile to set a - // `violations` variable with a "msg" field. + // type is the type of the data ingestion. + // we currently support rest, artifact and builtin. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // def is the definition of the rego profile. - Def string `protobuf:"bytes,2,opt,name=def,proto3" json:"def,omitempty"` - // how are violations reported. This is only used if the - // `constraints` type is selected. The default is `text` - // which returns human-readable text. The other option is - // `json` which returns a JSON array containing the violations. - ViolationFormat *string `protobuf:"bytes,3,opt,name=violation_format,json=violationFormat,proto3,oneof" json:"violation_format,omitempty"` + // rest is the rest data ingestion. + // this is only used if the type is rest. + Rest *RestType `protobuf:"bytes,3,opt,name=rest,proto3,oneof" json:"rest,omitempty"` + // builtin is the builtin data ingestion. + Builtin *BuiltinType `protobuf:"bytes,4,opt,name=builtin,proto3,oneof" json:"builtin,omitempty"` + // artifact is the artifact data ingestion. + Artifact *ArtifactType `protobuf:"bytes,5,opt,name=artifact,proto3,oneof" json:"artifact,omitempty"` + // git is the git data ingestion. + Git *GitType `protobuf:"bytes,6,opt,name=git,proto3,oneof" json:"git,omitempty"` + // diff is the diff data ingestion. + Diff *DiffType `protobuf:"bytes,7,opt,name=diff,proto3,oneof" json:"diff,omitempty"` } -func (x *RuleType_Definition_Eval_Rego) Reset() { - *x = RuleType_Definition_Eval_Rego{} +func (x *RuleType_Definition_Ingest) Reset() { + *x = RuleType_Definition_Ingest{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11751,13 +11687,13 @@ func (x *RuleType_Definition_Eval_Rego) Reset() { } } -func (x *RuleType_Definition_Eval_Rego) String() string { +func (x *RuleType_Definition_Ingest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_Rego) ProtoMessage() {} +func (*RuleType_Definition_Ingest) ProtoMessage() {} -func (x *RuleType_Definition_Eval_Rego) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Ingest) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11769,40 +11705,81 @@ func (x *RuleType_Definition_Eval_Rego) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_Rego.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_Rego) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 1} +// Deprecated: Use RuleType_Definition_Ingest.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Ingest) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 0} } -func (x *RuleType_Definition_Eval_Rego) GetType() string { +func (x *RuleType_Definition_Ingest) GetType() string { if x != nil { return x.Type } return "" } -func (x *RuleType_Definition_Eval_Rego) GetDef() string { +func (x *RuleType_Definition_Ingest) GetRest() *RestType { if x != nil { - return x.Def + return x.Rest } - return "" + return nil } -func (x *RuleType_Definition_Eval_Rego) GetViolationFormat() string { - if x != nil && x.ViolationFormat != nil { - return *x.ViolationFormat +func (x *RuleType_Definition_Ingest) GetBuiltin() *BuiltinType { + if x != nil { + return x.Builtin } - return "" + return nil } -type RuleType_Definition_Eval_Vulncheck struct { +func (x *RuleType_Definition_Ingest) GetArtifact() *ArtifactType { + if x != nil { + return x.Artifact + } + return nil +} + +func (x *RuleType_Definition_Ingest) GetGit() *GitType { + if x != nil { + return x.Git + } + return nil +} + +func (x *RuleType_Definition_Ingest) GetDiff() *DiffType { + if x != nil { + return x.Diff + } + return nil +} + +// Eval defines the data evaluation definition. +// This pertains to the way we traverse data from the upstream +// endpoint and how we compare it to the rule. +type RuleType_Definition_Eval struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // type is the type of the data evaluation. + // Right now only `jq` is supported as a driver + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // jq is only used if the `jq` type is selected. + // It defines the comparisons that are made between + // the ingested data and the profile rule. + Jq []*RuleType_Definition_Eval_JQComparison `protobuf:"bytes,2,rep,name=jq,proto3" json:"jq,omitempty"` + // rego is only used if the `rego` type is selected. + Rego *RuleType_Definition_Eval_Rego `protobuf:"bytes,3,opt,name=rego,proto3,oneof" json:"rego,omitempty"` + // vulncheck is only used if the `vulncheck` type is selected. + Vulncheck *RuleType_Definition_Eval_Vulncheck `protobuf:"bytes,4,opt,name=vulncheck,proto3,oneof" json:"vulncheck,omitempty"` + // The trusty type is no longer used, but is still here for backwards + // compatibility with existing stored rules + Trusty *RuleType_Definition_Eval_Trusty `protobuf:"bytes,5,opt,name=trusty,proto3,oneof" json:"trusty,omitempty"` + // homoglyphs is only used if the `homoglyphs` type is selected. + Homoglyphs *RuleType_Definition_Eval_Homoglyphs `protobuf:"bytes,6,opt,name=homoglyphs,proto3,oneof" json:"homoglyphs,omitempty"` } -func (x *RuleType_Definition_Eval_Vulncheck) Reset() { - *x = RuleType_Definition_Eval_Vulncheck{} +func (x *RuleType_Definition_Eval) Reset() { + *x = RuleType_Definition_Eval{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11810,13 +11787,13 @@ func (x *RuleType_Definition_Eval_Vulncheck) Reset() { } } -func (x *RuleType_Definition_Eval_Vulncheck) String() string { +func (x *RuleType_Definition_Eval) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_Vulncheck) ProtoMessage() {} +func (*RuleType_Definition_Eval) ProtoMessage() {} -func (x *RuleType_Definition_Eval_Vulncheck) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11828,23 +11805,66 @@ func (x *RuleType_Definition_Eval_Vulncheck) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_Vulncheck.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_Vulncheck) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 2} +// Deprecated: Use RuleType_Definition_Eval.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1} } -type RuleType_Definition_Eval_Trusty struct { +func (x *RuleType_Definition_Eval) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *RuleType_Definition_Eval) GetJq() []*RuleType_Definition_Eval_JQComparison { + if x != nil { + return x.Jq + } + return nil +} + +func (x *RuleType_Definition_Eval) GetRego() *RuleType_Definition_Eval_Rego { + if x != nil { + return x.Rego + } + return nil +} + +func (x *RuleType_Definition_Eval) GetVulncheck() *RuleType_Definition_Eval_Vulncheck { + if x != nil { + return x.Vulncheck + } + return nil +} + +func (x *RuleType_Definition_Eval) GetTrusty() *RuleType_Definition_Eval_Trusty { + if x != nil { + return x.Trusty + } + return nil +} + +func (x *RuleType_Definition_Eval) GetHomoglyphs() *RuleType_Definition_Eval_Homoglyphs { + if x != nil { + return x.Homoglyphs + } + return nil +} + +type RuleType_Definition_Remediate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // This is no longer used, but is still here for backwards - // compatibility with existing stored rules - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Rest *RestType `protobuf:"bytes,2,opt,name=rest,proto3,oneof" json:"rest,omitempty"` + GhBranchProtection *RuleType_Definition_Remediate_GhBranchProtectionType `protobuf:"bytes,3,opt,name=gh_branch_protection,json=ghBranchProtection,proto3,oneof" json:"gh_branch_protection,omitempty"` + PullRequest *RuleType_Definition_Remediate_PullRequestRemediation `protobuf:"bytes,4,opt,name=pull_request,json=pullRequest,proto3,oneof" json:"pull_request,omitempty"` } -func (x *RuleType_Definition_Eval_Trusty) Reset() { - *x = RuleType_Definition_Eval_Trusty{} +func (x *RuleType_Definition_Remediate) Reset() { + *x = RuleType_Definition_Remediate{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11852,13 +11872,13 @@ func (x *RuleType_Definition_Eval_Trusty) Reset() { } } -func (x *RuleType_Definition_Eval_Trusty) String() string { +func (x *RuleType_Definition_Remediate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_Trusty) ProtoMessage() {} +func (*RuleType_Definition_Remediate) ProtoMessage() {} -func (x *RuleType_Definition_Eval_Trusty) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Remediate) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11870,28 +11890,50 @@ func (x *RuleType_Definition_Eval_Trusty) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_Trusty.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_Trusty) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 3} +// Deprecated: Use RuleType_Definition_Remediate.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Remediate) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2} +} + +func (x *RuleType_Definition_Remediate) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *RuleType_Definition_Remediate) GetRest() *RestType { + if x != nil { + return x.Rest + } + return nil +} + +func (x *RuleType_Definition_Remediate) GetGhBranchProtection() *RuleType_Definition_Remediate_GhBranchProtectionType { + if x != nil { + return x.GhBranchProtection + } + return nil } -func (x *RuleType_Definition_Eval_Trusty) GetEndpoint() string { +func (x *RuleType_Definition_Remediate) GetPullRequest() *RuleType_Definition_Remediate_PullRequestRemediation { if x != nil { - return x.Endpoint + return x.PullRequest } - return "" + return nil } -type RuleType_Definition_Eval_Homoglyphs struct { +type RuleType_Definition_Alert struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + SecurityAdvisory *RuleType_Definition_Alert_AlertTypeSA `protobuf:"bytes,2,opt,name=security_advisory,json=securityAdvisory,proto3,oneof" json:"security_advisory,omitempty"` } -func (x *RuleType_Definition_Eval_Homoglyphs) Reset() { - *x = RuleType_Definition_Eval_Homoglyphs{} +func (x *RuleType_Definition_Alert) Reset() { + *x = RuleType_Definition_Alert{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11899,13 +11941,13 @@ func (x *RuleType_Definition_Eval_Homoglyphs) Reset() { } } -func (x *RuleType_Definition_Eval_Homoglyphs) String() string { +func (x *RuleType_Definition_Alert) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_Homoglyphs) ProtoMessage() {} +func (*RuleType_Definition_Alert) ProtoMessage() {} -func (x *RuleType_Definition_Eval_Homoglyphs) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Alert) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11917,28 +11959,38 @@ func (x *RuleType_Definition_Eval_Homoglyphs) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_Homoglyphs.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_Homoglyphs) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 4} +// Deprecated: Use RuleType_Definition_Alert.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Alert) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 3} } -func (x *RuleType_Definition_Eval_Homoglyphs) GetType() string { +func (x *RuleType_Definition_Alert) GetType() string { if x != nil { return x.Type } return "" } -type RuleType_Definition_Eval_JQComparison_Operator struct { +func (x *RuleType_Definition_Alert) GetSecurityAdvisory() *RuleType_Definition_Alert_AlertTypeSA { + if x != nil { + return x.SecurityAdvisory + } + return nil +} + +type RuleType_Definition_Eval_JQComparison struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Def string `protobuf:"bytes,1,opt,name=def,proto3" json:"def,omitempty"` + // Ingested points to the data retrieved in the `ingest` section + Ingested *RuleType_Definition_Eval_JQComparison_Operator `protobuf:"bytes,1,opt,name=ingested,proto3" json:"ingested,omitempty"` + // Profile points to the profile itself. + Profile *RuleType_Definition_Eval_JQComparison_Operator `protobuf:"bytes,2,opt,name=profile,proto3" json:"profile,omitempty"` } -func (x *RuleType_Definition_Eval_JQComparison_Operator) Reset() { - *x = RuleType_Definition_Eval_JQComparison_Operator{} +func (x *RuleType_Definition_Eval_JQComparison) Reset() { + *x = RuleType_Definition_Eval_JQComparison{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11946,13 +11998,13 @@ func (x *RuleType_Definition_Eval_JQComparison_Operator) Reset() { } } -func (x *RuleType_Definition_Eval_JQComparison_Operator) String() string { +func (x *RuleType_Definition_Eval_JQComparison) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Eval_JQComparison_Operator) ProtoMessage() {} +func (*RuleType_Definition_Eval_JQComparison) ProtoMessage() {} -func (x *RuleType_Definition_Eval_JQComparison_Operator) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval_JQComparison) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11964,28 +12016,52 @@ func (x *RuleType_Definition_Eval_JQComparison_Operator) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Eval_JQComparison_Operator.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Eval_JQComparison_Operator) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 0, 0} +// Deprecated: Use RuleType_Definition_Eval_JQComparison.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_JQComparison) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 0} } -func (x *RuleType_Definition_Eval_JQComparison_Operator) GetDef() string { +func (x *RuleType_Definition_Eval_JQComparison) GetIngested() *RuleType_Definition_Eval_JQComparison_Operator { if x != nil { - return x.Def + return x.Ingested } - return "" + return nil } -type RuleType_Definition_Remediate_GhBranchProtectionType struct { +func (x *RuleType_Definition_Eval_JQComparison) GetProfile() *RuleType_Definition_Eval_JQComparison_Operator { + if x != nil { + return x.Profile + } + return nil +} + +type RuleType_Definition_Eval_Rego struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Patch string `protobuf:"bytes,1,opt,name=patch,proto3" json:"patch,omitempty"` + // type is the type of evaluation engine to use + // for rego. We currently have two modes of operation: + // - deny-by-default: this is the default mode of operation + // where we deny access by default and allow access only + // if the profile explicitly allows it. It expects the + // profile to set an `allow` variable to true or false. + // - constraints: this is the mode of operation where we + // allow access by default and deny access only if a + // violation is found. It expects the profile to set a + // `violations` variable with a "msg" field. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // def is the definition of the rego profile. + Def string `protobuf:"bytes,2,opt,name=def,proto3" json:"def,omitempty"` + // how are violations reported. This is only used if the + // `constraints` type is selected. The default is `text` + // which returns human-readable text. The other option is + // `json` which returns a JSON array containing the violations. + ViolationFormat *string `protobuf:"bytes,3,opt,name=violation_format,json=violationFormat,proto3,oneof" json:"violation_format,omitempty"` } -func (x *RuleType_Definition_Remediate_GhBranchProtectionType) Reset() { - *x = RuleType_Definition_Remediate_GhBranchProtectionType{} +func (x *RuleType_Definition_Eval_Rego) Reset() { + *x = RuleType_Definition_Eval_Rego{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -11993,13 +12069,13 @@ func (x *RuleType_Definition_Remediate_GhBranchProtectionType) Reset() { } } -func (x *RuleType_Definition_Remediate_GhBranchProtectionType) String() string { +func (x *RuleType_Definition_Eval_Rego) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Remediate_GhBranchProtectionType) ProtoMessage() {} +func (*RuleType_Definition_Eval_Rego) ProtoMessage() {} -func (x *RuleType_Definition_Remediate_GhBranchProtectionType) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval_Rego) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12011,45 +12087,40 @@ func (x *RuleType_Definition_Remediate_GhBranchProtectionType) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Remediate_GhBranchProtectionType.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Remediate_GhBranchProtectionType) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 0} +// Deprecated: Use RuleType_Definition_Eval_Rego.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_Rego) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 1} } -func (x *RuleType_Definition_Remediate_GhBranchProtectionType) GetPatch() string { +func (x *RuleType_Definition_Eval_Rego) GetType() string { if x != nil { - return x.Patch + return x.Type } return "" } -// the name stutters a bit but we already use a PullRequest message for handling PR entities -type RuleType_Definition_Remediate_PullRequestRemediation struct { +func (x *RuleType_Definition_Eval_Rego) GetDef() string { + if x != nil { + return x.Def + } + return "" +} + +func (x *RuleType_Definition_Eval_Rego) GetViolationFormat() string { + if x != nil && x.ViolationFormat != nil { + return *x.ViolationFormat + } + return "" +} + +type RuleType_Definition_Eval_Vulncheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // the title of the PR - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - // the body of the PR - Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` - Contents []*RuleType_Definition_Remediate_PullRequestRemediation_Content `protobuf:"bytes,3,rep,name=contents,proto3" json:"contents,omitempty"` - // the method to use to create the PR. For now, these are supported: - // -- minder.content - ensures that the content of the file is exactly as specified - // - // refer to the Content message for more details - // - // -- minder.actions.replace_tags_with_sha - finds any github actions within a workflow - // - // file and replaces the tag with the SHA - Method string `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"` - // If the method is minder.actions.replace_tags_with_sha, this is the configuration - // for that method - ActionsReplaceTagsWithSha *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha `protobuf:"bytes,5,opt,name=actions_replace_tags_with_sha,json=actionsReplaceTagsWithSha,proto3,oneof" json:"actions_replace_tags_with_sha,omitempty"` } -func (x *RuleType_Definition_Remediate_PullRequestRemediation) Reset() { - *x = RuleType_Definition_Remediate_PullRequestRemediation{} +func (x *RuleType_Definition_Eval_Vulncheck) Reset() { + *x = RuleType_Definition_Eval_Vulncheck{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12057,13 +12128,13 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation) Reset() { } } -func (x *RuleType_Definition_Remediate_PullRequestRemediation) String() string { +func (x *RuleType_Definition_Eval_Vulncheck) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Remediate_PullRequestRemediation) ProtoMessage() {} +func (*RuleType_Definition_Eval_Vulncheck) ProtoMessage() {} -func (x *RuleType_Definition_Remediate_PullRequestRemediation) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval_Vulncheck) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12075,66 +12146,23 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Remediate_PullRequestRemediation) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1} -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetBody() string { - if x != nil { - return x.Body - } - return "" -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetContents() []*RuleType_Definition_Remediate_PullRequestRemediation_Content { - if x != nil { - return x.Contents - } - return nil -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetMethod() string { - if x != nil { - return x.Method - } - return "" -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetActionsReplaceTagsWithSha() *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha { - if x != nil { - return x.ActionsReplaceTagsWithSha - } - return nil +// Deprecated: Use RuleType_Definition_Eval_Vulncheck.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_Vulncheck) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 2} } -type RuleType_Definition_Remediate_PullRequestRemediation_Content struct { +type RuleType_Definition_Eval_Trusty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // the file to patch - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - // how to patch the file. For now, only replace is supported - Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` - // the content of the file - Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` - // the GIT mode of the file. Not UNIX mode! String because the GH API also uses strings - // the usual modes are: 100644 for regular files, 100755 for executable files and - // 040000 for submodules (which we don't use but now you know the meaning of the 1 in 100644) - // see e.g. https://github.com/go-git/go-git/blob/32e0172851c35ae2fac495069c923330040903d2/plumbing/filemode/filemode.go#L16 - Mode *string `protobuf:"bytes,3,opt,name=mode,proto3,oneof" json:"mode,omitempty"` + // This is no longer used, but is still here for backwards + // compatibility with existing stored rules + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) Reset() { - *x = RuleType_Definition_Remediate_PullRequestRemediation_Content{} +func (x *RuleType_Definition_Eval_Trusty) Reset() { + *x = RuleType_Definition_Eval_Trusty{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12142,68 +12170,46 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) Reset() { } } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) String() string { +func (x *RuleType_Definition_Eval_Trusty) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoMessage() {} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoReflect() protoreflect.Message { - mi := &file_minder_v1_minder_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation_Content.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1, 0} -} - -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetPath() string { - if x != nil { - return x.Path - } - return "" -} +func (*RuleType_Definition_Eval_Trusty) ProtoMessage() {} -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetAction() string { - if x != nil { - return x.Action +func (x *RuleType_Definition_Eval_Trusty) ProtoReflect() protoreflect.Message { + mi := &file_minder_v1_minder_proto_msgTypes[187] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetContent() string { - if x != nil { - return x.Content - } - return "" +// Deprecated: Use RuleType_Definition_Eval_Trusty.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_Trusty) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 3} } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetMode() string { - if x != nil && x.Mode != nil { - return *x.Mode +func (x *RuleType_Definition_Eval_Trusty) GetEndpoint() string { + if x != nil { + return x.Endpoint } return "" } -type RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha struct { +type RuleType_Definition_Eval_Homoglyphs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of actions to exclude from the replacement - Exclude []string `protobuf:"bytes,1,rep,name=exclude,proto3" json:"exclude,omitempty"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Reset() { - *x = RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha{} +func (x *RuleType_Definition_Eval_Homoglyphs) Reset() { + *x = RuleType_Definition_Eval_Homoglyphs{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12211,14 +12217,13 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTags } } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) String() string { +func (x *RuleType_Definition_Eval_Homoglyphs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoMessage() { -} +func (*RuleType_Definition_Eval_Homoglyphs) ProtoMessage() {} -func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval_Homoglyphs) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12230,28 +12235,28 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTags return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1, 1} +// Deprecated: Use RuleType_Definition_Eval_Homoglyphs.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_Homoglyphs) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 4} } -func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) GetExclude() []string { +func (x *RuleType_Definition_Eval_Homoglyphs) GetType() string { if x != nil { - return x.Exclude + return x.Type } - return nil + return "" } -type RuleType_Definition_Alert_AlertTypeSA struct { +type RuleType_Definition_Eval_JQComparison_Operator struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` + Def string `protobuf:"bytes,1,opt,name=def,proto3" json:"def,omitempty"` } -func (x *RuleType_Definition_Alert_AlertTypeSA) Reset() { - *x = RuleType_Definition_Alert_AlertTypeSA{} +func (x *RuleType_Definition_Eval_JQComparison_Operator) Reset() { + *x = RuleType_Definition_Eval_JQComparison_Operator{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12259,13 +12264,13 @@ func (x *RuleType_Definition_Alert_AlertTypeSA) Reset() { } } -func (x *RuleType_Definition_Alert_AlertTypeSA) String() string { +func (x *RuleType_Definition_Eval_JQComparison_Operator) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleType_Definition_Alert_AlertTypeSA) ProtoMessage() {} +func (*RuleType_Definition_Eval_JQComparison_Operator) ProtoMessage() {} -func (x *RuleType_Definition_Alert_AlertTypeSA) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Eval_JQComparison_Operator) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12277,38 +12282,28 @@ func (x *RuleType_Definition_Alert_AlertTypeSA) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use RuleType_Definition_Alert_AlertTypeSA.ProtoReflect.Descriptor instead. -func (*RuleType_Definition_Alert_AlertTypeSA) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 3, 0} +// Deprecated: Use RuleType_Definition_Eval_JQComparison_Operator.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Eval_JQComparison_Operator) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 1, 0, 0} } -func (x *RuleType_Definition_Alert_AlertTypeSA) GetSeverity() string { +func (x *RuleType_Definition_Eval_JQComparison_Operator) GetDef() string { if x != nil { - return x.Severity + return x.Def } return "" } -// Rule defines the individual call of a certain rule type. -type Profile_Rule struct { +type RuleType_Definition_Remediate_GhBranchProtectionType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // type is the type of the rule to be instantiated. - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - // params are the parameters that are passed to the rule. - // This is optional and depends on the rule type. - Params *structpb.Struct `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` - // def is the definition of the rule. - // This depends on the rule type. - Def *structpb.Struct `protobuf:"bytes,3,opt,name=def,proto3" json:"def,omitempty"` - // name is the descriptive name of the rule, not to be confused with type - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Patch string `protobuf:"bytes,1,opt,name=patch,proto3" json:"patch,omitempty"` } -func (x *Profile_Rule) Reset() { - *x = Profile_Rule{} +func (x *RuleType_Definition_Remediate_GhBranchProtectionType) Reset() { + *x = RuleType_Definition_Remediate_GhBranchProtectionType{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12316,13 +12311,13 @@ func (x *Profile_Rule) Reset() { } } -func (x *Profile_Rule) String() string { +func (x *RuleType_Definition_Remediate_GhBranchProtectionType) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Profile_Rule) ProtoMessage() {} +func (*RuleType_Definition_Remediate_GhBranchProtectionType) ProtoMessage() {} -func (x *Profile_Rule) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Remediate_GhBranchProtectionType) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12334,56 +12329,45 @@ func (x *Profile_Rule) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Profile_Rule.ProtoReflect.Descriptor instead. -func (*Profile_Rule) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{107, 0} -} - -func (x *Profile_Rule) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *Profile_Rule) GetParams() *structpb.Struct { - if x != nil { - return x.Params - } - return nil -} - -func (x *Profile_Rule) GetDef() *structpb.Struct { - if x != nil { - return x.Def - } - return nil +// Deprecated: Use RuleType_Definition_Remediate_GhBranchProtectionType.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Remediate_GhBranchProtectionType) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 0} } -func (x *Profile_Rule) GetName() string { +func (x *RuleType_Definition_Remediate_GhBranchProtectionType) GetPatch() string { if x != nil { - return x.Name + return x.Patch } return "" } -type Profile_Selector struct { +// the name stutters a bit but we already use a PullRequest message for handling PR entities +type RuleType_Definition_Remediate_PullRequestRemediation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // id is optional and use for updates to match upserts as well as read operations. It is ignored for creates. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // entity is the entity to select. - Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` - // expr is the expression to select the entity. - Selector string `protobuf:"bytes,4,opt,name=selector,proto3" json:"selector,omitempty"` - // description is the human-readable description of the selector. - Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` + // the title of the PR + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // the body of the PR + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + Contents []*RuleType_Definition_Remediate_PullRequestRemediation_Content `protobuf:"bytes,3,rep,name=contents,proto3" json:"contents,omitempty"` + // the method to use to create the PR. For now, these are supported: + // -- minder.content - ensures that the content of the file is exactly as specified + // + // refer to the Content message for more details + // + // -- minder.actions.replace_tags_with_sha - finds any github actions within a workflow + // + // file and replaces the tag with the SHA + Method string `protobuf:"bytes,4,opt,name=method,proto3" json:"method,omitempty"` + // If the method is minder.actions.replace_tags_with_sha, this is the configuration + // for that method + ActionsReplaceTagsWithSha *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha `protobuf:"bytes,5,opt,name=actions_replace_tags_with_sha,json=actionsReplaceTagsWithSha,proto3,oneof" json:"actions_replace_tags_with_sha,omitempty"` } -func (x *Profile_Selector) Reset() { - *x = Profile_Selector{} +func (x *RuleType_Definition_Remediate_PullRequestRemediation) Reset() { + *x = RuleType_Definition_Remediate_PullRequestRemediation{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12391,13 +12375,13 @@ func (x *Profile_Selector) Reset() { } } -func (x *Profile_Selector) String() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Profile_Selector) ProtoMessage() {} +func (*RuleType_Definition_Remediate_PullRequestRemediation) ProtoMessage() {} -func (x *Profile_Selector) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12409,54 +12393,66 @@ func (x *Profile_Selector) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Profile_Selector.ProtoReflect.Descriptor instead. -func (*Profile_Selector) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{107, 1} +// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Remediate_PullRequestRemediation) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1} } -func (x *Profile_Selector) GetId() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetTitle() string { if x != nil { - return x.Id + return x.Title } return "" } -func (x *Profile_Selector) GetEntity() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetBody() string { if x != nil { - return x.Entity + return x.Body } return "" } -func (x *Profile_Selector) GetSelector() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetContents() []*RuleType_Definition_Remediate_PullRequestRemediation_Content { if x != nil { - return x.Selector + return x.Contents } - return "" + return nil } -func (x *Profile_Selector) GetComment() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetMethod() string { if x != nil { - return x.Comment + return x.Method } return "" } -type EvaluationHistory_Entity struct { +func (x *RuleType_Definition_Remediate_PullRequestRemediation) GetActionsReplaceTagsWithSha() *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha { + if x != nil { + return x.ActionsReplaceTagsWithSha + } + return nil +} + +type RuleType_Definition_Remediate_PullRequestRemediation_Content struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // id is the ID of the entity. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // type is the entity type. - Type Entity `protobuf:"varint,2,opt,name=type,proto3,enum=minder.v1.Entity" json:"type,omitempty"` - // name is the entity name. - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // the file to patch + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // how to patch the file. For now, only replace is supported + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + // the content of the file + Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + // the GIT mode of the file. Not UNIX mode! String because the GH API also uses strings + // the usual modes are: 100644 for regular files, 100755 for executable files and + // 040000 for submodules (which we don't use but now you know the meaning of the 1 in 100644) + // see e.g. https://github.com/go-git/go-git/blob/32e0172851c35ae2fac495069c923330040903d2/plumbing/filemode/filemode.go#L16 + Mode *string `protobuf:"bytes,3,opt,name=mode,proto3,oneof" json:"mode,omitempty"` } -func (x *EvaluationHistory_Entity) Reset() { - *x = EvaluationHistory_Entity{} +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) Reset() { + *x = RuleType_Definition_Remediate_PullRequestRemediation_Content{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12464,13 +12460,13 @@ func (x *EvaluationHistory_Entity) Reset() { } } -func (x *EvaluationHistory_Entity) String() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EvaluationHistory_Entity) ProtoMessage() {} +func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoMessage() {} -func (x *EvaluationHistory_Entity) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12482,47 +12478,50 @@ func (x *EvaluationHistory_Entity) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EvaluationHistory_Entity.ProtoReflect.Descriptor instead. -func (*EvaluationHistory_Entity) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{162, 0} +// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation_Content.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1, 0} } -func (x *EvaluationHistory_Entity) GetId() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetPath() string { if x != nil { - return x.Id + return x.Path } return "" } -func (x *EvaluationHistory_Entity) GetType() Entity { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetAction() string { if x != nil { - return x.Type + return x.Action } - return Entity_ENTITY_UNSPECIFIED + return "" } -func (x *EvaluationHistory_Entity) GetName() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetContent() string { if x != nil { - return x.Name + return x.Content } return "" } -type EvaluationHistory_Rule struct { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) GetMode() string { + if x != nil && x.Mode != nil { + return *x.Mode + } + return "" +} + +type RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // name is the name of the rule instance. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // type is the name of the rule type. - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - // profile is the name of the profile which contains the rule. - Profile string `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"` + unknownFields protoimpl.UnknownFields + + // List of actions to exclude from the replacement + Exclude []string `protobuf:"bytes,1,rep,name=exclude,proto3" json:"exclude,omitempty"` } -func (x *EvaluationHistory_Rule) Reset() { - *x = EvaluationHistory_Rule{} +func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Reset() { + *x = RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12530,13 +12529,14 @@ func (x *EvaluationHistory_Rule) Reset() { } } -func (x *EvaluationHistory_Rule) String() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EvaluationHistory_Rule) ProtoMessage() {} +func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoMessage() { +} -func (x *EvaluationHistory_Rule) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12548,49 +12548,28 @@ func (x *EvaluationHistory_Rule) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EvaluationHistory_Rule.ProtoReflect.Descriptor instead. -func (*EvaluationHistory_Rule) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{162, 1} -} - -func (x *EvaluationHistory_Rule) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *EvaluationHistory_Rule) GetType() string { - if x != nil { - return x.Type - } - return "" +// Deprecated: Use RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 2, 1, 1} } -func (x *EvaluationHistory_Rule) GetProfile() string { +func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) GetExclude() []string { if x != nil { - return x.Profile + return x.Exclude } - return "" + return nil } -type EvaluationHistory_Status struct { +type RuleType_Definition_Alert_AlertTypeSA struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // status is one of (success, error, failure, skipped) - // not using enums to mirror the behaviour of the existing API contracts. - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - // details contains optional details about the evaluation. - // the structure and contents are rule type specific, and are subject to change. - Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` - // created_at is the timestamp of creation of this evaluation - EvaluatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=evaluated_at,json=evaluatedAt,proto3" json:"evaluated_at,omitempty"` + Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` } -func (x *EvaluationHistory_Status) Reset() { - *x = EvaluationHistory_Status{} +func (x *RuleType_Definition_Alert_AlertTypeSA) Reset() { + *x = RuleType_Definition_Alert_AlertTypeSA{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12598,13 +12577,13 @@ func (x *EvaluationHistory_Status) Reset() { } } -func (x *EvaluationHistory_Status) String() string { +func (x *RuleType_Definition_Alert_AlertTypeSA) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EvaluationHistory_Status) ProtoMessage() {} +func (*RuleType_Definition_Alert_AlertTypeSA) ProtoMessage() {} -func (x *EvaluationHistory_Status) ProtoReflect() protoreflect.Message { +func (x *RuleType_Definition_Alert_AlertTypeSA) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12616,47 +12595,38 @@ func (x *EvaluationHistory_Status) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EvaluationHistory_Status.ProtoReflect.Descriptor instead. -func (*EvaluationHistory_Status) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{162, 2} -} - -func (x *EvaluationHistory_Status) GetStatus() string { - if x != nil { - return x.Status - } - return "" +// Deprecated: Use RuleType_Definition_Alert_AlertTypeSA.ProtoReflect.Descriptor instead. +func (*RuleType_Definition_Alert_AlertTypeSA) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{106, 0, 3, 0} } -func (x *EvaluationHistory_Status) GetDetails() string { +func (x *RuleType_Definition_Alert_AlertTypeSA) GetSeverity() string { if x != nil { - return x.Details + return x.Severity } return "" } -func (x *EvaluationHistory_Status) GetEvaluatedAt() *timestamppb.Timestamp { - if x != nil { - return x.EvaluatedAt - } - return nil -} - -type EvaluationHistory_Remediation struct { +// Rule defines the individual call of a certain rule type. +type Profile_Rule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // status is one of (success, error, failure, skipped, not available) - // not using enums to mirror the behaviour of the existing API contracts. - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - // details contains optional details about the remediation. - // the structure and contents are remediation specific, and are subject to change. - Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // type is the type of the rule to be instantiated. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // params are the parameters that are passed to the rule. + // This is optional and depends on the rule type. + Params *structpb.Struct `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` + // def is the definition of the rule. + // This depends on the rule type. + Def *structpb.Struct `protobuf:"bytes,3,opt,name=def,proto3" json:"def,omitempty"` + // name is the descriptive name of the rule, not to be confused with type + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` } -func (x *EvaluationHistory_Remediation) Reset() { - *x = EvaluationHistory_Remediation{} +func (x *Profile_Rule) Reset() { + *x = Profile_Rule{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12664,13 +12634,13 @@ func (x *EvaluationHistory_Remediation) Reset() { } } -func (x *EvaluationHistory_Remediation) String() string { +func (x *Profile_Rule) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EvaluationHistory_Remediation) ProtoMessage() {} +func (*Profile_Rule) ProtoMessage() {} -func (x *EvaluationHistory_Remediation) ProtoReflect() protoreflect.Message { +func (x *Profile_Rule) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12682,40 +12652,56 @@ func (x *EvaluationHistory_Remediation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EvaluationHistory_Remediation.ProtoReflect.Descriptor instead. -func (*EvaluationHistory_Remediation) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{162, 3} +// Deprecated: Use Profile_Rule.ProtoReflect.Descriptor instead. +func (*Profile_Rule) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{107, 0} } -func (x *EvaluationHistory_Remediation) GetStatus() string { +func (x *Profile_Rule) GetType() string { if x != nil { - return x.Status + return x.Type } return "" } -func (x *EvaluationHistory_Remediation) GetDetails() string { +func (x *Profile_Rule) GetParams() *structpb.Struct { if x != nil { - return x.Details + return x.Params + } + return nil +} + +func (x *Profile_Rule) GetDef() *structpb.Struct { + if x != nil { + return x.Def + } + return nil +} + +func (x *Profile_Rule) GetName() string { + if x != nil { + return x.Name } return "" } -type EvaluationHistory_Alert struct { +type Profile_Selector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // status is one of (on, off, error, skipped, not available) - // not using enums to mirror the behaviour of the existing API contracts. - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - // details contains optional details about the alert. - // the structure and contents are alert specific, and are subject to change. - Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // id is optional and use for updates to match upserts as well as read operations. It is ignored for creates. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // entity is the entity to select. + Entity string `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"` + // expr is the expression to select the entity. + Selector string `protobuf:"bytes,4,opt,name=selector,proto3" json:"selector,omitempty"` + // description is the human-readable description of the selector. + Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *EvaluationHistory_Alert) Reset() { - *x = EvaluationHistory_Alert{} +func (x *Profile_Selector) Reset() { + *x = Profile_Selector{} if protoimpl.UnsafeEnabled { mi := &file_minder_v1_minder_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12723,13 +12709,13 @@ func (x *EvaluationHistory_Alert) Reset() { } } -func (x *EvaluationHistory_Alert) String() string { +func (x *Profile_Selector) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EvaluationHistory_Alert) ProtoMessage() {} +func (*Profile_Selector) ProtoMessage() {} -func (x *EvaluationHistory_Alert) ProtoReflect() protoreflect.Message { +func (x *Profile_Selector) ProtoReflect() protoreflect.Message { mi := &file_minder_v1_minder_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -12741,21 +12727,35 @@ func (x *EvaluationHistory_Alert) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EvaluationHistory_Alert.ProtoReflect.Descriptor instead. -func (*EvaluationHistory_Alert) Descriptor() ([]byte, []int) { - return file_minder_v1_minder_proto_rawDescGZIP(), []int{162, 4} +// Deprecated: Use Profile_Selector.ProtoReflect.Descriptor instead. +func (*Profile_Selector) Descriptor() ([]byte, []int) { + return file_minder_v1_minder_proto_rawDescGZIP(), []int{107, 1} } -func (x *EvaluationHistory_Alert) GetStatus() string { +func (x *Profile_Selector) GetId() string { if x != nil { - return x.Status + return x.Id + } + return "" +} + +func (x *Profile_Selector) GetEntity() string { + if x != nil { + return x.Entity } return "" } -func (x *EvaluationHistory_Alert) GetDetails() string { +func (x *Profile_Selector) GetSelector() string { if x != nil { - return x.Details + return x.Selector + } + return "" +} + +func (x *Profile_Selector) GetComment() string { + if x != nil { + return x.Comment } return "" } @@ -14350,798 +14350,803 @@ var file_minder_v1_minder_proto_rawDesc = []byte{ 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x50, 0x61, 0x67, 0x65, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x22, 0xe0, 0x05, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x67, 0x65, 0x22, 0xc5, 0x02, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x12, + 0x49, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, + 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x17, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x59, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x61, 0x6c, 0x65, - 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x52, 0x05, 0x61, 0x6c, - 0x65, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x53, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x48, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x79, - 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0x3f, 0x0a, 0x0b, 0x52, 0x65, 0x6d, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x50, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x05, 0x41, 0x6c, - 0x65, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, - 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, - 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x10, 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0x95, 0x0e, 0x0a, 0x08, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, - 0x54, 0x10, 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0f, - 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x03, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, - 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x10, 0x04, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x25, - 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, - 0x4c, 0x49, 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, 0x65, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, - 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x41, + 0x6c, 0x65, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, + 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, + 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, + 0x45, 0x52, 0x10, 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0x95, 0x0e, 0x0a, 0x08, 0x52, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, + 0x45, 0x54, 0x10, 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, + 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x10, 0x03, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, + 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x04, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, + 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, + 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, + 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, - 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, 0x14, - 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x10, 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, 0x0f, - 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, - 0x65, 0x70, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, - 0x47, 0x45, 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, - 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, - 0x43, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, 0x14, - 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, - 0x47, 0x45, 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, 0x65, - 0x74, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, - 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x13, - 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, 0x10, - 0x15, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, - 0x16, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x16, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, + 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, + 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, + 0x14, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x10, 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, + 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, + 0x4f, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, + 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x5f, 0x47, 0x45, 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, + 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, + 0x41, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, + 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, + 0x5f, 0x47, 0x45, 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, + 0x65, 0x74, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, + 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, + 0x70, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, + 0x13, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, + 0x10, 0x15, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x10, 0x16, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, + 0x16, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, 0x1a, - 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, - 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, - 0x45, 0x54, 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0x1e, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x10, 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, 0x65, - 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, 0x1a, - 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x5f, 0x67, 0x65, 0x74, 0x12, 0x55, 0x0a, 0x2a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, - 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x10, 0x23, 0x1a, 0x25, 0xea, 0xdc, 0x14, 0x21, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x10, 0x24, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, - 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, - 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x25, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, 0x5f, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, - 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, - 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, 0x52, - 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, - 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x45, 0x63, 0x6f, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, - 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, - 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x50, 0x4d, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, - 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x47, 0x4f, - 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, - 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x59, 0x50, 0x49, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x06, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x4f, - 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, - 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, - 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, - 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x53, 0x10, 0x04, 0x2a, 0x97, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, - 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, - 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x1a, - 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x12, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, - 0x54, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, - 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, - 0x49, 0x54, 0x10, 0x03, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x69, 0x74, 0x12, 0x1e, 0x0a, - 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, - 0x43, 0x49, 0x10, 0x04, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12, 0x2e, 0x0a, - 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, - 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f, 0xea, 0xdc, - 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, - 0x1a, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, - 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x06, 0x1a, 0x10, 0xea, - 0xdc, 0x14, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x2a, - 0xd5, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x25, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, - 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x2d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, - 0x42, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2d, 0x61, 0x70, 0x70, 0x12, 0x21, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x56, 0x49, - 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x48, 0x43, 0x52, 0x10, 0x03, - 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x67, 0x68, 0x63, 0x72, 0x12, 0x2b, 0x0a, 0x18, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x4f, 0x43, - 0x4b, 0x45, 0x52, 0x48, 0x55, 0x42, 0x10, 0x04, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x64, 0x6f, - 0x63, 0x6b, 0x65, 0x72, 0x68, 0x75, 0x62, 0x2a, 0xa9, 0x02, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x22, 0x0a, - 0x1e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, - 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x25, 0x0a, 0x17, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x1a, 0x08, - 0xea, 0xdc, 0x14, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, - 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x31, 0x41, - 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, - 0x57, 0x5f, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x32, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, - 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x57, - 0x10, 0x03, 0x1a, 0x22, 0xea, 0xdc, 0x14, 0x1e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x3b, 0x0a, 0x22, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, - 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x47, 0x49, 0x54, - 0x48, 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x1a, 0x13, - 0xea, 0xdc, 0x14, 0x0f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x66, - 0x6c, 0x6f, 0x77, 0x2a, 0xbb, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x44, - 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x15, 0x43, - 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x73, 0x65, 0x74, 0x12, - 0x26, 0x0a, 0x17, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x02, 0x1a, 0x09, 0xea, 0xdc, - 0x14, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x20, 0x43, 0x52, 0x45, 0x44, 0x45, - 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x1a, 0x12, 0xea, - 0xdc, 0x14, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, - 0x65, 0x32, 0x7d, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x1e, 0xaa, 0xf8, 0x18, 0x04, 0x10, 0x01, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, - 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x32, 0xbc, 0x03, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, + 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, + 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, + 0x47, 0x45, 0x54, 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x1e, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x10, 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, + 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, + 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x55, 0x0a, 0x2a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, + 0x4c, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x10, 0x23, 0x1a, 0x25, 0xea, 0xdc, 0x14, 0x21, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x10, 0x24, 0x1a, 0x14, 0xea, 0xdc, 0x14, + 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, + 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, + 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x10, 0x25, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, + 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, + 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x52, + 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x45, 0x63, + 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x5f, 0x45, + 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, + 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x50, 0x4d, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x47, + 0x4f, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, + 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x59, 0x50, 0x49, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x06, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, + 0x4f, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49, 0x54, + 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, + 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, + 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, + 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x53, 0x10, 0x04, 0x2a, 0x97, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, + 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, + 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x12, + 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, + 0x53, 0x54, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x47, 0x49, 0x54, 0x10, 0x03, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x69, 0x74, 0x12, 0x1e, + 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4f, 0x43, 0x49, 0x10, 0x04, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12, 0x2e, + 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f, 0xea, + 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x30, + 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x06, 0x1a, 0x10, + 0xea, 0xdc, 0x14, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x2a, 0xd5, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x25, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01, 0x1a, 0x0a, 0xea, + 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x2d, 0x0a, 0x19, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x49, 0x54, 0x48, + 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, 0x14, 0x0a, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2d, 0x61, 0x70, 0x70, 0x12, 0x21, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x56, + 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x47, 0x48, 0x43, 0x52, 0x10, + 0x03, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x67, 0x68, 0x63, 0x72, 0x12, 0x2b, 0x0a, 0x18, 0x50, + 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x44, 0x4f, + 0x43, 0x4b, 0x45, 0x52, 0x48, 0x55, 0x42, 0x10, 0x04, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x64, + 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x68, 0x75, 0x62, 0x2a, 0xa9, 0x02, 0x0a, 0x11, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x22, + 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x25, 0x0a, 0x17, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x1a, + 0x08, 0xea, 0xdc, 0x14, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x1d, 0x41, 0x55, 0x54, + 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, + 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x10, 0x02, 0x1a, 0x0e, 0xea, 0xdc, + 0x14, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x31, + 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, + 0x4f, 0x57, 0x5f, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x32, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, + 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4c, 0x4f, + 0x57, 0x10, 0x03, 0x1a, 0x22, 0xea, 0xdc, 0x14, 0x1e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x3b, 0x0a, 0x22, 0x41, 0x55, 0x54, 0x48, 0x4f, + 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x47, 0x49, + 0x54, 0x48, 0x55, 0x42, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x04, 0x1a, + 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x70, 0x70, 0x5f, + 0x66, 0x6c, 0x6f, 0x77, 0x2a, 0xbb, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, + 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x15, + 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x73, 0x65, 0x74, + 0x12, 0x26, 0x0a, 0x17, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x02, 0x1a, 0x09, 0xea, + 0xdc, 0x14, 0x05, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x20, 0x43, 0x52, 0x45, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x1a, 0x12, + 0xea, 0xdc, 0x14, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, + 0x6c, 0x65, 0x32, 0x7d, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x1e, 0xaa, 0xf8, 0x18, 0x04, 0x10, 0x01, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x32, 0xbc, 0x03, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1c, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, - 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8f, 0x01, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, - 0xb6, 0x05, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x86, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75, 0x72, 0x6c, 0x12, 0xac, 0x01, 0x0a, 0x12, 0x53, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, + 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, + 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, + 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8f, + 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, + 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, + 0x32, 0xb6, 0x05, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, + 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x75, 0x72, 0x6c, 0x12, 0xac, 0x01, 0x0a, 0x12, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, - 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, - 0x5a, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0xd2, 0x01, 0x0a, 0x17, 0x56, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, + 0x2a, 0x5a, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0xd2, 0x01, 0x0a, 0x17, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, - 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xaa, 0xf8, 0x18, - 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, 0x2a, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xaa, 0xf8, + 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x7b, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, - 0x0a, 0x18, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x32, 0xe9, 0x0a, 0x0a, 0x11, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc7, - 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x56, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0xf1, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, + 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, + 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, + 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x88, 0x02, 0x01, 0x12, 0x98, + 0x01, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2a, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x32, 0xe9, 0x0a, 0x0a, 0x11, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x56, 0x3a, 0x01, 0x2a, 0x5a, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0xf1, 0x01, 0x0a, 0x22, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x12, 0x34, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, - 0x34, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x1d, 0x12, 0x1b, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xad, 0x01, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, + 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x5a, 0x1d, 0x12, + 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, - 0x65, 0x73, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, - 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, - 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x12, 0x21, 0x2f, + 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xad, 0x01, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, - 0x12, 0x35, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, - 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x69, 0x65, 0x73, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, + 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, + 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x12, 0x21, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, + 0x7d, 0x12, 0x35, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x64, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, + 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x16, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, + 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2a, 0x35, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0xce, 0x04, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x1d, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, + 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x65, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, - 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x5a, 0x23, 0x2a, 0x21, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, - 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, 0x2a, 0x35, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x2a, 0x2a, 0x7d, 0x32, 0xce, 0x04, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x1d, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, - 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x65, - 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, - 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x12, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, - 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, - 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x32, 0xb7, 0x0e, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, + 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x26, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x7b, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x32, 0xb7, 0x0e, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, - 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x76, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x1a, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x7c, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x32, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, + 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x1a, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x7c, 0x0a, 0x0c, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x32, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0xa4, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, 0x7d, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, - 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, + 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2a, + 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, - 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x90, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x30, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x2a, 0x2a, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, + 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x90, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, - 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x30, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, + 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, + 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x1a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, - 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x1a, 0x11, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, - 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x32, - 0xb0, 0x02, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x27, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x32, 0x8a, 0x05, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x09, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, - 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x06, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, - 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x07, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, - 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x78, - 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, - 0x03, 0x38, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x32, - 0xc5, 0x07, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x02, 0x38, 0x02, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, + 0x38, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x32, 0xb0, 0x02, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x79, 0x32, 0x8a, 0x05, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x09, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x29, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x05, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, + 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x06, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, + 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x07, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, + 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, + 0x78, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, + 0x30, 0x03, 0x38, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x32, 0xc5, 0x07, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x02, 0x38, 0x02, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, - 0x9e, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, - 0x12, 0x2e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, - 0x12, 0x74, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x04, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x69, 0x6c, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x3e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x30, 0x12, 0x2e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, + 0x6e, 0x12, 0x74, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x04, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, - 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x1a, 0x10, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, - 0x78, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x27, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, - 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x1e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, - 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x30, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x34, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x72, 0x65, - 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x32, 0xd5, 0x09, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x0d, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0xaa, 0xf8, 0x18, + 0x04, 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x1a, 0x10, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x78, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x27, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x19, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x1e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, + 0x63, 0x69, 0x6c, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x30, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x34, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x23, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x32, 0xd5, 0x09, 0x0a, 0x10, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, + 0x0d, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, - 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x76, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1a, 0x3a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x76, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, + 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, - 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x7d, 0x12, 0x75, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, + 0x03, 0x38, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x7d, 0x12, 0x75, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, - 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, - 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, + 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x78, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x89, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x89, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x02, 0x30, - 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x6d, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x8e, 0x01, - 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, - 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0xae, - 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x6e, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x02, + 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x6d, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x8e, + 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, + 0xae, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, - 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0xaa, - 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, - 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x32, - 0x92, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x80, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x23, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x7b, 0x63, - 0x6f, 0x64, 0x65, 0x7d, 0x3a, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0xcd, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x3a, 0x58, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x85, 0x8f, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, - 0x72, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x6c, 0x6f, - 0x6b, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, + 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, + 0x2a, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, + 0x32, 0x92, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x2f, 0x7b, + 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x3a, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xcd, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x3a, 0x58, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x85, 0x8f, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x0a, 0x72, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x3a, 0x5a, 0x38, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x6c, + 0x6f, 0x6b, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15332,40 +15337,40 @@ var file_minder_v1_minder_proto_goTypes = []any{ (*ListEvaluationHistoryRequest)(nil), // 170: minder.v1.ListEvaluationHistoryRequest (*ListEvaluationHistoryResponse)(nil), // 171: minder.v1.ListEvaluationHistoryResponse (*EvaluationHistory)(nil), // 172: minder.v1.EvaluationHistory - (*PrDependencies_ContextualDependency)(nil), // 173: minder.v1.PrDependencies.ContextualDependency - (*PrDependencies_ContextualDependency_FilePatch)(nil), // 174: minder.v1.PrDependencies.ContextualDependency.FilePatch - (*PrContents_File)(nil), // 175: minder.v1.PrContents.File - (*PrContents_File_Line)(nil), // 176: minder.v1.PrContents.File.Line - (*RegisterRepoResult_Status)(nil), // 177: minder.v1.RegisterRepoResult.Status - nil, // 178: minder.v1.RuleEvaluationStatus.EntityInfoEntry - nil, // 179: minder.v1.AutoRegistration.EntitiesEntry - (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 180: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults - (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 181: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults - (*RestType_Fallback)(nil), // 182: minder.v1.RestType.Fallback - (*DiffType_Ecosystem)(nil), // 183: minder.v1.DiffType.Ecosystem - (*RuleType_Definition)(nil), // 184: minder.v1.RuleType.Definition - (*RuleType_Definition_Ingest)(nil), // 185: minder.v1.RuleType.Definition.Ingest - (*RuleType_Definition_Eval)(nil), // 186: minder.v1.RuleType.Definition.Eval - (*RuleType_Definition_Remediate)(nil), // 187: minder.v1.RuleType.Definition.Remediate - (*RuleType_Definition_Alert)(nil), // 188: minder.v1.RuleType.Definition.Alert - (*RuleType_Definition_Eval_JQComparison)(nil), // 189: minder.v1.RuleType.Definition.Eval.JQComparison - (*RuleType_Definition_Eval_Rego)(nil), // 190: minder.v1.RuleType.Definition.Eval.Rego - (*RuleType_Definition_Eval_Vulncheck)(nil), // 191: minder.v1.RuleType.Definition.Eval.Vulncheck - (*RuleType_Definition_Eval_Trusty)(nil), // 192: minder.v1.RuleType.Definition.Eval.Trusty - (*RuleType_Definition_Eval_Homoglyphs)(nil), // 193: minder.v1.RuleType.Definition.Eval.Homoglyphs - (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 194: minder.v1.RuleType.Definition.Eval.JQComparison.Operator - (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 195: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType - (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 196: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation - (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 197: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content - (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 198: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha - (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 199: minder.v1.RuleType.Definition.Alert.AlertTypeSA - (*Profile_Rule)(nil), // 200: minder.v1.Profile.Rule - (*Profile_Selector)(nil), // 201: minder.v1.Profile.Selector - (*EvaluationHistory_Entity)(nil), // 202: minder.v1.EvaluationHistory.Entity - (*EvaluationHistory_Rule)(nil), // 203: minder.v1.EvaluationHistory.Rule - (*EvaluationHistory_Status)(nil), // 204: minder.v1.EvaluationHistory.Status - (*EvaluationHistory_Remediation)(nil), // 205: minder.v1.EvaluationHistory.Remediation - (*EvaluationHistory_Alert)(nil), // 206: minder.v1.EvaluationHistory.Alert + (*EvaluationHistoryEntity)(nil), // 173: minder.v1.EvaluationHistoryEntity + (*EvaluationHistoryRule)(nil), // 174: minder.v1.EvaluationHistoryRule + (*EvaluationHistoryStatus)(nil), // 175: minder.v1.EvaluationHistoryStatus + (*EvaluationHistoryRemediation)(nil), // 176: minder.v1.EvaluationHistoryRemediation + (*EvaluationHistoryAlert)(nil), // 177: minder.v1.EvaluationHistoryAlert + (*PrDependencies_ContextualDependency)(nil), // 178: minder.v1.PrDependencies.ContextualDependency + (*PrDependencies_ContextualDependency_FilePatch)(nil), // 179: minder.v1.PrDependencies.ContextualDependency.FilePatch + (*PrContents_File)(nil), // 180: minder.v1.PrContents.File + (*PrContents_File_Line)(nil), // 181: minder.v1.PrContents.File.Line + (*RegisterRepoResult_Status)(nil), // 182: minder.v1.RegisterRepoResult.Status + nil, // 183: minder.v1.RuleEvaluationStatus.EntityInfoEntry + nil, // 184: minder.v1.AutoRegistration.EntitiesEntry + (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 185: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults + (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 186: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults + (*RestType_Fallback)(nil), // 187: minder.v1.RestType.Fallback + (*DiffType_Ecosystem)(nil), // 188: minder.v1.DiffType.Ecosystem + (*RuleType_Definition)(nil), // 189: minder.v1.RuleType.Definition + (*RuleType_Definition_Ingest)(nil), // 190: minder.v1.RuleType.Definition.Ingest + (*RuleType_Definition_Eval)(nil), // 191: minder.v1.RuleType.Definition.Eval + (*RuleType_Definition_Remediate)(nil), // 192: minder.v1.RuleType.Definition.Remediate + (*RuleType_Definition_Alert)(nil), // 193: minder.v1.RuleType.Definition.Alert + (*RuleType_Definition_Eval_JQComparison)(nil), // 194: minder.v1.RuleType.Definition.Eval.JQComparison + (*RuleType_Definition_Eval_Rego)(nil), // 195: minder.v1.RuleType.Definition.Eval.Rego + (*RuleType_Definition_Eval_Vulncheck)(nil), // 196: minder.v1.RuleType.Definition.Eval.Vulncheck + (*RuleType_Definition_Eval_Trusty)(nil), // 197: minder.v1.RuleType.Definition.Eval.Trusty + (*RuleType_Definition_Eval_Homoglyphs)(nil), // 198: minder.v1.RuleType.Definition.Eval.Homoglyphs + (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 199: minder.v1.RuleType.Definition.Eval.JQComparison.Operator + (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 200: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType + (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 201: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation + (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 202: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content + (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 203: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha + (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 204: minder.v1.RuleType.Definition.Alert.AlertTypeSA + (*Profile_Rule)(nil), // 205: minder.v1.Profile.Rule + (*Profile_Selector)(nil), // 206: minder.v1.Profile.Selector (*timestamppb.Timestamp)(nil), // 207: google.protobuf.Timestamp (*structpb.Struct)(nil), // 208: google.protobuf.Struct (*fieldmaskpb.FieldMask)(nil), // 209: google.protobuf.FieldMask @@ -15392,9 +15397,9 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 94, // 16: minder.v1.PullRequest.context:type_name -> minder.v1.Context 3, // 17: minder.v1.Dependency.ecosystem:type_name -> minder.v1.DepEcosystem 21, // 18: minder.v1.PrDependencies.pr:type_name -> minder.v1.PullRequest - 173, // 19: minder.v1.PrDependencies.deps:type_name -> minder.v1.PrDependencies.ContextualDependency + 178, // 19: minder.v1.PrDependencies.deps:type_name -> minder.v1.PrDependencies.ContextualDependency 21, // 20: minder.v1.PrContents.pr:type_name -> minder.v1.PullRequest - 175, // 21: minder.v1.PrContents.files:type_name -> minder.v1.PrContents.File + 180, // 21: minder.v1.PrContents.files:type_name -> minder.v1.PrContents.File 207, // 22: minder.v1.GetInviteDetailsResponse.expires_at:type_name -> google.protobuf.Timestamp 94, // 23: minder.v1.GetAuthorizationURLRequest.context:type_name -> minder.v1.Context 208, // 24: minder.v1.GetAuthorizationURLRequest.config:type_name -> google.protobuf.Struct @@ -15410,7 +15415,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 36, // 34: minder.v1.RegisterRepositoryRequest.repository:type_name -> minder.v1.UpstreamRepositoryRef 94, // 35: minder.v1.RegisterRepositoryRequest.context:type_name -> minder.v1.Context 37, // 36: minder.v1.RegisterRepoResult.repository:type_name -> minder.v1.Repository - 177, // 37: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status + 182, // 37: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status 39, // 38: minder.v1.RegisterRepositoryResponse.result:type_name -> minder.v1.RegisterRepoResult 94, // 39: minder.v1.GetRepositoryByIdRequest.context:type_name -> minder.v1.Context 37, // 40: minder.v1.GetRepositoryByIdResponse.repository:type_name -> minder.v1.Repository @@ -15449,7 +15454,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 207, // 73: minder.v1.ProfileStatus.last_updated:type_name -> google.protobuf.Timestamp 207, // 74: minder.v1.EvalResultAlert.last_updated:type_name -> google.protobuf.Timestamp 207, // 75: minder.v1.RuleEvaluationStatus.last_updated:type_name -> google.protobuf.Timestamp - 178, // 76: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry + 183, // 76: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry 207, // 77: minder.v1.RuleEvaluationStatus.remediation_last_updated:type_name -> google.protobuf.Timestamp 79, // 78: minder.v1.RuleEvaluationStatus.alert:type_name -> minder.v1.EvalResultAlert 115, // 79: minder.v1.RuleEvaluationStatus.severity:type_name -> minder.v1.Severity @@ -15460,7 +15465,7 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 80, // 84: minder.v1.GetProfileStatusByNameResponse.rule_evaluation_status:type_name -> minder.v1.RuleEvaluationStatus 94, // 85: minder.v1.GetProfileStatusByProjectRequest.context:type_name -> minder.v1.Context 78, // 86: minder.v1.GetProfileStatusByProjectResponse.profile_status:type_name -> minder.v1.ProfileStatus - 179, // 87: minder.v1.AutoRegistration.entities:type_name -> minder.v1.AutoRegistration.EntitiesEntry + 184, // 87: minder.v1.AutoRegistration.entities:type_name -> minder.v1.AutoRegistration.EntitiesEntry 87, // 88: minder.v1.ProviderConfig.auto_registration:type_name -> minder.v1.AutoRegistration 94, // 89: minder.v1.ListRuleTypesRequest.context:type_name -> minder.v1.Context 116, // 90: minder.v1.ListRuleTypesResponse.rule_types:type_name -> minder.v1.RuleType @@ -15475,19 +15480,19 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 94, // 99: minder.v1.DeleteRuleTypeRequest.context:type_name -> minder.v1.Context 94, // 100: minder.v1.ListEvaluationResultsRequest.context:type_name -> minder.v1.Context 81, // 101: minder.v1.ListEvaluationResultsRequest.entity:type_name -> minder.v1.EntityTypedId - 181, // 102: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults - 182, // 103: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback - 183, // 104: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem + 186, // 102: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults + 187, // 103: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback + 188, // 104: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem 9, // 105: minder.v1.Severity.value:type_name -> minder.v1.Severity.Value 94, // 106: minder.v1.RuleType.context:type_name -> minder.v1.Context - 184, // 107: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition + 189, // 107: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition 115, // 108: minder.v1.RuleType.severity:type_name -> minder.v1.Severity 94, // 109: minder.v1.Profile.context:type_name -> minder.v1.Context - 200, // 110: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule - 200, // 111: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule - 200, // 112: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule - 200, // 113: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule - 201, // 114: minder.v1.Profile.selection:type_name -> minder.v1.Profile.Selector + 205, // 110: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule + 205, // 111: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule + 205, // 112: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule + 205, // 113: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule + 206, // 114: minder.v1.Profile.selection:type_name -> minder.v1.Profile.Selector 33, // 115: minder.v1.ListProjectsResponse.projects:type_name -> minder.v1.Project 94, // 116: minder.v1.CreateProjectRequest.context:type_name -> minder.v1.Context 33, // 117: minder.v1.CreateProjectResponse.project:type_name -> minder.v1.Project @@ -15549,47 +15554,47 @@ var file_minder_v1_minder_proto_depIdxs = []int32{ 11, // 173: minder.v1.ListEvaluationHistoryRequest.cursor:type_name -> minder.v1.Cursor 172, // 174: minder.v1.ListEvaluationHistoryResponse.data:type_name -> minder.v1.EvaluationHistory 12, // 175: minder.v1.ListEvaluationHistoryResponse.page:type_name -> minder.v1.CursorPage - 202, // 176: minder.v1.EvaluationHistory.entity:type_name -> minder.v1.EvaluationHistory.Entity - 203, // 177: minder.v1.EvaluationHistory.rule:type_name -> minder.v1.EvaluationHistory.Rule - 204, // 178: minder.v1.EvaluationHistory.status:type_name -> minder.v1.EvaluationHistory.Status - 206, // 179: minder.v1.EvaluationHistory.alert:type_name -> minder.v1.EvaluationHistory.Alert - 205, // 180: minder.v1.EvaluationHistory.remediation:type_name -> minder.v1.EvaluationHistory.Remediation - 22, // 181: minder.v1.PrDependencies.ContextualDependency.dep:type_name -> minder.v1.Dependency - 174, // 182: minder.v1.PrDependencies.ContextualDependency.file:type_name -> minder.v1.PrDependencies.ContextualDependency.FilePatch - 176, // 183: minder.v1.PrContents.File.patch_lines:type_name -> minder.v1.PrContents.File.Line - 86, // 184: minder.v1.AutoRegistration.EntitiesEntry.value:type_name -> minder.v1.EntityAutoRegistrationConfig - 78, // 185: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus - 80, // 186: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus - 81, // 187: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId - 180, // 188: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults - 208, // 189: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct - 208, // 190: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct - 185, // 191: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest - 186, // 192: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval - 187, // 193: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate - 188, // 194: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert - 110, // 195: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType - 111, // 196: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType - 112, // 197: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType - 113, // 198: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType - 114, // 199: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType - 189, // 200: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison - 190, // 201: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego - 191, // 202: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck - 192, // 203: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty - 193, // 204: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs - 110, // 205: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType - 195, // 206: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType - 196, // 207: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation - 199, // 208: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA - 194, // 209: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator - 194, // 210: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator - 197, // 211: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content - 198, // 212: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha - 208, // 213: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct - 208, // 214: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct - 4, // 215: minder.v1.EvaluationHistory.Entity.type:type_name -> minder.v1.Entity - 207, // 216: minder.v1.EvaluationHistory.Status.evaluated_at:type_name -> google.protobuf.Timestamp + 173, // 176: minder.v1.EvaluationHistory.entity:type_name -> minder.v1.EvaluationHistoryEntity + 174, // 177: minder.v1.EvaluationHistory.rule:type_name -> minder.v1.EvaluationHistoryRule + 175, // 178: minder.v1.EvaluationHistory.status:type_name -> minder.v1.EvaluationHistoryStatus + 177, // 179: minder.v1.EvaluationHistory.alert:type_name -> minder.v1.EvaluationHistoryAlert + 176, // 180: minder.v1.EvaluationHistory.remediation:type_name -> minder.v1.EvaluationHistoryRemediation + 4, // 181: minder.v1.EvaluationHistoryEntity.type:type_name -> minder.v1.Entity + 207, // 182: minder.v1.EvaluationHistoryStatus.evaluated_at:type_name -> google.protobuf.Timestamp + 22, // 183: minder.v1.PrDependencies.ContextualDependency.dep:type_name -> minder.v1.Dependency + 179, // 184: minder.v1.PrDependencies.ContextualDependency.file:type_name -> minder.v1.PrDependencies.ContextualDependency.FilePatch + 181, // 185: minder.v1.PrContents.File.patch_lines:type_name -> minder.v1.PrContents.File.Line + 86, // 186: minder.v1.AutoRegistration.EntitiesEntry.value:type_name -> minder.v1.EntityAutoRegistrationConfig + 78, // 187: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus + 80, // 188: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus + 81, // 189: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId + 185, // 190: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults + 208, // 191: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct + 208, // 192: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct + 190, // 193: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest + 191, // 194: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval + 192, // 195: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate + 193, // 196: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert + 110, // 197: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType + 111, // 198: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType + 112, // 199: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType + 113, // 200: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType + 114, // 201: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType + 194, // 202: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison + 195, // 203: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego + 196, // 204: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck + 197, // 205: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty + 198, // 206: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs + 110, // 207: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType + 200, // 208: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType + 201, // 209: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation + 204, // 210: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA + 199, // 211: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator + 199, // 212: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator + 202, // 213: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content + 203, // 214: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha + 208, // 215: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct + 208, // 216: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct 210, // 217: minder.v1.name:extendee -> google.protobuf.EnumValueOptions 211, // 218: minder.v1.rpc_options:extendee -> google.protobuf.MethodOptions 10, // 219: minder.v1.rpc_options:type_name -> minder.v1.RpcOptions @@ -17679,7 +17684,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[163].Exporter = func(v any, i int) any { - switch v := v.(*PrDependencies_ContextualDependency); i { + switch v := v.(*EvaluationHistoryEntity); i { case 0: return &v.state case 1: @@ -17691,7 +17696,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[164].Exporter = func(v any, i int) any { - switch v := v.(*PrDependencies_ContextualDependency_FilePatch); i { + switch v := v.(*EvaluationHistoryRule); i { case 0: return &v.state case 1: @@ -17703,7 +17708,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[165].Exporter = func(v any, i int) any { - switch v := v.(*PrContents_File); i { + switch v := v.(*EvaluationHistoryStatus); i { case 0: return &v.state case 1: @@ -17715,7 +17720,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[166].Exporter = func(v any, i int) any { - switch v := v.(*PrContents_File_Line); i { + switch v := v.(*EvaluationHistoryRemediation); i { case 0: return &v.state case 1: @@ -17727,7 +17732,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[167].Exporter = func(v any, i int) any { - switch v := v.(*RegisterRepoResult_Status); i { + switch v := v.(*EvaluationHistoryAlert); i { case 0: return &v.state case 1: @@ -17738,8 +17743,8 @@ func file_minder_v1_minder_proto_init() { return nil } } - file_minder_v1_minder_proto_msgTypes[170].Exporter = func(v any, i int) any { - switch v := v.(*ListEvaluationResultsResponse_EntityProfileEvaluationResults); i { + file_minder_v1_minder_proto_msgTypes[168].Exporter = func(v any, i int) any { + switch v := v.(*PrDependencies_ContextualDependency); i { case 0: return &v.state case 1: @@ -17750,8 +17755,8 @@ func file_minder_v1_minder_proto_init() { return nil } } - file_minder_v1_minder_proto_msgTypes[171].Exporter = func(v any, i int) any { - switch v := v.(*ListEvaluationResultsResponse_EntityEvaluationResults); i { + file_minder_v1_minder_proto_msgTypes[169].Exporter = func(v any, i int) any { + switch v := v.(*PrDependencies_ContextualDependency_FilePatch); i { case 0: return &v.state case 1: @@ -17762,8 +17767,8 @@ func file_minder_v1_minder_proto_init() { return nil } } - file_minder_v1_minder_proto_msgTypes[172].Exporter = func(v any, i int) any { - switch v := v.(*RestType_Fallback); i { + file_minder_v1_minder_proto_msgTypes[170].Exporter = func(v any, i int) any { + switch v := v.(*PrContents_File); i { case 0: return &v.state case 1: @@ -17774,8 +17779,8 @@ func file_minder_v1_minder_proto_init() { return nil } } - file_minder_v1_minder_proto_msgTypes[173].Exporter = func(v any, i int) any { - switch v := v.(*DiffType_Ecosystem); i { + file_minder_v1_minder_proto_msgTypes[171].Exporter = func(v any, i int) any { + switch v := v.(*PrContents_File_Line); i { case 0: return &v.state case 1: @@ -17786,8 +17791,8 @@ func file_minder_v1_minder_proto_init() { return nil } } - file_minder_v1_minder_proto_msgTypes[174].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition); i { + file_minder_v1_minder_proto_msgTypes[172].Exporter = func(v any, i int) any { + switch v := v.(*RegisterRepoResult_Status); i { case 0: return &v.state case 1: @@ -17799,7 +17804,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[175].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Ingest); i { + switch v := v.(*ListEvaluationResultsResponse_EntityProfileEvaluationResults); i { case 0: return &v.state case 1: @@ -17811,7 +17816,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[176].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval); i { + switch v := v.(*ListEvaluationResultsResponse_EntityEvaluationResults); i { case 0: return &v.state case 1: @@ -17823,7 +17828,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[177].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Remediate); i { + switch v := v.(*RestType_Fallback); i { case 0: return &v.state case 1: @@ -17835,7 +17840,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[178].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Alert); i { + switch v := v.(*DiffType_Ecosystem); i { case 0: return &v.state case 1: @@ -17847,7 +17852,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[179].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_JQComparison); i { + switch v := v.(*RuleType_Definition); i { case 0: return &v.state case 1: @@ -17859,7 +17864,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[180].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_Rego); i { + switch v := v.(*RuleType_Definition_Ingest); i { case 0: return &v.state case 1: @@ -17871,7 +17876,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[181].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_Vulncheck); i { + switch v := v.(*RuleType_Definition_Eval); i { case 0: return &v.state case 1: @@ -17883,7 +17888,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[182].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_Trusty); i { + switch v := v.(*RuleType_Definition_Remediate); i { case 0: return &v.state case 1: @@ -17895,7 +17900,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[183].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_Homoglyphs); i { + switch v := v.(*RuleType_Definition_Alert); i { case 0: return &v.state case 1: @@ -17907,7 +17912,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[184].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Eval_JQComparison_Operator); i { + switch v := v.(*RuleType_Definition_Eval_JQComparison); i { case 0: return &v.state case 1: @@ -17919,7 +17924,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[185].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Remediate_GhBranchProtectionType); i { + switch v := v.(*RuleType_Definition_Eval_Rego); i { case 0: return &v.state case 1: @@ -17931,7 +17936,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[186].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation); i { + switch v := v.(*RuleType_Definition_Eval_Vulncheck); i { case 0: return &v.state case 1: @@ -17943,7 +17948,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[187].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_Content); i { + switch v := v.(*RuleType_Definition_Eval_Trusty); i { case 0: return &v.state case 1: @@ -17955,7 +17960,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[188].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha); i { + switch v := v.(*RuleType_Definition_Eval_Homoglyphs); i { case 0: return &v.state case 1: @@ -17967,7 +17972,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[189].Exporter = func(v any, i int) any { - switch v := v.(*RuleType_Definition_Alert_AlertTypeSA); i { + switch v := v.(*RuleType_Definition_Eval_JQComparison_Operator); i { case 0: return &v.state case 1: @@ -17979,7 +17984,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[190].Exporter = func(v any, i int) any { - switch v := v.(*Profile_Rule); i { + switch v := v.(*RuleType_Definition_Remediate_GhBranchProtectionType); i { case 0: return &v.state case 1: @@ -17991,7 +17996,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[191].Exporter = func(v any, i int) any { - switch v := v.(*Profile_Selector); i { + switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation); i { case 0: return &v.state case 1: @@ -18003,7 +18008,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[192].Exporter = func(v any, i int) any { - switch v := v.(*EvaluationHistory_Entity); i { + switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_Content); i { case 0: return &v.state case 1: @@ -18015,7 +18020,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[193].Exporter = func(v any, i int) any { - switch v := v.(*EvaluationHistory_Rule); i { + switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha); i { case 0: return &v.state case 1: @@ -18027,7 +18032,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[194].Exporter = func(v any, i int) any { - switch v := v.(*EvaluationHistory_Status); i { + switch v := v.(*RuleType_Definition_Alert_AlertTypeSA); i { case 0: return &v.state case 1: @@ -18039,7 +18044,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[195].Exporter = func(v any, i int) any { - switch v := v.(*EvaluationHistory_Remediation); i { + switch v := v.(*Profile_Rule); i { case 0: return &v.state case 1: @@ -18051,7 +18056,7 @@ func file_minder_v1_minder_proto_init() { } } file_minder_v1_minder_proto_msgTypes[196].Exporter = func(v any, i int) any { - switch v := v.(*EvaluationHistory_Alert); i { + switch v := v.(*Profile_Selector); i { case 0: return &v.state case 1: @@ -18088,15 +18093,15 @@ func file_minder_v1_minder_proto_init() { file_minder_v1_minder_proto_msgTypes[157].OneofWrappers = []any{ (*ProviderParameter_GithubApp)(nil), } - file_minder_v1_minder_proto_msgTypes[167].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[174].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[175].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[176].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[177].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[178].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[172].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[179].OneofWrappers = []any{} file_minder_v1_minder_proto_msgTypes[180].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[186].OneofWrappers = []any{} - file_minder_v1_minder_proto_msgTypes[187].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[181].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[182].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[183].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[185].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[191].OneofWrappers = []any{} + file_minder_v1_minder_proto_msgTypes[192].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/proto/minder/v1/minder.proto b/proto/minder/v1/minder.proto index 26ea59108e..923492de38 100644 --- a/proto/minder/v1/minder.proto +++ b/proto/minder/v1/minder.proto @@ -2559,73 +2559,73 @@ message ListEvaluationHistoryResponse { } message EvaluationHistory { - message Entity { - // id is the ID of the entity. - string id = 1; + // entity contains details of the entity which was evaluated. + EvaluationHistoryEntity entity = 1; - // type is the entity type. - minder.v1.Entity type = 2; + // rule contains details of the rule which the entity was evaluated against. + EvaluationHistoryRule rule = 2; - // name is the entity name. - string name = 3; - } + // status contains the evaluation status. + EvaluationHistoryStatus status = 3; - message Rule { - // name is the name of the rule instance. - string name = 1; + // alert contains details of the alerts for this evaluation. + EvaluationHistoryAlert alert = 4; - // type is the name of the rule type. - string type = 2; + // remediation contains details of the remediation for this evaluation. + EvaluationHistoryRemediation remediation = 5; +} - // profile is the name of the profile which contains the rule. - string profile = 3; - } +message EvaluationHistoryEntity { + // id is the ID of the entity. + string id = 1; - message Status { - // status is one of (success, error, failure, skipped) - // not using enums to mirror the behaviour of the existing API contracts. - string status = 1; + // type is the entity type. + Entity type = 2; - // details contains optional details about the evaluation. - // the structure and contents are rule type specific, and are subject to change. - string details = 2; + // name is the entity name. + string name = 3; +} - // created_at is the timestamp of creation of this evaluation - google.protobuf.Timestamp evaluated_at = 3; - } +message EvaluationHistoryRule { + // name is the name of the rule instance. + string name = 1; - message Remediation { - // status is one of (success, error, failure, skipped, not available) - // not using enums to mirror the behaviour of the existing API contracts. - string status = 1; + // type is the name of the rule type. + string type = 2; - // details contains optional details about the remediation. - // the structure and contents are remediation specific, and are subject to change. - string details = 2; - } + // profile is the name of the profile which contains the rule. + string profile = 3; +} - message Alert { - // status is one of (on, off, error, skipped, not available) - // not using enums to mirror the behaviour of the existing API contracts. - string status = 1; +message EvaluationHistoryStatus { + // status is one of (success, error, failure, skipped) + // not using enums to mirror the behaviour of the existing API contracts. + string status = 1; - // details contains optional details about the alert. - // the structure and contents are alert specific, and are subject to change. - string details = 2; - } + // details contains optional details about the evaluation. + // the structure and contents are rule type specific, and are subject to change. + string details = 2; - // entity contains details of the entity which was evaluated. - EvaluationHistory.Entity entity = 1; + // created_at is the timestamp of creation of this evaluation + google.protobuf.Timestamp evaluated_at = 3; +} - // rule contains details of the rule which the entity was evaluated against. - EvaluationHistory.Rule rule = 2; +message EvaluationHistoryRemediation { + // status is one of (success, error, failure, skipped, not available) + // not using enums to mirror the behaviour of the existing API contracts. + string status = 1; - // status contains the evaluation status. - EvaluationHistory.Status status = 3; + // details contains optional details about the remediation. + // the structure and contents are remediation specific, and are subject to change. + string details = 2; +} - // alert contains details of the alerts for this evaluation. - EvaluationHistory.Alert alert = 4; +message EvaluationHistoryAlert { + // status is one of (on, off, error, skipped, not available) + // not using enums to mirror the behaviour of the existing API contracts. + string status = 1; - // remediation contains details of the remediation for this evaluation. - EvaluationHistory.Remediation remediation = 5; + // details contains optional details about the alert. + // the structure and contents are alert specific, and are subject to change. + string details = 2; }